控制系统数字仿真与CAD第一二章习题答案Word文件下载.docx
《控制系统数字仿真与CAD第一二章习题答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《控制系统数字仿真与CAD第一二章习题答案Word文件下载.docx(20页珍藏版)》请在冰豆网上搜索。
什么是离散事件系统?
如何用数学的方法描述它们?
本书所讲的“离散系统”指的是离散时间系统,即系统中状态变量的变化仅发生在一组离散时刻上的系统。
它一般采用差分方程,离散状态方程和脉冲传递函数来描述。
离散事件系统是系统中状态变量的改变是由离散时刻上所发生的事件所驱动的系统。
这种系统的输入输出是随机发生的,一般采用概率模型来描述。
1-8如图1-16所示某卫星姿态控制仿真实验系统,试说明:
(1)若按模型分类,该系统属于那一类仿真系统?
(2)图中“混合计算机”部分在系统中起什么作用?
(3)与数字仿真相比该系统有什么优缺点?
(1)按模型分类,该系统属于物理仿真系统。
(2)混合计算机集中了模拟仿真和数字仿真的优点,它既可以与实物连接进行实时仿真,计算一些复杂函数,又可以对控制系统进行反复迭代计算。
其数字部分用来模拟系统中的控制器,而模拟部分用于模拟控制对象。
(4)与数字仿真相比,物理仿真总是有实物介入,效果逼真,精度高,具有实时性与在线性的特点,但其构成复杂,造价较高,耗时过长,通用性不强。
2-1思考题:
(1)数学模型的微分方程,状态方程,传递函数,零极点增益和部分分式五种形式,各有什么特点?
(2)数学模型各种形式之间为什么要互相转换?
(3)控制系统建模的基本方法有哪些?
他们的区别和特点是什么?
(4)控制系统计算机仿真中的“实现问题”是什么含意?
(5)数值积分法的选用应遵循哪几条原则?
(1)微分方程是直接描述系统输入和输出量之间的制约关系,是连续控制系统其他数学模型表达式的基础。
状态方程能够反映系统内部各状态之间的相互关系,适用于多输入多输出系统。
传递函数是零极点形式和部分分式形式的基础。
零极点增益形式可用于分析系统的稳定性和快速性。
利用部分分式形式可直接分析系统的动态过程。
(2)不同的控制系统的分析和设计方法,只适用于特定的数学模型形式。
(3)控制系统的建模方法大体有三种:
机理模型法,统计模型法和混合模型法。
机理模型法就是对已知结构,参数的物理系统运用相应的物理定律或定理,经过合理的分析简化建立起来的各物理量间的关系。
该方法需要对系统的内部结构和特性完全的了解,精度高。
统计模型法是采用归纳的方法,根据系统实测的数据,运用统计规律和系统辨识等理论建立的系统模型。
该方法建立的数学模型受数据量不充分,数据精度不一致,数据处理方法的不完善,很难在精度上达到更高的要求。
混合法是上述两种方法的结合。
(4)“实现问题”就是根据建立的数学模型和精度,采用某种数值计算方法,将模型方程转换为适合在计算机上运行的公式和方程,通过计算来使之正确的反映系统各变量动态性能,得到可靠的仿真结果。
(5)数值积分法应该遵循的原则是在满足系统精度的前提下,提高数值运算的速度和并保证计算结果的稳定。
2-2.用matlab语言求下列系统的状态方程、传递函数、零极点增益、和部分分式形式的模型参数,并分别写出其相应的数学模型表达式:
(1)G(s)=
(2)
=
y=[0202]X
(1)解:
(1)状态方程模型参数:
编写matlab程序如下
>
>
num=[172424];
den=[110355024];
[ABCD]=tf2ss(num,den)
得到结果:
A=
B=
C=
D=[0]
所以模型为:
X+
u,y=
X
(2)零极点增益:
编写程序>
[ZPK]=tf2zp(num,den)
得到结果Z=-2.7306+2.8531,-2.7306-2.8531i,-1.5388
P=-4,-3,-2,-1
K=1
(3)部分分式形式:
编写程序>
[RPH]=residue(num,den)
得到结果R=4.0000,-6.0000,2.0000,1.0000
P=-4.0000,-3.0000,-2.0000,-1.0000
H=[]
G(s)=
(2)解:
(1)传递函数模型参数:
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=[4220]'
;
C=[0202];
D=[0];
[numden]=ss2tf(A,B,C,D)
得到结果
num=04.000014.000022.000015.0000
den=1.00004.00006.25005.25002.2500
(2)零极点增益模型参数:
[Z,P,K]=ss2zp(A,B,C,D)
得到结果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
表达式
(3)部分分式形式的模型参数:
[R,P,H]=residue(num,den)
得到结果R=4.0000-0.00000.0000-2.3094i0.0000+2.3094i
P=-1.5000-1.5000-0.5000+0.8660i-0.5000-0.8660i
H=[]
2-3.用欧拉法求下面系统的输出响应y(t)在0≤t≤1上,h=0.1时的数值。
要求保留4位小数,并将结果与真解
比较。
解:
欧拉法
(前向欧拉法,可以自启动)其几何意义:
把f(t,y)在[
]区间内的曲边面积用矩形面积近似代替。
利用matlab提供的m文件编程,得到算法公式。
如下所示
(1)m文件程序为h=0.1;
disp('
函数的数值解为'
);
%显示‘’中间的文字%
y='
%同上%
y=1;
fort=0:
h:
1
m=y;
disp(y);
%显示y的当前值%
y=m-m*h;
end
保存文件q2.m
在matalb命令行中键入>
q2
得到结果函数的数值解为
y=10.90000.81000.72900.65610.59050.53140.47830.43050.38740.3487
(2)另建一个m文件求解
在t
[0,1]的数值(%
是
的真解%)
程序为h=0.1;
函数的离散时刻解为'
y=exp(-t);
end保存文件q3.m
在matalb命令行中键入>
q3
函数的离散时刻解为
y=10.90480.81870.74080.67030.60650.54880.49660.44930.40660.3679
比较欧拉方法求解与真值的差别
欧拉
0.9000
0.8100
0.7290
0.6561
0.5905
0.5314
0.4783
0.4305
0.3874
0.3487
真值
0.9048
0.8187
0.7408
0.6703
0.6065
0.5488
0.4966
0.4493
0.4066
0.3679
误差
-0.0048
-0.0007
–0.0118
–0.0142
–0.0160
–0.0174
–0.0183
–0.0188
-0.0192
显然误差与
为同阶无穷小,欧拉法具有一阶计算精度,精度较低,但算法简单。
2-4用二阶龙格库塔法求解2-3的数值解,并于欧拉法求得的结果比较。
我们经常用到预报-校正法的二阶龙-格库塔法,
此方法可以自启动,具有二阶计算精度,几何意义:
]区间内的曲边面积用上下底为
和
、高为h的梯形面积近似代替。
(1)m文件程序为h=0.1;
k1=-y;
k2=-(y+k1*h);
y=y+(k1+k2)*h/2;
保存文件q4.m
在matlab的命令行中键入>
q4显示结果为
函数的数值解为
y=10.90500.81900.74120.67080.60710.54940.49720.45000.40720.3685
(2)比较欧拉法与二阶龙格-库塔法求解.(误差为绝对值)
龙库
0.9050
0.8190
0.7412
0.6708
0.6071
0.5494
0.4972
0.4500
0.4072
0.3685
0.0002
0.0003
0.0004
0.0005
0.0006
0.0007
明显误差为
得同阶无穷小,具有二阶计算精度,而欧拉法具有以阶计算精度,二阶龙格-库塔法比欧拉法计算精度高。
2-5.用四阶龙格-库塔法求解题2-3数值解,并与前两题结果相比较。
四阶龙格-库塔法表达式
,其截断误差为
同阶无穷小,当h步距取得较小时,误差是很小的.
(1)编辑m文件程序h=0.1;
四阶龙格-库塔方法求解函数数值解为'
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保存文件q5.m
在matlab命令行里键入>
q5
得到结果四阶龙格-库塔方法求解函数数值解为
(2)比较这几种方法:
对于四阶龙格-库塔方法
显然四阶龙格-库塔法求解精度很高,基本接近真值。
三种方法比较可以得到
精度(四阶)〉精度(二阶)〉精度(欧拉)
2-6.已知二阶系统状态方程为
写出取计算步长为h时,该系统状态变量X=[
]的四阶龙格-库塔法递推关系式。
所以状态变量的递推公式可以写作:
A=
可以写成
则递推形式
2-7单位反馈系统的开环传递函数已知如下
用matlab语句、函数求取系统闭环零极点,并求取系统闭环状态方程的可控标准型实现。
已知开环传递函数,求得闭环传递函数为
a=[10];
b=[14.6];
c=[13.416.35];
d=conv(a,b);
e=conv(d,c)
e=1.00008.000031.990075.21000
f=[0005100];
g=e+f
g=1.00008.000031.990080.2100100.0000
%以上是计算闭环传递函数的特征多项式%
p=roots(g)%计算特征多项式的根,就是闭环传递函数的极点%
p=
-0.9987+3.0091i
-0.9987-3.0091i
-3.0013+0.9697i
-3.0013-0.9697i
m=[5100];
z=roots(m)
z=-20%计算零点%
综上:
当闭环传函形如
时,可控标准型为:
;
所以可控标准型是
2-8用matlab语言编制单变量系统三阶龙格-库塔法求解程序,程序入口要求能接收状态方程各系数阵(A,B,C,D),和输入阶跃函数r(t)=R*1(t);
程序出口应给出输出量y(t)的动态响应数值解序列
m文件为:
functiony=hs(A,B,C,D,R,T,h)%T为观测时间,h为计算步长,R为输入信号幅值%
数值解为'
y=0;
r=R;
x=[0;
0;
0];
N=T/h;
fort=1:
N;
k1=A*x+B*R;
k2=A*(x+h*k1/3)+B*R;
k3=A*(x+2*h*k2/3)+B*R;
x=x+h*(k1+3*k3)/4;
y(t)=C*x+D*R;
在命令行里键入A=B=C=D=R=T=h=
y=hs(A,B,C,D,R,T,h)得到结果。
2-9.用题2-8仿真程序求解题2-7系统的闭环输出响应y(t).
在命令行里键入>
A=[0100
0010
0001
-100-80.21-31.99-8];
B=[0001]'
C=[-100500];
T=1;
R=1;
h=0.01;
y=hs(A,B,C,D,R,T,h)
数值解为
0
8.3333e-007
5.8659e-006
1.8115e-005
3.9384e-005
7.0346e-005
%仅取一部分%
2-10.用式(2-34)梯形法求解试验方程
,分析对计算步长h有何限制,说明h对数值稳定性的影响。
编写梯形法程序为
得到
稳定系统最终渐进收敛。
系统稳定则
计算得
h的选取不能超出上述范围,否则系统不稳定。
2-11如图2-27所示斜梁滚球系统,若要研究滚球在梁上的位置可控性,需首先建立其数学模型,已知力矩电机的输出转矩M与其电流i成正比,横梁为均匀可自平衡梁(即当电机不通电且无滚球时,横梁可处于
=0的水平状态),是建立系统的数学模型,并给出简化后系统的动态结构图。
设球的质心到杆的距离为0,该系统为特殊情况下的球棒系统。
另令
分别表示棒的惯量、球的质量和球的惯量。
则球质心的位置和速度为
其中
,
因而动能的移动部分为
因而动能的移动部分为
球棒系统的旋转动能为
因而,系统总的动能
等于
为常数。
此系统的拉格朗日方程组为
综合以上公式的系统的方程组为
设系统在平衡点附近
,则系统方程可化为
对上式进行拉普拉斯变换并化简后可得到
参考文献:
[1]Hauser,S.Sestry,andP.Kokotovic.“Nonlinearcontrolviaapproximateinput-outputlinearization”.IEEETrans.onAutomaticControl,vol.37:
pp.392-398,1992.
[2]R.Sepulchre.“Slowpeakingandlow-gaindesignsforglobalstabilizationofnonlinearsystems”.submittedforIEEETAC1999.
[3]R.Sepulchre,M.Jankovic,andP.KokotovicConstructiveNonlinearControl.Springer-Verlag,1997.
[4]R.Teel.“UsingSaturationtostabilizeaclassofsingle-inputpartiallylinearcompositesystems”.IFACNOLCOS'
92Symposium,pages369-374,June1992.
2-12如图2-28所示双水箱系统中,
为流入水箱1的液体流量,
为流出水箱2的液体流量,试依据液容与液阻的概念,建立
的系统动态结构图。
根据液容和液阻的概念,可分别列出两个水箱的数学模型
对上式进行在零初始条件下进行拉普拉斯变换得
化简后可得