如何让Matlab在Nyquist图中显示大趋势?

21次浏览(过去30天)
Matlab在大多数情况下都可以绘制Nyquist图,但是当有一个天文数字的高值时,Matlab无法识别Nyquist图的全球趋势,给出的结果是没有用的。
这是我找到的一个例子。
clc
清晰的
S = tf(“年代”);
分子变化
N = 1;
%变化
D = s^4*(s+2);
H = n / d
尼奎斯特(H)
网格
这将产生:
我所期待的是这样的。
Matlab给出的图并不用于分析,因为第二张图中的大循环对系统的稳定性分析有很大的影响。
另一个例子:
clc
清晰的
S = tf(“年代”);
%---------------------%
分子变化
N = (s+1);
%变化
D = s²*(s+2);
%---------------------%
H = n / d
尼奎斯特(H)
网格
Matlab给出的
我一直在期待这样的事情
同样,matlab的输出是没有用的。
我想知道Matlab是否有办法智能地表示这样的东西。

答案(1)

克里斯托弗McCausland
克里斯托弗McCausland 2021年7月20日
嗨Zizhuo,
你是正确的,考虑一个系统L(s);当L(s)在原点有两个极点时,将在L(s)域中给出一个半径为无穷大的360度顺时针路径。MATLAB本身只会显示这个内部,而忽略了360度循环。这是有道理的,因为绘制一个无限大的循环对计算机来说是一项艰巨的任务。此外,创建这样一个360度循环将表明系统本身是不稳定的,因此没有多大用处(除非作为论文或类似的证据)。
有一些开发的MATLAB文件交换包,可以帮助你,如 这一个
如果有帮助就告诉我
克里斯多夫

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!