MATLAB 与 WolframAlpha 和 AstromMurray 之间的差异(最小阶段)

信息处理 matlab 阶段 预兆
2022-02-22 08:32:33

当我在matlab中绘制我的传递函数的相位时,我遇到了以下问题,我得到它从360开始,而使用wolfram它给我0,如果我在astromurray中进行计算,它给我系统也从0开始,a 是由于这种差异造成的,正确的图表是什么。从已经非常感谢了。问候。

TF=(100s)2(s+1)2

在此处输入图像描述

在此处输入图像描述 在此处输入图像描述

1个回答

无论您在 Matlab 中做什么似乎都是错误的。

如果您正确编码,Matlab 获得正确的结果没有问题

%% Angle of a transfer function
s = 1i*logspace(-1,3,1000); % s-plane frequency vector
fx = ((100-s).^2)./((s+1).^2); % transfer function
% calculate and unwrap angle and plot it
semilogx(abs(s),unwrap(angle(fx)/pi*180));
grid('on');
xlabel('Frequency');
ylabel('Phase in degree');

在此处输入图像描述