MATLAB Answers

Extracting values from Nyquist Diagram in a personalized way

조회 수: 2(최근 30일)
Leo 2021년 1월 5일
댓글: Jon 2021년 1월 8일
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
Jon 2021년 1월 8일
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 :)

댓글을 달려면 로그인하십시오.

채택된 답변

Jon 2021년 1월 5일
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

추가 답변(0개)

Community Treasure Hunt

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

Start Hunting!

Translated by