How to plot |z| in a pole-zero map of a discrete time system ?
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponses (1)
Satwik
le 28 Mar 2025
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 commentaires
Voir également
Catégories
En savoir plus sur Pole and Zero Locations dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!