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 visualización (últimos 30 días)
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;
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.

Respuesta aceptada

Benjamin Kraus
Benjamin Kraus el 8 de Jul. de 2022
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 comentarios
Benjamin Kraus
Benjamin Kraus el 15 de Ag. de 2022
To expand on @Torsten's answer: The doc page for polyval explains the input to polyval:
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:
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:
Because equals 0, that reduces to
But, you can clearly see the first element of the vector is treated significantly differently with and without the zero.

Iniciar sesión para comentar.

Más respuestas (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by