资源描述
实验 控制系统的模型转换
一.实验目的:
掌握控制系统的微分方程、状态方程、传递函数、零极点增益、部分分式描述及转换;掌握常用数据拟合与插值方法。
二.实验方法及预习内容:
1.利用Matlab工具箱中常用的五种模型转换命令进行模型描述和转换;
2.利用Matlab工具箱中的多项式拟合命令对实验数据进行拟合。
三.实验内容:
1.用Matlab语言求下列系统的状态方程、传递函数、零极点增益、和部分分式形式的模型参数,并分别写出其相应的数学模型表达式:
(1) G(s)=
程序:
num=[1 14 48 48];
den=[1 20 70 100 48];
[A,B,C,D]=tf2ss(num,den)
[Z,P,K]=tf2zp(num,den)
[R,P,H]=residue(num,den)
sys=ZPK(Z,P,K)
sys=ss(A,B,C,D)
运行结果:
A =
-20 -70 -100 -48
1 0 0 0
0 1 0 0
0 0 1 0
B =
1
0
0
0
C =
1 14 48 48
D =
0
Z =
-9.4641
-2.5359
-2.0000
P =
-16.0051
-1.5269 + 0.9247i
-1.5269 - 0.9247i
-0.9412
K =
1
R =
0.3892
-0.0932 - 0.3754i
-0.0932 + 0.3754i
0.7973
P =
-16.0051
-1.5269 + 0.9247i
-1.5269 - 0.9247i
-0.9412
H =
[]
Zero/pole/gain:
(s+9.464) (s+2.536) (s+2)
-------------------------------------------
(s+16.01) (s+0.9412) (s^2 + 3.054s + 3.187)
a =
x1 x2 x3 x4
x1 -20 -70 -100 -48
x2 1 0 0 0
x3 0 1 0 0
x4 0 0 1 0
b =
u1
x1 1
x2 0
x3 0
x4 0
c =
x1 x2 x3 x4
y1 1 14 48 48
d =
u1
y1 0
Continuous-time model.
(2) =
y=[0 2 0 2] X
程序:
A=[2.25 -5 -1.25 -0.5;2.25 -4.25 -1.25 -0.25;0.25 -0.5 -1.25 -1;1.25 -1.75 -0.25 -0.75];
B=[4;2;2;0];
C=[0 2 0 2];
D=[0];
[num,den]=ss2tf(A,B,C,D)
[Z,P,K]=ss2zp(A,B,C,D)
[R,P,H]=residue(num,den)
sys=tf(num,den)
sys=ZPK(Z,P,K)
运行结果:
num =
0 4.0000 14.0000 22.0000 15.0000
den =
1.0000 4.0000 6.2500 5.2500 2.2500
Z =
-1.0000 + 1.2247i
-1.0000 - 1.2247i
-1.5000
P =
-0.5000 + 0.8660i
-0.5000 - 0.8660i
-1.5000
-1.5000
K =
4.0000
R =
4.0000
-0.0000
0.0000 - 2.3094i
0.0000 + 2.3094i
P =
-1.5000
-1.5000
-0.5000 + 0.8660i
-0.5000 - 0.8660i
H =
[]
Transfer function:
4 s^3 + 14 s^2 + 22 s + 15
--------------------------------------
s^4 + 4 s^3 + 6.25 s^2 + 5.25 s + 2.25
Zero/pole/gain:
4 (s+1.5) (s^2 + 2s + 2.5)
--------------------------
(s+1.5)^2 (s^2 + s + 1)
2.已知元件的实验数据如下,拟合这一数据,并尝试给出其特性方程。
X
0.0100
1.0100
2.0100
3.0100
4.0100
Y
2.5437
7.8884
9.6242
11.6071
11.9727
X
5.0100
6.0100
7.0100
8.0100
9.0100
y
13.2189
14.2679
14.6134
15.4045
15.0805
采用一元线性回归:
X=[0.0100 1.0100 2.0100 3.0100 4.0100 5.0100 6.0100 7.0100 8.0100 9.0100]';
Y=[2.5437 7.8884 9.6242 11.6071 11.9727 13.2189 14.2679 14.6134 15.4045 15.0805]';
N=2;
x=[ones(10,1) X]
[b,bint,r,rint,stats]=regress(Y,x)
for i=1:1:10
h(i)=1.2098*i+6.1659;
end
plot(X,Y,'*',X,h)
实验结果:
b =6.1659 1.2098
拟合优度:0.8314
采用非线性回归:
X=[0.0100 1.0100 2.0100 3.0100 4.0100 5.0100 6.0100 7.0100 8.0100 9.0100]';
Y=[2.5437 7.8884 9.6242 11.6071 11.9727 13.2189 14.2679 14.6134 15.4045 15.0805]';
N=2;
polyfit(X,Y,N)
for i=1:1:10
h(i)=-0.1905*i*i+2.9283*i+3.8625;
end
plot(X,Y,'*',X,h)
得到的结果:
ans = -0.1905 2.9283 3.8625
展开阅读全文