Extracting values from Nyquist Diagram in a personalized way
2 次查看(过去 30 天)
显示 更早的评论
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:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/479533/image.jpeg)
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:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/479538/image.jpeg)
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 个评论
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!