How to plot |z| in a pole-zero map of a discrete time system ?

3 ビュー (過去 30 日間)
jefazo jefazo
jefazo jefazo 2020 年 10 月 14 日
回答済み: Satwik 2025 年 3 月 28 日
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.

回答 (1 件)

Satwik
Satwik 2025 年 3 月 28 日
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!

カテゴリ

Help Center および File ExchangePole and Zero Locations についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by