How to plot |z| in a pole-zero map of a discrete time system ?
9 次查看(过去 30 天)
显示 更早的评论
Hi,
I am trying to plot a pole-zero map of a discrete time system. I have used pzmap(mysys) and zgrid(zeta,wn2) to create my plot, where zeta = 0.5038 and wn2 = 0.2906 and I get this plot (see "My_Plot). But I also want to plot | z | = exp(-zeta*wn*T) and make my graph look more like "Desired_Plot". Any help would be greatly appreciated.
0 个评论
回答(1 个)
Satwik
2025-3-28,10:54
To enhance the pole-zero plot and include the contour '| z | = exp(-zeta*wn*T)', we can use the 'fimplicit' function. Here is a sample MATLAB script demonstrating its usage:
% Define your discrete-time system
mysys = zpk([], [0.5 + 0.5i, 0.5 - 0.5i], 1, 0.1); % Example system, replace with your system
% Define parameters
zeta = 0.5038;
wn2 = 0.2906;
T = 0.1; % Sampling time, replace with your system's sampling time
% Plot the pole-zero map
figure;
pzmap(mysys);
hold on;
% Add zgrid with specific zeta and wn2
zgrid(zeta, wn2);
% Plot the contour |z| = exp(-zeta*wn*T)
r = exp(-zeta * wn2 * T);
fimplicit(@(x,y) sqrt(x.^2 + y.^2) - r, [-1.5, 1.5, -1.5, 1.5], 'LineStyle', '--', 'Color', 'r');
% Enhance plot appearance
title('Enhanced Pole-Zero Map');
xlabel('Real Part');
ylabel('Imaginary Part');
axis equal; % Keep the aspect ratio equal for better visualization
grid on;
hold off;
Please refer to the following documentation for more information on the 'implicit' fucntion: https://www.mathworks.com/help/matlab/ref/fimplicit.html
I hope this helps!
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Uncertainty Analysis 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!