还剩11页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
控制系统数字仿真与CAD第二章习题答案2-1思考题
(1)数学模型的微分方程,状态方程,传递函数,零极点增益和部分分式五种形式,各有什么特点?
(2)数学模型各种形式之间为什么要互相转换?
(3)控制系统建模的基本方法有哪些?他们的区别和特点是什么?
(4)控制系统计算机仿真中的“实现问题”是什么含意?
(5)数值积分法的选用应遵循哪几条原则?答
(1)微分方程是直接描述系统输入和输出量之间的制约关系,是连续控制系统其他数学模型表达式的基础状态方程能够反映系统内部各状态之间的相互关系,适用于多输入多输出系统传递函数是零极点形式和部分分式形式的基础零极点增益形式可用于分析系统的稳定性和快速性利用部分分式形式可直接分析系统的动态过程
(2)不同的控制系统的分析和设计方法,只适用于特定的数学模型形式
(3)控制系统的建模方法大体有三种机理模型法,统计模型法和混合模型法机理模型法就是对已知结构,参数的物理系统运用相应的物理定律或定理,经过合理的分析简化建立起来的各物理量间的关系该方法需要对系统的内部结构和特性完全的了解,精度高统计模型法是采用归纳的方法,根据系统实测的数据,运用统计规律和系统辨识等理论建立的系统模型该方法建立的数学模型受数据量不充分,数据精度不一致,数据处理方法的不完善,很难在精度上达到更高的要求混合法是上述两种方法的结合
(4)“实现问题”就是根据建立的数学模型和精度,采用某种数值计算方法,将模型方程转换为适合在计算机上运行的公式和方程,通过计算来使之正确的反映系统各变量动态性能,得到可靠的仿真结果
(5)数值积分法应该遵循的原则是在满足系统精度的前提下,提高数值运算的速度和并保证计算结果的稳定2-
2.用matlab语言求下列系统的状态方程、传递函数、零极点增益、和部分分式形式的模型参数,并分别写出其相应的数学模型表达式1G(s)=2MACROBUTTONMTEditEquationSection2EquationSectionNext=y=
[0202]X
(1)解
(1)状态方程模型参数:编写matlab程序如下num=
[172424];den=
[110355024];[ABCD]=tf2ssnumden得到结果A=B=C=D=
[0]所以模型为:=X+uy=X2零极点增益:编写程序num=
[172424];den=
[110355024];[ZPK]=tf2zpnumden得到结果Z=-
2.7306+
2.8531-
2.7306-
2.8531i-
1.5388P=-4-3-2-1K=13部分分式形式:编写程序num=
[172424];den=
[110355024];[RPH]=residuenumden得到结果R=
4.0000-
6.
00002.
00001.0000P=-
4.0000-
3.0000-
2.0000-
1.0000H=[]Gs=
(2)解
(1)传递函数模型参数编写程序A=[
2.25-5-
1.25-
0.
52.25-
4.25-
1.25-
0.
250.25-
0.5-
1.25-
11.25-
1.75-
0.25-
0.75];B=
[4220];C=
[0202];D=
[0];[numden]=ss2tfABCD得到结果num=
04.
000014.
000022.
000015.0000den=
1.
00004.
00006.
25005.
25002.25002零极点增益模型参数:编写程序A=[
2.25-5-
1.25-
0.
52.25-
4.25-
1.25-
0.
250.25-
0.5-
1.25-
11.25-
1.75-
0.25-
0.75];B=
[4220];C=
[0202];D=
[0];[ZPK]=ss2zpABCD得到结果Z=-
1.0000+
1.2247i-
1.0000-
1.2247i-
1.5000P=-
0.5000+
0.8660i-
0.5000-
0.8660i-
1.5000-
1.5000K=
4.0000表达式
(3)部分分式形式的模型参数编写程序A=[
2.25-5-
1.25-
0.
52.25-
4.25-
1.25-
0.
250.25-
0.5-
1.25-
11.25-
1.75-
0.25-
0.75];B=
[4220];C=
[0202];D=
[0];[numden]=ss2tfABCD[RPH]=residuenumden得到结果R=
4.0000-
0.
00000.0000-
2.3094i
0.0000+
2.3094iP=-
1.5000-
1.5000-
0.5000+
0.8660i-
0.5000-
0.8660iH=[]2-
3.用欧拉法求下面系统的输出响应yt在0≤t≤1上,h=
0.1时的数值要求保留4位小数,并将结果与真解比较解欧拉法(前向欧拉法可以自启动)其几何意义把fty在[]区间内的曲边面积用矩形面积近似代替利用matlab提供的m文件编程,得到算法公式如下所示
(1)m文件程序为h=
0.1;disp函数的数值解为;%显示‘’中间的文字%dispy=;%同上%y=1;fort=0:h:1m=y;dispy;%显示y的当前值%y=m-m*h;end保存文件q
2.m在matalb命令行中键入q2得到结果函数的数值解为y=
10.
90000.
81000.
72900.
65610.
59050.
53140.
47830.
43050.
38740.3487
(2)另建一个m文件求解在t
[01]的数值(%是的真解%)程序为h=
0.1;disp函数的离散时刻解为;dispy=;fort=0:h:1y=exp-t;dispy;end保存文件q
3.m在matalb命令行中键入q3函数的离散时刻解为y=
10.
90480.
81870.
74080.
67030.
60650.
54880.
49660.
44930.
40660.3679比较欧拉方法求解与真值的差别欧拉
10.
90000.
81000.
72900.
65610.
59050.
53140.
47830.
43050.
38740.3487真值
10.
90480.
81870.
74080.
67030.
60650.
54880.
49660.
44930.
40660.3679误差0-
0.0048-
0.0007–
0.0118–
0.0142–
0.0160–
0.0174–
0.0183–
0.0188-
0.0192-
0.0192显然误差与为同阶无穷小,欧拉法具有一阶计算精度,精度较低,但算法简单2-4用二阶龙格库塔法求解2-3的数值解,并于欧拉法求得的结果比较解我们经常用到预报-校正法的二阶龙-格库塔法,此方法可以自启动,具有二阶计算精度,几何意义把fty在[]区间内的曲边面积用上下底为和、高为h的梯形面积近似代替利用matlab提供的m文件编程,得到算法公式如下所示
(1)m文件程序为h=
0.1;disp函数的数值解为;dispy=;y=1;fort=0:h:1dispy;k1=-y;k2=-y+k1*h;y=y+k1+k2*h/2;end保存文件q
4.m在matlab的命令行中键入q4显示结果为函数的数值解为y=
10.
90500.
81900.
74120.
67080.
60710.
54940.
49720.
45000.
40720.3685
(2)比较欧拉法与二阶龙格-库塔法求解.(误差为绝对值)真值
10.
90480.
81870.
74080.
67030.
60650.
54880.
49660.
44930.
40660.3679龙库
10.
90500.
81900.
74120.
67080.
60710.
54940.
49720.
45000.
40720.3685误差
00.
00020.
00030.
00040.
00050.
00060.
00060.
00060.
00070.
00060.0006明显误差为得同阶无穷小,具有二阶计算精度,而欧拉法具有以阶计算精度,二阶龙格-库塔法比欧拉法计算精度高2-5.用四阶龙格-库塔法求解题2-3数值解,并与前两题结果相比较解四阶龙格-库塔法表达式,其截断误差为同阶无穷小,当h步距取得较小时,误差是很小的.1编辑m文件程序h=
0.1;disp四阶龙格-库塔方法求解函数数值解为;dispy=;y=1;fort=0:h:1dispy;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保存文件q
5.m在matlab命令行里键入q5得到结果四阶龙格-库塔方法求解函数数值解为y=
10.
90480.
81870.
74080.
67030.
60650.
54880.
49660.
44930.
40660.36792比较这几种方法对于四阶龙格-库塔方法真值
10.
90480.
81870.
74080.
67030.
60650.
54880.
49660.
44930.
40660.3679龙库
10.
90480.
81870.
74080.
67030.
60650.
54880.
49660.
44930.
40660.3679误差00000000000显然四阶龙格-库塔法求解精度很高,基本接近真值三种方法比较可以得到精度(四阶)〉精度(二阶)〉精度(欧拉)2-6.已知二阶系统状态方程为写出取计算步长为h时,该系统状态变量X=[]的四阶龙格-库塔法递推关系式解四阶龙格-库塔法表达式所以状态变量的递推公式可以写作A=B=可以写成则递推形式2-7单位反馈系统的开环传递函数已知如下用matlab语句、函数求取系统闭环零极点,并求取系统闭环状态方程的可控标准型实现解已知开环传递函数,求得闭环传递函数为在matlab命令行里键入a=
[10];b=[
14.6];c=[
13.
416.35];d=convab;e=convdce=
1.
00008.
000031.
990075.21000f=
[0005100];g=e+fg=
1.
00008.
000031.
990080.
2100100.0000%以上是计算闭环传递函数的特征多项式%p=rootsg%计算特征多项式的根,就是闭环传递函数的极点%p=-
0.9987+
3.0091i-
0.9987-
3.0091i-
3.0013+
0.9697i-
3.0013-
0.9697im=
[5100];z=rootsmz=-20%计算零点%综上当闭环传函形如时,可控标准型为;所以可控标准型是2-8用matlab语言编制单变量系统三阶龙格-库塔法求解程序,程序入口要求能接收状态方程各系数阵(ABCD)和输入阶跃函数rt=R*1t;程序出口应给出输出量y(t)的动态响应数值解序列解m文件为functiony=hsABCDRTh%T为观测时间h为计算步长,R为输入信号幅值%disp数值解为;y=0;r=R;x=[0;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;yt=C*x+D*R;end在命令行里键入A=B=C=D=R=T=h=y=hsABCDRTh得到结果2-9.用题2-8仿真程序求解题2-7系统的闭环输出响应yt.解A=B=C=D=
[0]在命令行里键入A=[010000100001-100-
80.21-
31.99-8];B=
[0001];C=[-100500];D=
[0];T=1;R=1;h=
0.01;y=hsABCDRTh数值解为
08.3333e-
0075.8659e-
0061.8115e-
0053.9384e-
0057.0346e-005%仅取一部分%2-
10.用式(2-34)梯形法求解试验方程,分析对计算步长h有何限制,说明h对数值稳定性的影响解编写梯形法程序为得到稳定系统最终渐进收敛系统稳定则计算得h的选取不能超出上述范围,否则系统不稳定2-11如图2-27所示斜梁滚球系统,若要研究滚球在梁上的位置可控性,需首先建立其数学模型,已知力矩电机的输出转矩M与其电流i成正比,横梁为均匀可自平衡梁(即当电机不通电且无滚球时,横梁可处于=0的水平状态),是建立系统的数学模型,并给出简化后系统的动态结构图解设球的质心到杆的距离为0,该系统为特殊情况下的球棒系统另令分别表示棒的惯量、球的质量和球的惯量则球质心的位置和速度为其中,因而动能的移动部分为因而动能的移动部分为球棒系统的旋转动能为因而,系统总的动能等于其中为常数此系统的拉格朗日方程组为综合以上公式的系统的方程组为设系统在平衡点附近,,,则系统方程可化为对上式进行拉普拉斯变换并化简后可得到参考文献
[1]HauserS.SestryandP.Kokotovic.“Nonlinearcontrolviaapproximateinput-outputlinearization”.IEEETrans.onAutomaticControlvol.37:pp.392-
3981992.
[2]R.Sepulchre.“Slowpeakingandlow-gaindesignsforglobalstabilizationofnonlinearsystems”.submittedforIEEETAC
1999.
[3]R.SepulchreM.JankovicandP.KokotovicConstructiveNonlinearControl.Springer-Verlag
1997.
[4]R.Teel.“UsingSaturationtostabilizeaclassofsingle-inputpartiallylinearcompositesystems”.IFACNOLCOS92Symposiumpages369-374June
1992.2-12如图2-28所示双水箱系统中,为流入水箱1的液体流量,为流出水箱2的液体流量,试依据液容与液阻的概念,建立的系统动态结构图解根据液容和液阻的概念,可分别列出两个水箱的数学模型对上式进行在零初始条件下进行拉普拉斯变换得化简后可得+#0;+#0;+#0;-#0;-#0;-#0;。