负统一反馈系统具有前馈函数,定义为G (s) = 10K *(2s + 5)*(s^2 + 6s + 34)/((s + 7)*(50s^4 + 644s^3 + 996s^2 - 739s - 3559))系统的输入为r (t) = u (t)。你将需要提供一个Matlab代码来找在二阶近似的条件下且在未补偿的条件下的补偿值、主导极点增益K 、输出函数c(t)的最大值、 输出函数c(t)的最终值、 阻尼比、 固有频率ωn 、%OS、 输出函数c(t)趋于稳定的时间,输出函数c(t)达到峰值的时间、稳态误差。
时间: 2024-03-16 19:40:54 浏览: 11
好的,以下是Matlab代码:
```matlab
num = 10*K*[2 5]*[1 6 34];
den = conv([1 7], [50 644 996 -739 -3559]);
G = tf(num, den);
% 二阶近似
wn = sqrt(den(end-2)/50);
damping = (den(end-1)/2)/wn;
OS = exp((-damping*pi)/sqrt(1-damping^2))*100;
tp = pi/(wn*sqrt(1-damping^2));
ts = 4/(damping*wn);
% 求解K
s = tf('s');
Kp = (s+7)*G;
K = abs(real(max(pole(Kp))));
% 求解补偿值
T = 1/(wn*sqrt(1-damping^2));
alpha = 2.2/T;
compensation = alpha/(s+alpha);
% 求解输出函数c(t)
sys = feedback(series(G, compensation), 1);
t = 0:0.01:50;
[y,t] = step(sys,t);
% 输出结果
disp(['补偿值:', num2str(alpha)]);
disp(['主导极点增益K:', num2str(K)]);
disp(['输出函数c(t)的最大值:', num2str(max(y))]);
disp(['输出函数c(t)的最终值:', num2str(y(end))]);
disp(['阻尼比:', num2str(damping)]);
disp(['固有频率ωn:', num2str(wn)]);
disp(['%OS:', num2str(OS)]);
disp(['输出函数c(t)趋于稳定的时间:', num2str(ts)]);
disp(['输出函数c(t)达到峰值的时间:', num2str(tp)]);
disp(['稳态误差:', num2str(1/(1+dcgain(sys)))]);
```
请注意,以上代码仅能作为参考,具体结果会根据输入的K值不同而有所变化。