控制系统数字仿真与CAD第一二章习题答案.docx
《控制系统数字仿真与CAD第一二章习题答案.docx》由会员分享,可在线阅读,更多相关《控制系统数字仿真与CAD第一二章习题答案.docx(20页珍藏版)》请在冰点文库上搜索。
![控制系统数字仿真与CAD第一二章习题答案.docx](https://file1.bingdoc.com/fileroot1/2023-6/23/1334fc0d-029d-4e59-a244-2933ae610833/1334fc0d-029d-4e59-a244-2933ae6108331.gif)
控制系统数字仿真与CAD第一二章习题答案
1-1什么是仿真?
它所遵循的基本原则是什么?
答:
仿真是建立在控制理论,相似理论,信息处理技术和计算技术等理论基础之上的,以计算机和其他专用物理效应设备为工具,利用系统模型对真实或假想的系统进行试验,并借助专家经验知识,统汁数据和信息资料对试验结果进行分析和研究,进而做出决策的一门综合性的试验性科学。
它所遵循的基本原则是相似原理。
1-2在系统分析与设计中仿真法与解析法有何区別?
各有什么特点?
答:
解析法就是运用已掌握的理论知识对控制系统进行理论上的分析,il•算。
它是一种纯物理意义上的实验分析方法,在对系统的认识过程中具有普遍意义。
由于受到理论的不完善性以及对事物认识的不全而性等因素的影响,其应用往往有很大局限性。
仿真法基于相似原理,是在模型上所进行的系统性能分析与研究的实验方法。
1-3数字仿真包括那几个要素?
其关系如何?
答:
通常情况下,数字仿真实验包括三个基本要素,即实际系统,数学模型与让算机。
由图可见,将实际系统抽象为数学模型,称之为一次模型化,它还涉及到系统辨识技术问题,统称为建模问题:
将数学模型转化为可在计算机上运行的仿真模型,称之为二次模型化,这涉及到仿真技术问题,统称为仿真实验。
1-4为什么说模拟仿真较数字仿真精度低?
其优点如何?
o
答:
由于受到电路元件精度的制约和容易受到外界的下•扰,模拟仿真较数字仿真精度低
但模拟仿真具有如下优点:
(1)描述连续的物理系统的动态过程比较自然和逼真。
(2)仿真速度极快,失真小,结果可信度髙。
(3)能快速求解微分方程。
模拟汁算机运行时0运算器是并行工作的,模拟机的解题速度与原
系统的复杂程度无关。
(4)可以灵活设置仿真试验的时间标尺,既可以进行实时仿真,也可以进行非实时仿真。
(5)易于和实物相连。
1-5什么是CAD技术?
控制系统CAD可解决那些问题?
答:
CAD技术,即计算机辅助设计(ComputerAidedDesign),是将计算机高速而精确的计算能力,大容量存储和数据的能力与设讣者的综合分析,逻辑判断以及创造性思维结合起来,用以快速设计进程,缩短设计周期,提髙设计质量的技术。
控制系统CAD可以解决以频域法为主要内容的经典控制理论和以时域法为主要内容的现代控制理论。
此外,自适应控制,自校正控制以及最优控制等现代控制测略都可利用CAD技术实现有效的分析与设计。
1-6什么是虚拟现实技术?
它与仿真技术的关系如何?
答:
虚拟现实技术是一种综合了计算机图形技术,多媒体技术,传感器技术,显示技术以及仿真技术等多种学科而发展起来的高新技术。
1-7什么是离散系统?
什么是离散事件系统?
如何用数学的方法描述它们?
答:
本书所讲的“离散系统”指的是离散时间系统,即系统中状态变量的变化仅发生在一组离散时刻上的系统*它一般采用差分方程.离散状态方程和脉冲传递函数来描述。
离散事件系统是系统中状态变量的改变是由离散时刻上所发生的事件所驱动的系统。
这种系统的输入输出是随机发生的,一般采用概率模型来描述。
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语言求下列系统的状态方程.传递函数.零极点增益、和部分分式形式的模型参数,并分别写出其相应的数学模型表达式:
?
+7?
+245+24
G(S)"Z+1053+35?
+505+24
'2.25-5-1.25-0.5
4'
2.25-4.25-1.25-0.25
x+
2
0.25-0.5-1.25-1
2
1.25-1.75-0.25-0.75
0
错误!
未找到引用源。
X二
y=[0202]X
(1)
解:
(1)状态方程模型参数:
编写matlab程序如下
»
»
»
>>[ZPK]=tf2zp(num,den)
得到结果Z二-2.7306+2.8531f-2.7306-2.8531i,-1.5388
P二-4,-3,-2,-l
K=1
(3)部分分式形式:
编写程序>>num二[172424];
»den=[l10355024];
»[RPH]二residue(num,den)
得到结果R二4.0000,-6.0000,2.0000,1.0000
P二-4.0000,-3.0000,-2.0000,-1.0000
H<]
1
5+1
-62
+
s+3$+2
(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
―4s3+14s2+22s+15
G($)=-7Z
s4+4s3+6.25s2+5.25s+2.25
(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二[4220]';
»C二[0202];
»D二[0];
»[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
表达式G(沪°空亠2247i)(s+l+1.2247i)
(s+O.5-O.866i)(s+O.5+O.866i)(s+1.5)
(3)部分分式形式的模型参数:
编写程序>>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)
»[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.8660iH二[]
—、42.3094/2.3094Z
G(s)=—+
5+1.55+0.5-0.866/5+0.5+0.866/
2-3.用欧拉法求下面系统的输出响应y(t)在OWtWl上,h=0.1时的数值。
y=-2(0)=1
要求保留4位小数,并将结果与真解y(r)=h比较。
儿+L儿+"*/(・,儿)
解:
欧拉法\y=f(tkiyk)(前向欧拉法,可以自启动)其几何意义:
把f(t,y)在山,儿]
yM=>o
区间内的曲边而积用矩形面穆近似代替。
利用matlab提供的m文件编程,得到算法公式。
如卞所示
(1)m文件程序为h二0.1;
dispC函数的数值解为');%显示‘‘中间的文字%
disp(‘y二');%同上%
y二1;
fort=O:
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.3874
0.3487
(2)另建一个m文件求解y=k在te[0,l]的数值(是)r=—y,y(o)=l的真解%)
程序为h=0.1;dispC函数的离散时刻解为');dispCy二');
fort=O:
h:
1
y=exp(-t);
disp(y);
end保存文件q3.m
在matalb命令行中键入>>q3
函数的离散时刻解为
y=10.90480.81870.74080.67030.60650.54880.49660.44930.4066
0.3679
比较欧拉方法求解与真值的差别
欧拉
1
0.9000
0.8100
0.7290
0.6561
0.5905
0.5314
0.4783
0.4305
0.3874
0.3487
真值
1
0.9048
0.8187
0.7408
0.6703
0.6065
0.5488
0.4966
0.4493
0.4066
0.3679
误
0
-0.004
-0.000
一
一
一
一
一
一
-0.019
-0.019
差
8
7
0.0118
0.0142
0.0160
0.0174
0.0183
0.0188
2
2
显然误差与/『为同阶无穷小,欧拉法具有一阶计算精度,精度较低,但算法简单。
2-4用二阶龙格库塔法求解2-3的数值解,并于欧拉法求得的结果比较。
儿+1=”+*(«+£)
解:
我们经常用到「预报二狡疋法〜的二阶龙■格库塔法,
儿)此方法可以自启
k2=f(tk+九”+hkj
动,具冇二阶计算精度,几何意义:
把f(t,y)在也,儿]区间内的曲边面积用上下底为人和/叶、髙为h的梯形面积近似代替。
利用matlab提供的m文件编程,得到算法公式。
如下所示
(1)m文件程序为h=0.1;
dispC函数的数值解为');
disp(‘y=,);
y二1;
fort=0:
h:
1
disp(y);
kl=-y;
k2=-(y+kl*h);y=y+(kl+k2)*h/2;
end
保存文件q4・m
matlab的命令行中键入>>q4显示结果为
函数的数值解为
y=10.90500.81900.74120.67080.60710.54940.49720.45000.4072
0.3685
(2)比较欧拉法与二阶龙格-库塔法求解.(误差为绝对值)
一真值
1
0.904
8
0.818
7
0.740
8
0.670
3
0.606
5
0.548
8
0.496
6
0.449
3
0.406
6
0.367
9
龙库
1
0.905
0
0.819
0
0.741
2
0.670
8
0.607
1
0.549
4
0.497
2
0.450
0
0.407
2
0.368
5
误差
0
0.000
2
0.000
3
0.000
4
0.000
L
□
0.000
6
0.000
6
0.000
6
0.000
7
0.000
6
0.000
6
明显误差为/F得同阶无穷小,具有二阶汁算精度,而欧拉法具有以阶计算精度,二阶龙格-库塔法比欧拉法讣算精度高。
2-5.用四阶龙格-库塔法求解题2-3数值解,并与前两题结果相比较。
=儿+?
&+2人+2人+心)o
解:
四阶龙格-库塔法表达式〈
其截断误差为斥同阶无穷小,
k\=Mtk,yJ
込=Wk+-o\+~^i)
免=+-O\-+牙斤2)
k4=f(tk+h,yk+hk3)当h步距取得较小时,误差是很小的.
(1)编辑m文件程序h二0.1;
dispC四阶龙格-库塔方法求解函数数值解为');
disp('y二');
y二1;
fort=0:
h:
1
disp(y);
kl=-y;
k2=-(y+kl*h,/2);
k3=-(y+k2*h/2);
k4=-(y+k3*h);
y=y+(kl+2*k2+2*k3+k4)*h/6;
end保存文件q5.m
在matlab命令行里键入>>q5
得到结果四阶龙格■库塔方法求解函数数值解为
y=10.90480.81870.74080.67030.60650.54880.49660.44930.4066
0.3679
(2)比较这几种方法:
对于四阶龙格-库塔方法
一真值
1
0.904
8
0.818
7
0.740
8
0.670
3
0.606
L
0
0.548
8
0.496
6
0.449
3
0.406
6
0.367
9
龙库
1
0.904
8
0.818
7
0.740
8
0.670
3
0.606
L
□
0.548
8
0.496
6
0.449
3
0.406
6
0.367
9
误差
0
0
0
0
0
0
0
0
0
0
0
“I】a\2"ir^i
+
~bl~
w;
召(0)-
xio'
5°”ILx->
4
禺(0)
2-6.已知二阶系统状态方程为
显然四阶龙格-库塔法求解精度很高,基本接近真值。
三种方法比较可以得到精度(四阶)〉精度(二阶)〉稱度(欧拉)
写出取计算步长为h时,该系统状态变量X=[片,兀]的四阶龙格-库塔法递推关系式。
儿严儿+纟&++2/+心)
o
解:
四阶龙格■库塔法表达式、
k?
=fOk+了,儿+-^i)
k、=f(fk+〒儿+_^2)
人=/(・+九儿+g)所以状态变疑的递推公式可以写作:
xi
x2
x知严人+}&+2£+2£+®o
&=AXk+Bii£=A(X*+Ei*/i/2)+B“k3=A(Xk+k2*h!
2)+Buk4=A(Xk+k3*h)+Bu
可以写成X=AX+Bu
B=
则递推形式彳
.如«12
«21“22.
2-7单位反懺系统的开环传递函数已知如下
G(s)=
5s+100
5(5+4.6)(52+3.4.?
+16.35)
用matlab语句.函数求取系统闭环零极点.并求取系统闭环状态方程的可控标准型实现。
解:
已知开环传递函数,求得闭环传递函数为G(s)=J二四
5(5+4.6)(52+3.45+16.35)+5$+100在matlab命令行里键入>>a=[l0];
»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.00911
-0.9987-3.0091i
-3.0013+0.9697i
-3.0013-0.9697i
»m=[5100];
»z=roots(m)
z=-20%计算零点%
综上;当闭环传函形如G(s)=戶‘[•••""_九时,可控标准型为:
s+qs+・・・+4〃_]$+%
r=[-ioo5o0]勺+[0]u
X3
2-8用matlab语言编制单变量系统三阶龙格■库塔法求解程序,程序入口要求能接收状态方程各系数阵(A,B,C,D),和输入阶跃函数r(t)=R*l(t);WT出口应给出输出量y(t)的动态响应数值解序列
凡」,……,儿。
解:
m文件为:
functiony=hs(A,B,C,D,R,T,h)%T为观测时间,h为计算步长,R为输入信号幅值%dispC数值解为');
y=0;
r=R;
x=[0;0;0;01;
N=T/h;
fort=l:
N;
kl=A*x+B*R;
k2=A*(x+h*kl/3)+B*R;
k3=A*(x+2*h*k2/3)+B*R;
x=x+h*(kl+3*k3)/4;
y(t)=C*x+D*R;
end
在命令行里键入A=B二C=D二R=T=h=
y=hs(A,B,C,D,R,T,h)得到结果。
-100-80.21-31.99»B二[0001]';
»C=[-100500];
»D二[0];
»T=l;
»R=l;
»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
%仅取一部分%
1
2-10•用式(2-34)梯形法求解试验方程y=—y,分析对计算步长h有何限制,说明h对数值
解:
编写梯形法程序为
儿+1=力+£伙1+灯)
f1
得到儿+|=儿(1一'+经)稳泄系统最终渐进收敛。
T2Z*
-9^»亠tb—m.l«h
tIt
h的选取不能超出上述范用,否则系统不稳左。
计算得0系统稳泄则1—2+伫V1271如图2-27所示斜梁滚球系统,若要研究滚球在梁上的位置可控性,需首先建立其数学模型,已知力矩电机的输出转矩M与其电流i成正比,横梁为均匀可自平衡梁(即当电机不通电且无滚球时,横梁可处于0=0的水平状态),是建立系统的数学模型,并给出简化后系统的动态结构图。
解:
设球的质心到杆的距离为0,该系统为特殊情况下的球棒系统。
另令/rm./2分别表示棒的惯量、球的质量和球的惯量。
则球质心的位垃和速度为
xe=(xcos0.xsin0)
ve=(ucos6一AWsin0.vsin0+awcos0)
其中X=v,6=(0.因而动能的移动部分为
因而动能的移动部分为Klran,=2〃昉=*“(『+*%')
球棒系统的旋转动能为心=g何+『2(卡
因而,系统总的动能K=K"g等于
K=—(A+—2?
nv2
212
其中久=1+厶>1为常数。
mr
此系统的拉格朗日方程组为
d何、dT.口
—=-mgsin0
dtdxdx
doTxdTc
H(—;•)—石=加一加gcos&dtdOc°
综合以上公式的系统的方程组为
•・
mAx一〃+〃?
gsin(&)=0
<
(I{+mx1)0+ImxxO+加gxcos(0)=ki
设系统在平衡点附近5",COS&21,sin&2&,则系统方程可化为
〃以》+〃贴&=0
(/!
+mx2)0+mgx=ki
对上式进行拉普拉斯变换并化简后可得到O
/(s)
参考文献:
.1]Hauser,S・Sestry,andP・Kokotovic・Nonlinearcontrolviaapproximateinput-output
linearization^・IEEETrans・onAutomaticControl,vol.37:
pp・392一398,1992・
[2]R・Sepulchre・"Slowpeakingandlow-gaindesignsforglobalstabilizationofnonlinearsystems**・submittedforIEEETAC199