Plot Specific Points on Nichols Chart

3 次查看(过去 30 天)
I am currently trying to plot specfic points onto a Nichols chart so that I can find the limit cycle for the original system.
The gain and phase co-ords have been included below:
I am trying to add these to this Nichols plot:
Any help would be appreciated.
  2 个评论
Dyuman Joshi
Dyuman Joshi 2024-4-2
Use hold on and add points. Works with both nichols and nicholsplot.
What seems to be the problem/issue?
Amaan Mahmood
Amaan Mahmood 2024-4-2
编辑:Amaan Mahmood 2024-4-2
I've been trying to plot these co-ordinates using the nichols and nicholsplot function but I cannot seem to make it work. I've used the hold command with little success. I've attached the code I've been using, it gets them on the same plot, however the second plot is no correct I've checked this by completing the nichols plot by hand and I get different results.
clear all, close all, clc
AbsN = [-4.609, -13.9794, -17.5012, -18.8897, -19.5545, -19.8245, -15.4170, -7.6042, -1.5836]; % Absolute Value -1/N
AngN = [-123, -150, -166, -173, -177, -179, -179, -180, -180]; % Angle of -1/N in degrees
K = 0.528;
T = 1.5;
Gc = 1;
PwrAmp = 10;
Mtr = 5;
Grs = 0.2;
Flp = tf(K, [T 1 0]);
OpenLoop = (Gc*PwrAmp*Mtr*Grs*Flp);
hold on
nichols(OpenLoop)
nichols (AbsN, AngN)
hold off
CloseLoop = feedback(OpenLoop, 1);

请先登录,再进行评论。

采纳的回答

Paul
Paul 2024-4-2
Hi Amaan,
The input to nichols has to be an a dynamic system model. So either you have to convert AbsN and AngN to such a model and then call nichols, or just plot the dat on the Nichols chart. The code below does both just to illustratre. I assumed that AbsN is already in dB. I assigned an arbiitrary frequency vector to create the frd object for purposes of the Nichols plot, but it would be better to use the actualy frequency vector, if you have it, in case you want to use the frd object for other purposes.
AbsN = [-4.609, -13.9794, -17.5012, -18.8897, -19.5545, -19.8245, -15.4170, -7.6042, -1.5836]; % Absolute Value -1/N
AngN = [-123, -150, -166, -173, -177, -179, -179, -180, -180]; % Angle of -1/N in degrees
K = 0.528;
T = 1.5;
Gc = 1;
PwrAmp = 10;
Mtr = 5;
Grs = 0.2;
Flp = tf(K, [T 1 0]);
OpenLoop = (Gc*PwrAmp*Mtr*Grs*Flp);
hold on
nichols(OpenLoop)
%nichols(AbsN,AngN)
nichols(frd(10.^(AbsN/20).*exp(1j*AngN*pi/180),0:8))
plot(AngN,AbsN,'o')
hold off

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Time and Frequency Domain Analysis 的更多信息

产品


版本

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by