中国矿业大学《控制系统计算机仿真》实验试题及仿真程序及结果.doc
实验一
(教材P37页 例2.1)已知一阶微分方程:
试编写程序,用欧拉法求 ,即 的值;并画出图形。
解:程序如下:
clc
clear
Tf=input('仿真时间Tf='); %输入仿真时间
h=input('计算步长h='); %输入仿真步长
x0=1/3; t=0; x=x0; %输入初始值
for i=1:Tf/h
K1=-30*x0;
x1=x0+h*K1;
x=[x;x1]; %变量以向量形式保存
t=[t;t(i)+h]; %对应时刻以向量形式保存
x0=x1;
end
[t,x] %以数据形式输出
plot(t,x) %以曲线形式输出
所绘图形如下:
2、2. (教材P79习题2.5)已知系统的状
态方程和输出方程为:
式中 u(t)=1(t)。初始条件为:
x1(0)=x2(0)=x3(0)=0。取h=0.05,
试用RK4法求t=0.5时的y 值。
解:程序如下:
clc
clear
u=1;
x0=0; t=0;y=0;
x0=[0;0;0];
A=[-8 1 0;-19 0 1;-12 0 0];
B=[0;4;10];
C=[1 0 0];
Tf=input('仿真时间Tf=');
h=input('计算步长h=');
x=x0;
for i=1:Tf/h
K1=A*x+B*u;
K2=A*(x+h*K1/2)+B*u;
K3=A*(x+h*K2/2)+B*u;
K4=A*(x+h*K3)+B*u;
x=x+h*(K1+2*K2+2*K3+K4)/6;
y=[y;C*x];
t=[t;t(i)+h];
end
y
plot(t,y)
所绘图形如下:
已知系统的传递函数,
试求其状态方程及输出方程。
(教材P26页 习题1.7 )
解:程序如下:
den=[1 3];
num=[1 3 3 1];
[A,B,C,D]=tf2ss(den,num)
运行结果如下:
A =
-3 -3 -1
1 0 0
0 1 0
B =
1
0
0
C =
0 1 3
D =
0
已知线性定常系统的状态方程
及输出方程,试求系统的传递函数。
(教材P26页 习题1.8 )
解:程序如下:
A=[-1 1 0;0 -1 0;0 0 -2];
B=[0;0;1];
C=[1 0 1];
[den,num]=ss2tf(A,B,C,D)
运行结果如下:
den =
0 1 2 1
num =
1 4 5 2
5、(教材P48页 例2.4 )如图所示的直流电机拖动系统,试在SIMULINK环境下建立系统仿真模型:
1)采用欧拉法与四阶龙格库塔法进行仿真,并确定其步长的稳定区间,取不同步长比较仿真结果;
2)采用RK4研究外环PI控制器参数的改变(0.17 0.5 1 1.5),观其阶跃响应对系统动态参数的影响。
、欧拉法
clc
clear
Tf=10; %输入仿真时间
h=input('计算步长h='); %输入仿真步长
P=[1 0.01 0.1 0;
0 0.85 1 0.17;
1 0.01 1 0;
0 0.051 1 0.15;
1 0.0067 70 0;
1 0.15 0.21 0;
0 1 130 0;
1 0.01 0.1 0;
1 0.01 0.0044 0]; %输入各环节参数
W0=zeros(9,1);W0(1,1)=1; %输入外部链接矩阵
W=zeros(9,9);W(2,1)=1;W(2,9)=-1;W(3,2)=1;W(4,3)=1;
W(4,8)=-1;W(5,4)=1;W(6,5)=1;W(6,7)=-0.212;W(7,6)=1;
W(8,6)=1;W(9,7)=1; %输入系统连接矩阵
A=diag(P(:, 1));B=diag(P(:, 2));
C=diag(P(:, 3));D=diag(P(:, 4)); %生成系数矩阵
Q=B-D*W;Q1=inv(Q);
R=C*W-A; V=C*W0;
A1=Q1*R; B1=Q1*V;