How can I plot this function such as all values of |f(1/z)| be more clear and how can I plot the cosine of the phase of this function ?
1 回表示 (過去 30 日間)
古いコメントを表示
When I plot this function (thanks for every help).
f(1/z) = (0.1000 -0.3000i)z^-1 + (0.2121-0.0008i)z^-2 + (-0.9000-0.0010i)z^-3
I want to study time evolution of this functions, but I have got from its figure that:
1-the |f(1/z)| seems to take zero every where exept at z=o when it goes to infiniy, even when I tried to change the values of z , I always get the same graph
My questions are:
1:How can I plot this figure such that all values of z in the plane appeare more clear to enable me to study its movement over time?
2- How can I plot the cos for the phase of f(1/z) to get more cleare plotting of the phase of this function?
p1=[(0.9000+0.0010i) (0.2121-0.0008i) (0.1000 -0.3000i)];
This is the figure of |f(1/z)| and the phase of f(1/z)
I used this link:
re_z = -6.005:.01:6.005;![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1058870/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1058870/image.png)
im_z= -6.005:.01:6.005;
[re_z,im_z] = meshgrid(re_z,im_z);
z = re_z + 1i*im_z;
xlabel('x')
ylabel('y')
f_of_1_over_z_result = polyval(p1,1./z);
figure();
subplot(2,2,3)
surf(re_z,im_z,abs(f_of_1_over_z_result),'EdgeColor','none')
colorbar
title('|f(1/z)|')
xlabel('Z_R')
ylabel('Z_I')
subplot(2,2,4)
surf(re_z,im_z,angle(f_of_1_over_z_result),'EdgeColor','none')
colorbar
title('phase of f(1/z)')
xlabel('Z_R')
ylabel('Z_I')
grid on
I appriciate any help.
0 件のコメント
採用された回答
Benjamin Kraus
2022 年 7 月 8 日
It looks like the nearly infinite value in your data is drowning out the remaining data. You can fix this by changing the z-limits and color limits, using the zlim and caxis commands.
For example:
% Prepare the data for plotting
p1=[(0.9000+0.0010i) (0.2121-0.0008i) (0.1000 -0.3000i)];
re_z = -6.005:.01:6.005;
im_z= -6.005:.01:6.005;
[re_z,im_z] = meshgrid(re_z,im_z);
z = re_z + 1i*im_z;
f_of_1_over_z_result = polyval(p1,1./z);
% Create first picture
nexttile
surf(re_z,im_z,abs(f_of_1_over_z_result),'EdgeColor','none')
colorbar
title('|f(1/z)|')
xlabel('Z_R')
ylabel('Z_I')
zlim([0 4]) % Adjust this value as needed
caxis([0 4]) % Adjust this value as needed
%%
nexttile
surf(re_z,im_z,angle(f_of_1_over_z_result),'EdgeColor','none')
colorbar
title('phase of f(1/z)')
xlabel('Z_R')
ylabel('Z_I')
grid on
9 件のコメント
Benjamin Kraus
2022 年 8 月 15 日
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1098600/image.png)
In the first case (without the 0) you have three elements in your vector, which defines a quadratic polynomial (n==2) and the polynomial becomes:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1098605/image.png)
In the second case (with the 0) you have four elements in your vector, which defines a cubic polynomial (n==3) and the polynomial becomes:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1098610/image.png)
Because
equals 0, that reduces to ![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1098620/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1098615/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1098620/image.png)
But, you can clearly see the first element of the vector is treated significantly differently with and without the zero.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Multirate Signal Processing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!