matlab设计控制理论系统模型

创建传递函数模型

使用分子分母的多项式表示

\[ H(s)=\frac{s}{s^2+2s+10} \]

num = [ 1  0 ];       % Numerator: s
den = [ 1  2  10 ];   % Denominator: s^2 + 2 s + 10
H = tf(num,den)

也可以用拉普拉斯变量s来创建

s = tf('s');        % Create Laplace variable
H = s / (s^2 + 2*s + 10)

链接两个模型

序列链接H1和H2

H = H2 * H1

平行链接H1和H2

H = H2 + H1

反馈链接H1和H2,默认负反馈

H = feedback(H1,H2) %Assumes negative feedback by defaul
H = feedback(H1,H2,+1);

使用feedback比直接使用公式要好因为可以避免poles的丢失而保证精度。

一个闭环系统的例子:

s = tf('s');
F = 1/(s+1);
G = 100/(s^2+5*s+100);
C = 20*(s^2+s+60)/s/(s^2+40*s+400);
S = 10/(s+10);
%Compute it
T = F * feedback(G*C,S);
step(T), grid

分析时域响应

可以绘制阶跃响应和冲击响应使用step和impulse

sys = tf([8 18 32],[1 6 14 24])
subplot(2,1,1)
step(sys)
subplot(2,1,2)
impulse(sys)

使用stepinfo查看阶跃响应特征

S = stepinfo(sys)

Root Locus

绘制root locus

rlocus(sys)
sgird()
posted @ 2022-11-13 00:06  溡沭  阅读(99)  评论(0编辑  收藏  举报