《控制系统计算机仿真》上机实验报告宋峰.docx
- 文档编号:3435583
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:21
- 大小:169.47KB
《控制系统计算机仿真》上机实验报告宋峰.docx
《《控制系统计算机仿真》上机实验报告宋峰.docx》由会员分享,可在线阅读,更多相关《《控制系统计算机仿真》上机实验报告宋峰.docx(21页珍藏版)》请在冰豆网上搜索。
《控制系统计算机仿真》上机实验报告宋峰
兰州理工大学
《控制系统计算机仿真》上机实验报告
院系:
电信学院
班级:
控制工程基地一班
姓名:
宋峰
学号:
10230126
时间:
2013年05月05日
电气工程与信息工程学院
2-2用MATLAB语言求下列系统的状态方程、传递函数、零极点增益和部分分式形式的模型参数,并分别写出其相应的数学模型表达式:
(1)
(2)
解:
1)
(1)状态方程程序如下:
num=[1,7,24,24];
den=[1,10,35,50,24];
[A,B,C,D]=tf2ss(num,den)
运行结果如下:
A=
-10-35-50-24
1000
0100
0010
B=
1
0
0
0
C=
172424
D=
0
a=
x1x2x3x4
x40
c=
x1x2x3x4
y1172424
d=
u1
y10
(2)传递函数程序如下:
num=[1,7,24,24];
den=[1,10,35,50,24];
G=tf(num,den)
运行结果如下:
Transferfunction:
s^3+7s^2+24s+24
---------------------------------
s^4+10s^3+35s^2+50s+24
(3)零极点增益程序如下:
z=[1,7,24,24];
den=[1,10,35,50,24];
[z,p,k]=tf2zp(num,den)
运行结果如下:
z=
-2.7306+2.8531i
-2.7306-2.8531i
-1.5388
p=
-4.0000
-3.0000
-2.0000
-1.0000
k=
1
Zero/pole/gain:
(s+1.539)(s^2+5.461s+15.6)
--------------------------------
(s+4)(s+3)(s+2)(s+1)
(4)部分分式形式程序如下:
z=[1,7,24,24];
den=[1,10,35,50,24];
[R,P,H]=residue(num,den)
运行结果如下:
R=
4.0000
-6.0000
2.0000
1.0000
P=
-4.0000
-3.0000
-2.0000
-1.0000
H=
[]
G=
1.00007.000024.000024.0000
2)程序如下:
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=[0202];
d=[0];
[num,den]=ss2tf(a,b,c,d)
[z,p,k]=ss2zp(a,b,c,d)
[r,p,k]=residue(num,den)
G=ss(a,b,c,d)
G1=zpk(G)
G2=tf(G)
运行结果如下:
num=
04.000014.000022.000015.0000
den=
1.00004.00006.25005.25002.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
k=
[]
num=
04.000014.000022.000015.0000
den=
1.00004.00006.25005.25002.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
k=
[]
a=
x1x2x3x4
x12.25-5-1.25-0.5
x22.25-4.25-1.25-0.25
x30.25-0.5-1.25-1
x41.25-1.75-0.25-0.75
b=
u1
x14
x22
x32
x40
c=
x1x2x3x4
y10202
d=
u1
y10
Continuous-timemodel.
Zero/pole/gain:
4(s+1.5)(s^2+2s+2.5)
---------------------------
(s+1.5)^2(s^2+s+1)
Transferfunction:
4s^3+14s^2+22s+15
--------------------------------------
s^4+4s^3+6.25s^2+5.25s+2.25
2-3用殴拉法求下列系统的输出响应
在
上,
时的数值解。
,
要求保留4位小数,并将结果与真解
比较。
解:
(1)求解函数
程序如下:
h=0.1;
disp('函数的数值解为')
disp('y=');
y=1;
fort=0:
h:
1
m=y;
disp(y);
y=m-m*h;
end
运行结果如下:
函数的数值解为
y=
1
0.9000
0.8100
0.7290
0.6561
0.5905
0.5314
0.4783
0.4305
0.3874
0.3487
(2)求解函数
程序如下:
h=0.1;
disp('函数的离散解为')
disp('y=');
y=1;
fort=0:
h:
1
y=exp(-t);
disp(y);
end
运行结果如下:
函数的离散解为
y=
1
0.9048
0.8187
0.7408
0.6703
0.6065
0.5488
0.4966
0.4493
0.4066
0.3679
对比两个函数运行的结果可知:
近似值相对于真值来说,要比真值小。
2-5用四阶龙格-库塔梯形法求解2-3的数值解,并通过与真值及殴拉法的比较,分析其精度。
解:
四阶龙格-库塔梯形法求解程序如下:
h=0.1;
disp('四阶龙格.库塔方法求解解为');
disp('y=');
y=1;
fort=0:
h:
1
disp(y);
k1=-y;
k2=-(y+k1*h/2);
k3=-(y+k2*h/2);
k4=-(y+k3*h);
y=y+(k1+2*k2+2*k3+k4)*h/6;
end
运行结果如下:
四阶龙格.库塔方法求解解为
y=
1
0.9048
0.8187
0.7408
0.6703
0.6065
0.5488
0.4966
0.4493
0.4066
0.3679
与题(2.3)对比可知:
运用四阶龙格.库塔方法所得的结果比近似值所得的结果大,与真值所得的结果一样,因此,运用四阶龙格.库塔方法求解较精确。
第三章
3-2设典型闭环结构控制系统如下图所示,当阶跃输入幅值
时,用sp3_1.m求取输出y(t)的响应。
解:
用Simulink连线求解图如下图示:
运行结果如下所示:
3-5下图中,若各环节传递函数已知为:
;
;
;
;
;
;
;
;
;但
;重新列写链接矩阵W、W0和非零元素阵Wu,将程序sp3_2.m完善后,应用此程序求输出
的响应曲线。
解:
(1)根据图中
拓扑连结关系,可写出每个环节输入
受哪些环节输出
的影响,
现列如入下:
把环节之间的关系和环节与参考输入的关系分别用矩阵表示出来,
即
=
,
=
,
(2)
P=[10.0110;00.08510.17;10.0110;00.05110.15;10.0067700;10.150.210;011300;10.010.10;10.010.00440];
W=[000000000;10000000-1;010000000;0010000-10;000100000;000010-0.21200;000001000;000001000;000000100];
W0=[1;0;0;0;0;0;0;0;0];
n=9;
Y0=1;
Yt0=[000000000];
h=0.01;
L1=10;
T0=0;
Tf=20;
nout=7;
A=diag(P(:
1));
B=diag(P(:
2));
C=diag(P(:
3));
D=diag(P(:
4));
Q=B-D*W;Qn=inv(Q);
R=C*W-A;V1=C*W0;
Ab=Qn*R;b1=Qn*V1;
Y=Yt0';y=Y(nout);t=T0;
N=round((Tf-T0)/(h*L1));
fori=1:
N
forj=1:
L1;
K1=Ab*Y+b1*Y0
K2=Ab*(Y+h*K1/2)+b1*Y0
K3=Ab*(Y+h*K2/2)+b1*Y0
K4=Ab*(Y+h*K3)+b1*Y0
Y=Y+h*(K1+2*K2+2*K3+K4)/6;
end
y=[y,Y(nout)];
t=[t,t(i)+h*L1];
end
[t',y']
plot(t,y)
程序运行结果如下:
3-7.用离散相似法仿真程序sp3_4.m重求上题输出
的数据与曲线,并与四阶龙格-库塔法比较精度。
解:
P=[10.0110;00.08510.17;10.0110;00.05110.15;10.0067700;10.150.210;011300;10.010.10;10.010.00440];
W=[000000000;10000000-1;010000000;0010000-10;000100000;000010-0.21200;000001000;000001000;000000100];
W0=[1;0;0;0;0;0;0;0;0];
n=9;
Y0=1;
Yt0=[000000000];
h=0.01;
L1=10;
T0=0;
Tf=20;
nout=7;
A=diag(P(:
1));B=diag(P(:
2));
C=diag(P(:
3));D=diag(P(:
4));
fori=1:
n
if(A(i)==0);
FI(i)=1;
FIM(i)=h*C(i)/B(i);
FIJ(i)=h*h*C(i)/B(i)/2;
FIC(i)=1;FID(i)=0;
if(D(i)~=0);
FID(i)=D(i)/B(i);
else
end
else
FI(i)=exp(-h*A(i)/B(i));
FIM(i)=(1-FI(i))*C(i)/A(i);
FIJ(i)=h*C(i)/A(i)-FIM(i)*B(i)/A(i);
FIC(i)=1;FID(i)=0;
if(D(i)~=0);
FIC(i)=C(i)/D(i)-A(i)/B(i);
FID(i)=D(i)/B(i);
else
end
end
end
Y=zeros(n,1);X=Y;y=0;Uk=zeros(9,1);Ub=Uk;
t=T0:
h*L1:
Tf;N=length(t);
fork=1:
N-1
forl=1:
L1
Ub=Uk;
Uk=W*Y+W0*Y0;
Udot=(Uk-Ub)/h;
Uf=2*Uk-Ub;
X=FI'.*X+FIM'.*Uk+FIJ'.*Udot;
Y=FIC'.*X+FID'.*Uf;
end
y=[y,Y(nout)];
end
plot(t,y)
holdon
Q=B-D*W;Qn=inv(Q);
R=C*W-A;V1=C*W0;
Ab=Qn*R;b1=Qn*V1;
Y=Yt0';y=Y(nout);t=T0;
N=round(Tf-T0)/(h*L1);
fori=1:
N
forj=1:
L1;
K1=Ab*Y+b1*Y0
K2=Ab*(Y+h*K1/2)+b1*Y0
K3=Ab*(Y+h*K2/2)+b1*Y0
K4=Ab*(Y+h*K3)+b1*Y0
Y=Y+h*(K1+2*K2+2*K3+K4)/6;
end
y=[y,Y(nout)];
t=[t,t(i)+h*L1];
end
[t',y']
plot(t,y,'*r')
程序运行结果如下:
3-8求下图非线性系统的输出响应y(t),并与无非线性环节情况进行比较。
解:
用Simulink求解,如下图所示:
运行结果如下图所示:
经过比较可以看出,加入了非线性环节后,相应的上升时间加大,超调量也变大但调节时间减少。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 控制系统计算机仿真 控制系统 计算机 仿真 上机 实验 报告