MATLAB Answers

Extracting values from Nyquist Diagram in a personalized way

1 view (last 30 days)
Leo
Leo on 5 Jan 2021
Commented: Jon on 8 Jan 2021
Hello,
I have extracted data from my nyquist plot with the following code:
linearSystemAnalyzer('nyquist',(zp+zt)); %zp+zt is my transfer function
lowerbound = 20*pi;
upperbound = 50000*pi;
increase_amount_of_Values = linspace(lowerbound,upperbound,5000);
[re,im] = nyquist(zp+zt, increase_amount_of_Values);
Re = squeeze(re);
Im = squeeze(im);
The following figure shows the Nyquist plot:
The problem is, that the only values I get are where the imaginary part of the Nyquist plot goes to infinity. So I extract 5000 times values which have a real part close to Re=6.5723 and the respectively associated imaginary part which goes to infinity.
This is how it looks for all 5000 values of the real part:
However I want to have values which cover the entire Nyquist plot. How can I prevent the "system" from only considering the values near Re=6.5723?
Has anybody an idea how to figure this out?
Thanks very much!
  4 Comments
Jon
Jon on 8 Jan 2021
I saw that too, but just thought I'd point it out to help clarify. It was a case of two wrongs making a right :)

Sign in to comment.

Accepted Answer

Jon
Jon on 5 Jan 2021
Without seeing your whole code it is a little difficult to be sure what the problem is, but it is most likely that the range of frequencies that your are evaluating the nyquist frequencies is starting at too large a frequency value.
Note that the Nyquist plot that you show is not generated by your call
[re,im] = nyquist(zp+zt, increase_amount_of_Values)
as calling nyquist with left hand arguments will not produce a plot.
So you are probably looking at an overall plot with autoscaled frequency ranges from an earlier call to nyquist. This may be leading you to believe that the range of frequencies you are using are appropriate.
I would suggest first calling nyquist without left hand arguments but using what you think are a good range of frequency points. You will then see from your plot whether the range is appropriate.
Once you determine an appropriate range of frequencies you can call nyquist with left hand arguments to get the values you need

More Answers (0)

Community Treasure Hunt

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

Start Hunting!