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 Kommentare

Dyuman Joshi
Dyuman Joshi am 2 Apr. 2024
Use hold on and add points. Works with both nichols and nicholsplot.
What seems to be the problem/issue?
Amaan Mahmood
Amaan Mahmood am 2 Apr. 2024
Bearbeitet: Amaan Mahmood am 2 Apr. 2024
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);

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Paul
Paul am 2 Apr. 2024

0 Stimmen

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

Weitere Antworten (0)

Kategorien

Mehr zu Mathematics finden Sie in Hilfe-Center und File Exchange

Produkte

Version

R2023b

Gefragt:

am 1 Apr. 2024

Beantwortet:

am 2 Apr. 2024

Community Treasure Hunt

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

Start Hunting!

Translated by