《《计算机仿真技术与CAD》习题答案.doc》由会员分享,可在线阅读,更多相关《《计算机仿真技术与CAD》习题答案.doc(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机仿真技术与CAD基于MATLAB的控制系统(第3版)第0章 绪论0-1 什么是仿真?它所遵循的基本原则是什么?答:仿真是建立在控制理论、相似理论、信息处理技术和计算机技术等理论基础之上的,以计算机和其他专用物理效应设备为工具,利用系统模型对真实或假想的系统进行试验,并借助专家经验知识、统计数据和信息资料对试验结果进行分析和研究,进而做出决策的一门综合性的试验性科学。它所遵循的基本原则是相似原理。0-2 仿真的分类有几种?为什么?答:依据相似原理来分:物理仿真、数学仿真和混合仿真。物理仿真:就是应用几何相似原理,制作一个与实际系统相似但几何尺寸较小或较大的物理模型(例如飞机模型放在气流场相
2、似的风洞中)进行实验研究。数学仿真:就是应用数学相似原理,构成数学模型在计算机上进行研究。它由软硬件仿真环境、动画、图形显示、输出打印设备等组成。混合仿真又称数学物理仿真,它是为了提高仿真的可信度或者针对一些难以建模的实体,在系统研究中往往把数学仿真、物理仿真和实体结合起来组成一个复杂的仿真系统,这种在仿真环节中有部分实物介入的混合仿真也称为半实物仿真或者半物理仿真。0-3 比较物理仿真和数学仿真的优缺点。答:在仿真研究中,数学仿真只要有一台数学仿真设备(如计算机等),就可以对不同的控制系统进行仿真实验和研究,而且,进行一次仿真实验研究的准备工作也比较简单,主要是受控系统的建模、控制方式的确立
3、和计算机编程。数学仿真实验所需的时间比物理仿真大大缩短,实验数据的处理也比物理仿真简单的多。与数学仿真相比,物理仿真总是有实物介入,效果直观逼真,精度高,可信度高,具有实时性与在线性的特点;但其需要进行大量的设备制造、安装、接线及调试工作,结构复杂,造价较高,耗时过长,灵活性差,改变参数困难,模型难以重用,通用性不强。0-4 简述计算机仿真的过程。答:第一步:根据仿真目的确定仿真方案根据仿真目的确定相应的仿真结构和方法,规定仿真的边界条件与约束条件。第二步:建立系统的数学模型对于简单的系统,可以通过某些基本定律来建立数学模型。而对于复杂的系统,则必须利用实验方法通过系统辩识技术来建立数学模型。
4、数学模型是系统仿真的依据,所以,数学模型的准确性是十分重要。第三步:建立仿真模型即通过一定算法对原系统的数学模型进行离散化处理,就连续系统言,就是建立相应的差分方程。第四步:编制仿真程序对于非实时仿真,可用一般高级语言或仿真语言。对于快速的实时仿真,往往需要用汇编语言。第五步:进行仿真实验并输出仿真结果通过实验对仿真系统模型及程序进行校验和修改,然后按系统仿真的要求输出仿真结果。0-5 什么是CAD技术?控制系统CAD可解决哪些问题?答:CAD技术,即计算机辅助设计(Computer Aided Design),是将计算机高速而精确的计算能力、大容量存储和数据处理能力与设计者的综合分析、逻辑判
5、断以及创造性思维结合起来,以加快设计进程、缩短设计周期、提高设计质量的技术。控制系统CAD可以解决以频域法为主要内容的经典控制理论和以时域法为主要内容的现代控制理论。此外,自适应控制、自校正控制以及最优控制等现代控制策略都可利用CAD技术实现有效的分析和设计。22与 : :),的 )统) 版 答解程状时函单 求 程程状定线= = = 0= =答响影出系对与的环析 用示 统线知答应态 出 用示 如结样知答应态的输 试, 如性知答应应的出 利)图环典示-图一假 答应响动输 试)示- 系变 成真动版第(的 与真 _ _ _答析析行其对跃单统序给第用系续 对_ ( ) ( *, ;), ( =() ;
6、 , )0 =( ( ) () = ( ; ( ( ) ) : ) * + )()*( )( )+ ) +*( ( : = =( =)( , ,(,0 ,)( ;) ( =( =( )( ) = 0 := *+*= / -(; = * - :; ( /:0 ( ;): ( =;) ( =0) ) ) 0=( /)= ) =( /) .0( 0) 0) ; ) ( )*(/ *- ()(/ ) ()- ( ) *) -()( ) )- ) (- ; )( ( 0= = 0) )( 00 0( :=) =)( ) =) ;( ;, )(=;( . . = 00 000 00 ._答应应单统散零态,
7、. 周当方字统制采利略示 图结系控已仿数系控 版第系的 于 与技答序真数通离节制连其,输利和 ,参定其. 序所-修函 _ ; 0 00 ; ;0 0 0修_ 答较较进所-,跃单的节线和,给- _ _ 答较行果对应阶统求序 第统常线 对 _ ;0 0 00 ; 0 0 0修 = = 程% +(, )( ( )( )( )( ,( ( =( ; ,) )()( ; = ) ) ( := )(*) +( ) ) ( +(*() := ) ( ) ) )() ),( ) ( = ),( )()=( )() ) 0( : 0+ ; / =00) , ( ; =; )0 ( 0= )/(= ;( ) )
8、) ) 0= 00(;/() ( ) ()() ( *() () ( )-* ()* *)/ (/ ( )/* ( ) / =() ) +(= 0=(=)0 )( 0=( 0=):=)( ), )() ,(;,(;) 0= 0 ; 0 ; 00 0 000 00 0程% 答略(。进线无,动 出,字化离环连利所 图习知 仿字散环按 版第统控 术仿答序真仿用结统制连使入键 , 参中其 程 -修 利答序真数通递面制连其入键 , 数的中 . 程 例数( ) ; *; / ( ) / ;0; ( . ;) ) , ( 0 = ;.答应跃单统法库二函递的馈单) ( ) * * *( */ +( */= ;
9、 ) 0= =-; =;._答应响单统塔龙-利为式表空统定线 仿仿系连版 系控 与仿 . , ; ;= 答数函脉系求 达表状散已 0 0 - - ,- ;0答式达态统下状求 利为状 阵性式达态状设 0 , 0 = = = 0 0 , ( ; = 答数递统时联系求 别别传系两 00 0. 00. 00 00 0.00 0 , ) , , ), ; -0答阵函其 式式态统知 0 - - ( 答式达间状 数递传已转其学统控 版第系控 与真 * ) ( ,) =0( ; + + = 答=0 ,( + 解题边方求 / * (+ 0=(, =;+* 答解解 () + 方分 ) ( / ( =* 答式式变
10、- =)求 /*/)( /* (* */ ( */ (* - */ ( * / -* /* ) * - /*/ * )(*/ ( / / *+/ (* , , ( 答解的 方求 =. *- ( 答解 0 .(*) 程 0 ;0 ) ,0 ; 答值).求00,=0= 设 )( (*) ( , ) ( *)(-() =答) ) 程*.答 (-. 解 ( (/* / ( ) */ - */* /* * * )/ =变 =( / + 答*+,= (* 求题 ,=答+ (=) ) 控控其转数状答 0 统式其0 ; , ,) 0 00. 系别 时统 , = , 0 状性 为状下式 , -0 已表 脉函 ;
11、 ; 系连仿定式-统响. -= 0 ;/ +* ) )馈函法跃. ;. / ) * ) 例.的, 键入面真序 -程中,入使结序仿 统第环字图所离,动,。答 程 00 000 = ,( ) (=0(= = ( =/ ( ) / * ) )()()(;0 = ) ;=) ,= + 0 ) () ( )() ) =)+ ) ()*= = )( ( ) ) ) , 0 ; 0_对线序阶果答 ,的跃-较修 0 ;0 ; 所 定,连通序与于 数已系略制字 ,散应答 0 . =), ) ) = 00)= ( ( )() *)(- )/(* * ) 0/() =( ) =()= (: :( -*; =*= )
12、 (= ) (, , )= :( *( * ) ) ) (0 ( ) * (对 系序单对答 _与 的版 系示 输响假-典) 应知性 应答 示 应线示用环对出=0=线程 时程 : 22计算机仿真技术与CAD基于MATLAB的控制系统(第3版)第1章 仿真软件MATLAB1-1 对于矩阵A=1 2;3 4,MATLAB以下四条命令:A.(0.5);A(0.5);sqrt(A);sqrtm(A)所得结果相同吗?它们中哪个结果是复数矩阵,为什么?答:A.(0.5)=1.0000 1.4142;1.7321 2.0000;A(0.5)= 0.5537 + 0.4644i 0.8070 - 0.2124i
13、;1.2104 - 0.3186i 1.7641 + 0.1458i;sqrt(A)= 1.0000 1.4142;1.7321 2.0000;sqrtm(A) = 0.5537 + 0.4644i 0.8070 - 0.2124i;1.2104 - 0.3186i 1.7641 + 0.1458i;其中,“A.(0.5)”表示向量的乘方,“A(0.5)”表示矩阵的乘方,“sqrt(A)”只定义在矩阵的单个元素上,即分别对矩阵的每个元素进行运算,“sqrtm(A)”表示对矩阵(方阵)的超越函数进行运算。1-4 求二元函数方程组:sin(x-y)=0,cos(x+y)=0 的解。答:x,y=so
14、lve(sin(x-y)=0,cos(x+y)=0,x,y)x =-1/4*pi 1/4*pi y =-1/4*pi1/4*pi1-5 求函数y(t)=exp(-t)*|sincost|的最大值(0=tf=(-1)*exp(-(abs(x)*abs(sin(cos(abs(x);x=fminsearch(f,0),ymax=exp(-(abs(x)*abs(sin(cos(abs(x)x =0ymax =0.84151-6 设D2y-3Dy+2y=x,y(0)=1,Dy(0)=0,求y(0.5)的值。答: f=D2y-3*Dy+2*y=x;g=dsolve(f,y(0)=1,Dy(0)=0,x
15、);x=0.5;y=eval(g)y =0.61001-7 求方程cos(t)2*exp(-0.1t)=0.5t的解。答: t1=solve(cos(t)2*exp(-0.1*t)=0.5*t,t);t=eval(t1)t =0.83291-8 求方程组:x2+y2=1,xy=2 的解。答: x,y=solve(x2+y2=1,x*y=2,x,y)x =-1/2*(1/2*5(1/2)+1/2*i*3(1/2)3+1/4*5(1/2)+1/4*i*3(1/2)-1/2*(1/2*5(1/2)-1/2*i*3(1/2)3+1/4*5(1/2)-1/4*i*3(1/2)-1/2*(-1/2*5(1
16、/2)+1/2*i*3(1/2)3-1/4*5(1/2)+1/4*i*3(1/2)-1/2*(-1/2*5(1/2)-1/2*i*3(1/2)3-1/4*5(1/2)-1/4*i*3(1/2)y =1/2*5(1/2)+1/2*i*3(1/2)1/2*5(1/2)-1/2*i*3(1/2)-1/2*5(1/2)+1/2*i*3(1/2)-1/2*5(1/2)-1/2*i*3(1/2)1-9 求f(kT)=kexp(-akT)的Z变换表达式。答: syms k t z;f=k*exp(-a*t);F=ztrans(f,t,z)f =k*z/exp(-a)/(z/exp(-a)-1)1-10 求一
17、阶微分方程Dx=ax+by(t),x(0)=x0 的解。答: f=Dx=a*x+b*y;x=dsolve(f,x(0)=x0,t)x =-b*y/a+exp(a*t)*(b*y+x0*a)/a1-12 求以下方程组边值问题的解。Df=3f+4g, Dg=-4f+3g, f(0)=0, g(0)=1答: f=Dx1=3*x1+4*x2,Dx2=-4*x1+3*x2;x1,x2=dsolve(f,x1(0)=0,x2(0)=1,t)x1 =exp(3*t)*sin(4*t)x2 =exp(3*t)*cos(4*t)计算机仿真技术与CAD基于MATLAB的控制系统(第3版)第2章 控制系统的数学模型
18、及其转换2-1 已知系统的传递函数为试用MATLAB建立其状态空间表达式。答:num=1 1 1;den=1 6 11 6;A,B,C,D=tf2ss(num,den)A =-6 -11 -6 1 0 0 0 1 0B = 1 0 0C = 1 1 1D =02-2 已知系统的状态空间表达式为试用MATLAB求其传递函数阵。答: A=0 1;-2 -3;B=1 0;1 1;C=1 0;1 1;D=zeros(2,2); num1,den1=ss2tf(A,B,C,D,1),num2,den2=ss2tf(A,B,C,D,2)num1 =0 1.0000 4.00000 2.0000 2.000
19、0den1 =1 3 2num2 =0 0.0000 1.00000 1.0000 1.0000den2 =1 3 22-3 已知两子系统的传递函数分别为,试利用MATLAB求两子系统串联和并联时系统的传递函数。答: num1=1;den1=1 3 2;num2=1;den2=1 3 0;num,den=series(num1,den1,num2,den2)num =0 0 0 0 1den =1 6 11 6 0 num1=1;den1=1 3 2;num2=1;den2=1 3 0;num,den=parallel(num1,den1,num2,den2)num =0 0 2 6 2den
20、 =1 6 11 6 02-4 设系统的状态空间表达式为若取线性变换阵 设新的状态变量为,则利用MATLAB求在新状态变量下,系统状态空间表达式。答:A=0 1;-2 -3;B=1;2;C=3 0;D=0;P=1 1;1 -1;A1,B1,C1,D1=ss2ss(A,B,C,D,P)A1 =-2 03 -1B1 =3-1C1 =1.5000 1.5000D1 =02-5 已知离散系统状态空间表达式试用MATLAB求其系统的脉冲传递函数。答:A=0 1;1 3;B=0;1;C=1 1;D=0;T=1;A1,B1,C1,D1=c2dm(A,B,C,D,T)A1 = 2.9598 7.3357 7.
21、3357 24.9669B1 = 1.9598 7.3357C1 = 1 1D1 = 0计算机仿真技术与CAD基于MATLAB的控制系统(第3版)第3章 连续系统的数字仿真3-1 已知线性定常系统的状态空间表达式为且初始状态为零,试利用四阶-龙格库塔法求系统的单位阶跃响应。答:%ex3_1.mr=1; A=0 1;-5 -6; B=2;0; C=1 2; d=0;Tf=5; h=0.1;x=zeros(length(A),1); y=0; t=0; for i=1:Tf/hK1=A* x+B*r;K2=A*(x+h*K1/2)+B*r; K3=A*(x+h*K2/2)+B*r;K4=A*(x+
22、h*K3)+B*r;x=x+h*(K1+2*K2+2*K3+K4)/6;y=y;C*x; t=t;t(i)+h;endplot(t,y) 3-2 设单位反馈系统的开环传递函数试利用二阶-龙格库塔法求系统的单位阶跃响应。答:%ex3_2.mr=1; numo=4; deno=1,2,0; num,den=cloop(numo,deno);A,b,C,d=tf2ss(num,den);Tf=5; h=0.1;x=zeros(length(A),1); y=0; t=0; for i=1:Tf/hK1=A* x+b*r;K2=A*(x+h*K1)+b*r;x=x+h*(K1+K2)/2; y=y;C
23、*x; t=t;t(i)+h;endplot(t,y) 3-4 利用input( )函数修改例3-1所给程序ex3_1.m,将其中给定的参数r,numo,deno,numh和denh利用键盘输入,使其变为连续控制系统面向传递函数的通用数字仿真程序。答:3-5 利用input( )函数修改例3-2所给程序ex3_2.m,将其中给定的参数r,P,W,W0和Wc利用键盘输入,使其变为连续控制系统面向结构图的通用数字仿真程序。答:计算机仿真技术与CAD基于MATLAB的控制系统(第3版)第4章 连续系统按环节离散化的数字仿真4-1 已知非线性习题如图题4-1所示,试利用连续系统按环节离散化的数字仿真方
24、法,求输出量y的动态响应,并与无非线性环节进行比较。(图略)答:%ex4_1.m %主程序R=10;P=0.1 1 0.5 1 5 5; 0 1 1 0 0 0; 2 1 2 0 0 0;10 1 10 0 0 0;W=0 0 0 -1; 1 0 0 0; 0 1 0 0; 0 0 1 0;W0=1;0;0;0;Wc=0 0 0 1;Tf=25;T=0.02;A=P(:,1);B=P(:,2);C=P(:,3);D=P(:,4);FZ=P(:,5);S=P(:,6);n=length(A);for i=1:nif (A(i)=0) if (B(i)=0) E(i)=0;F(i)=0;G(i)=
25、0;H(i)=0; L(i)=(C(i)+D(i)/T)/A(i);Q(i)=-D(i)/(A(i)*T); else E(i)=exp(-A(i)*T/B(i); F(i)=(D(i)/B(i)-C(i)/A(i)*(1-E(i)*B(i)/(A(i)*T)-1); G(i)=(D(i)/B(i)-C(i)/A(i)*(1+(E(i)-1)*(1+B(i)/(A(i)*T); H(i)=1;L(i)=D(i)/B(i);Q(i)=0; end else if (B(i)=0) E(i)=1;F(i)=0.5*C(i)*T/B(i);G(i)=F(i); H(i)=1;L(i)=D(i)/B(
26、i);Q(i)=0; else disp(A(i)=B(i)=0); end endendx=zeros(length(A),1);x0=x;z=x;u=zeros(length(A),1);u0=u;y=zeros(length(Wc(:,1),1);t=0;for j=1:Tf/T u1=u; u=W*x+W0*R;for i=1:n if (FZ(i)=0) if (FZ(i)=1) u(i)=saturation(u(i),S(i);end if (FZ(i)=2) u(i)=deadzone(u(i),S(i);end if (FZ(i)=3) u(i),u0(i)=backlash
27、(u0(i),u(i),u1(i),S(i); end if (FZ(i)=4) u(i)=sign1(u(i),S(i);end endendx1=x;for i=1:n z(i)=E(i)*z(i)+F(i)*u(i)+G(i)*u1(i);x(i)=H(i)*z(i)+L(i)*u(i)+Q(i)*u1(i);end for i=1:n if (FZ(i)=0) if (FZ(i)=5) x(i)=saturation(x(i),S(i);end if (FZ(i)=6) x(i)=deadzone(x(i),S(i);end if (FZ(i)=7) x(i),x0(i)=backla
28、sh(x0(i),x(i),x1(i),S(i); end if (FZ(i)=8) x(i)=sign1(x(i),S(i);end end endy=y,Wc*x;t=t,t(j)+T;endplot(t,y)%saturation.m %子程序function x=saturation(u,s)if (abs(u)=s)if (u0) x= s;else x=-s; endelsex= u;end 修改“P=0.1 1 0.5 1 0 0; 0 1 1 0 0 0; 2 1 2 0 0 0;10 1 10 0 0 0;”ex4_14-2 针对例3-2所给线性定常系统,试利用第4章所给程序
29、,求系统的单位阶跃响应,并对其结果进行比较。答:ex3_2ex4_14-3 针对例4-1所给系统,去掉饱和非线性环节后求系统的单位阶跃响应,并与例4-1所得结果进行比较。答:ex4_1 修改“P=0.1 1 0.5 1 0 0; 0 1 1 0 0 0; 2 1 2 0 0 0;10 1 10 0 0 0;”ex4_14-4 利用input( )函数修改例4-1所给程序ex4_1.m,将其中给定的参数R,P,W,W0和Wc利用键盘输入,使其变为连续控制系统按环节离散化的通用数字仿真程序。答:略计算机仿真技术与CAD基于MATLAB的控制系统(第3版)第5章 采样控制系统的数字仿真5-1 已知采
30、样控制系统的结构图如图题5-1所示(图略)。试利用采样控制系统的数字仿真方法,求当采样周期T=0.1s,且初始状态为零时,离散系统的单位阶跃响应。答:%ex5_1.mR=1;Gr=1;Fr=0;P=1 1 1 0 0 0;1 2 1 0 0 0;W=0 0;1 0;W0=1;0; Wc=0 1;Tf=25;Tm=0.1;T=0.01;A=P(:,1);B=P(:,2);C=P(:,3);D=P(:,4);FZ=P(:,5);S=P(:,6);n=length(A);n1=length(Fr);m1=length(Gr);for i=1:n if (A(i)=0) if (B(i)=0) E(i
31、)=0;F(i)=0;G(i)=0;H(i)=0; L(i)=(C(i)+D(i)/T)/ A(i); Q(i)=- D(i)/( A(i)*T);else E(i)=exp(-A(i)*T/ B(i); F(i)=(D(i)/B(i)- C(i)/ A(i)*(1- E(i)* B(i)/( A(i)*T)-1); G(i)=(D(i)/B(i)- C(i)/ A(i)*(1+( E(i)-1)*(1+ B(i)/( A(i)*T); H(i)=1; L(i)=D(i)/ B(i); Q(i)=0;endelse if (B(i)=0) E(i)=1;F(i)=0.5*C(i)*T/B(i)
32、;G(i)=F(i); H(i)=1;L(i)=D(i)/B(i);Q(i)=0; else disp(A(i)= B(i)=0); endendendx=zeros(length(A),1); x0=x;z=x;u=zeros(length(A),1); u0=u;y=zeros(length(Wc(:,1),1);t=0;Ur=zeros(n1,1); Er=zeros(m1,1);for ij=0:Tf/Tm;e=R-x(n);Er=e;Er(1:m1-1);ur=-Fr*Ur+ Gr*Er;Ur= ur;Ur(1:n1-1);for j=1:Tm/T u1= u; u = W*x+W0
33、*ur;for i=1:nif (FZ(i)=0)if (FZ(i)=1) u(i)=saturation(u(i), S(i);endif (FZ(i)=2) u(i)=deadzone(u(i), S(i);end if (FZ(i)=3) u(i), u0(i)=backlash(u0(i), u(i), u1(i), S(i);end if (FZ(i)=4) u(i)=sign1(u(i), S(i);end end end x1= x; for i=1:n z(i)=E(i)*z(i)+F(i)* u(i)+G(i)*u1(i); x(i)=H(i)*z(i)+L(i)* u(i)
34、+Q(i)*u1(i); end for i=1:n if (FZ(i)=0) if(FZ(i)=5) x(i)=saturation(x(i),S(i);end if(FZ(i)=6) x(i)=deadzone(x(i),S(i);end if (FZ(i)=7) x(i),x0(i)=backlash(x0(i),x(i),x1(i),S(i);end if(FZ(i)=8) x(i)=sign1(x(i),S(i);end endendy=y,Wc*x; t= t,t(length(t)+T;endendplot(t,y)ex5_15-2 针对例3-2和例4-1所给连续系统,试利用第5
35、章所给程序,求系统的单位阶跃响应,并对其结果进行比较分析。答:ex3_2ex4_1ex5_25-4 略计算机仿真技术与CAD基于MATLAB的控制系统(第3版)第6章 动态仿真集成环境Simulink6-1 已知单变量系统如图题6-1所示(图略),试利用Simulink求输出量y的动态响应。答:6-2 假设某一系由图题6-2所示的四个典型环节组成(图略),试利用Simulink求输出量y的动态响应。答:6-3 已知非线性系统如图题6-3所示,试利用Simulink求输出量y的动态响应。答:6-4 已知采样系统结构如图题6-4所示,试利用Simulink求输出量y的动态响应。答:6-5 已知非线性系统如图6-5所示,试利用Simulink分析非线性环节的c值与输入幅值对系统输出性能的影响。答:(1)r=1 c=0(2)r=0.5 c=0(3)r=1 c=1(4)r=1 c=26-6 已知线性定常系统的状态方程为试利用Simulink求u(t)为单位阶跃函数时系统状态方程的解。答:t,x,y=sim(ex6_6,10);plot(t,y(:,1),:b,t,y(:,2),-r);legend(y1,y2)
限制150内