控制系统数字仿真第二章习题答案.docx

上传人:b****1 文档编号:2634225 上传时间:2023-05-04 格式:DOCX 页数:19 大小:238.14KB
下载 相关 举报
控制系统数字仿真第二章习题答案.docx_第1页
第1页 / 共19页
控制系统数字仿真第二章习题答案.docx_第2页
第2页 / 共19页
控制系统数字仿真第二章习题答案.docx_第3页
第3页 / 共19页
控制系统数字仿真第二章习题答案.docx_第4页
第4页 / 共19页
控制系统数字仿真第二章习题答案.docx_第5页
第5页 / 共19页
控制系统数字仿真第二章习题答案.docx_第6页
第6页 / 共19页
控制系统数字仿真第二章习题答案.docx_第7页
第7页 / 共19页
控制系统数字仿真第二章习题答案.docx_第8页
第8页 / 共19页
控制系统数字仿真第二章习题答案.docx_第9页
第9页 / 共19页
控制系统数字仿真第二章习题答案.docx_第10页
第10页 / 共19页
控制系统数字仿真第二章习题答案.docx_第11页
第11页 / 共19页
控制系统数字仿真第二章习题答案.docx_第12页
第12页 / 共19页
控制系统数字仿真第二章习题答案.docx_第13页
第13页 / 共19页
控制系统数字仿真第二章习题答案.docx_第14页
第14页 / 共19页
控制系统数字仿真第二章习题答案.docx_第15页
第15页 / 共19页
控制系统数字仿真第二章习题答案.docx_第16页
第16页 / 共19页
控制系统数字仿真第二章习题答案.docx_第17页
第17页 / 共19页
控制系统数字仿真第二章习题答案.docx_第18页
第18页 / 共19页
控制系统数字仿真第二章习题答案.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

控制系统数字仿真第二章习题答案.docx

《控制系统数字仿真第二章习题答案.docx》由会员分享,可在线阅读,更多相关《控制系统数字仿真第二章习题答案.docx(19页珍藏版)》请在冰点文库上搜索。

控制系统数字仿真第二章习题答案.docx

控制系统数字仿真第二章习题答案

控制系统数字仿真与CAD第二章习题答案

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)零极点增益:

编写程序>>num=[172424];

>>den=[110355024];

>>[ZPK]=tf2zp(num,den)

得到结果Z=-2.7306+2.8531,-2.7306-2.8531i,-1.5388

P=-4,-3,-2,-1

K=1

(3)部分分式形式:

编写程序>>num=[172424];

>>den=[110355024];

>>[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)零极点增益模型参数:

编写程序>>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

表达式

(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.8660i

H=[]

2-3.用欧拉法求下面系统的输出响应y(t)在0≤t≤1上,h=0.1时的数值。

要求保留4位小数,并将结果与真解

比较。

解:

欧拉法

(前向欧拉法,可以自启动)其几何意义:

把f(t,y)在[

]区间内的曲边面积用矩形面积近似代替。

利用matlab提供的m文件编程,得到算法公式。

如下所示

(1)m文件程序为h=0.1;

disp('函数的数值解为');%显示‘’中间的文字%

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;

disp('函数的离散时刻解为');

disp('y=');

fort=0:

h:

1

y=exp(-t);

disp(y);

end保存文件q3.m

在matalb命令行中键入>>q3

函数的离散时刻解为

y=10.90480.81870.74080.67030.60650.54880.49660.44930.40660.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.0048

-0.0007

–0.0118

–0.0142

–0.0160

–0.0174

–0.0183

–0.0188

-0.0192

-0.0192

显然误差与

为同阶无穷小,欧拉法具有一阶计算精度,精度较低,但算法简单。

2-4用二阶龙格库塔法求解2-3的数值解,并于欧拉法求得的结果比较。

解:

我们经常用到预报-校正法的二阶龙-格库塔法,

此方法可以自启动,具有二阶计算精度,几何意义:

把f(t,y)在[

]区间内的曲边面积用上下底为

、高为h的梯形面积近似代替。

利用matlab提供的m文件编程,得到算法公式。

如下所示

(1)m文件程序为h=0.1;

disp('函数的数值解为');

disp('y=');

y=1;

fort=0:

h:

1

disp(y);

k1=-y;

k2=-(y+k1*h);

y=y+(k1+k2)*h/2;

end

保存文件q4.m

在matlab的命令行中键入>>q4显示结果为

函数的数值解为

y=10.90500.81900.74120.67080.60710.54940.49720.45000.40720.3685

(2)比较欧拉法与二阶龙格-库塔法求解.(误差为绝对值)

真值

1

0.9048

0.8187

0.7408

0.6703

0.6065

0.5488

0.4966

0.4493

0.4066

0.3679

龙库

1

0.9050

0.8190

0.7412

0.6708

0.6071

0.5494

0.4972

0.4500

0.4072

0.3685

误差

0

0.0002

0.0003

0.0004

0.0005

0.0006

0.0006

0.0006

0.0007

0.0006

0.0006

明显误差为

得同阶无穷小,具有二阶计算精度,而欧拉法具有以阶计算精度,二阶龙格-库塔法比欧拉法计算精度高。

2-5.用四阶龙格-库塔法求解题2-3数值解,并与前两题结果相比较。

解:

四阶龙格-库塔法表达式

,其截断误差为

同阶无穷小,当h步距取得较小时,误差是很小的.

(1)编辑m文件程序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保存文件q5.m

在matlab命令行里键入>>q5

得到结果四阶龙格-库塔方法求解函数数值解为

y=10.90480.81870.74080.67030.60650.54880.49660.44930.40660.3679

(2)比较这几种方法:

对于四阶龙格-库塔方法

真值

1

0.9048

0.8187

0.7408

0.6703

0.6065

0.5488

0.4966

0.4493

0.4066

0.3679

龙库

1

0.9048

0.8187

0.7408

0.6703

0.6065

0.5488

0.4966

0.4493

0.4066

0.3679

误差

0

0

0

0

0

0

0

0

0

0

0

显然四阶龙格-库塔法求解精度很高,基本接近真值。

三种方法比较可以得到

精度(四阶)〉精度(二阶)〉精度(欧拉)

2-6.已知二阶系统状态方程为

写出取计算步长为h时,该系统状态变量X=[

]的四阶龙格-库塔法递推关系式。

解:

四阶龙格-库塔法表达式

所以状态变量的递推公式可以写作:

A=

B=

可以写成

则递推形式

2-7单位反馈系统的开环传递函数已知如下

用matlab语句、函数求取系统闭环零极点,并求取系统闭环状态方程的可控标准型实现。

解:

已知开环传递函数,求得闭环传递函数为

在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为输入信号幅值%

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;

y(t)=C*x+D*R;

end

在命令行里键入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=

B=

C=

D=[0]

在命令行里键入>>A=[0100

0010

0001

-100-80.21-31.99-8];

>>B=[0001]';

>>C=[-100500];

>>D=[0];

>>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的液体流量,试依据液容与液阻的概念,建立

的系统动态结构图。

解:

根据液容和液阻的概念,可分别列出两个水箱的数学模型

对上式进行在零初始条件下进行拉普拉斯变换得

化简后可得

(本资料素材和资料部分来自网络,仅供参考。

请预览后才下载,期待您的好评与关注!

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2