《控制系统计算机辅助设计MATLAB语言与应用第2版》薛定宇课后习题答案.docx

上传人:b****3 文档编号:4978967 上传时间:2022-12-12 格式:DOCX 页数:69 大小:1.21MB
下载 相关 举报
《控制系统计算机辅助设计MATLAB语言与应用第2版》薛定宇课后习题答案.docx_第1页
第1页 / 共69页
《控制系统计算机辅助设计MATLAB语言与应用第2版》薛定宇课后习题答案.docx_第2页
第2页 / 共69页
《控制系统计算机辅助设计MATLAB语言与应用第2版》薛定宇课后习题答案.docx_第3页
第3页 / 共69页
《控制系统计算机辅助设计MATLAB语言与应用第2版》薛定宇课后习题答案.docx_第4页
第4页 / 共69页
《控制系统计算机辅助设计MATLAB语言与应用第2版》薛定宇课后习题答案.docx_第5页
第5页 / 共69页
点击查看更多>>
下载资源
资源描述

《控制系统计算机辅助设计MATLAB语言与应用第2版》薛定宇课后习题答案.docx

《《控制系统计算机辅助设计MATLAB语言与应用第2版》薛定宇课后习题答案.docx》由会员分享,可在线阅读,更多相关《《控制系统计算机辅助设计MATLAB语言与应用第2版》薛定宇课后习题答案.docx(69页珍藏版)》请在冰豆网上搜索。

《控制系统计算机辅助设计MATLAB语言与应用第2版》薛定宇课后习题答案.docx

《控制系统计算机辅助设计MATLAB语言与应用第2版》薛定宇课后习题答案

第1章 控制系统计算机辅助设计概述

第2章MATLAB语言程序设计基础

第3章线性控制系统的数学模型

第4章线性控制系统的计算机辅助分析

第5章Simulink在系统仿真中的应用

第6章控制系统计算机辅助设计

第1章控制系统计算机辅助设计概述

【1】

已阅,略

【2】

已阅,略

【3】

已经掌握help命令和Help菜单的使用方法

【4】

区别:

MATLAB语言实现矩阵的运算非常简单迅速,且效率很高,而用其他通用语言则不然,很多通用语言所实现的矩阵运算都是对矩阵维数具有一点限制的,即使限制稍小的,但凡维数过大,就会造成运算上的溢出出错或者运算出错,甚至无法处理数据的负面结果

【5】

【8】

(1)输入激励为正弦信号

(2)输入激励为脉冲模拟信号

(3)输入激励为时钟信号

(4)输入激励为随机信号

(5) 输入激励为阶跃信号

δ=0.3

δ=0.05

δ=0.7

结论:

随着非线性环节的死区增大,阶跃响应曲线的范围逐渐被压缩,可以想象当死区δ足够大时,将不再会有任何响应产生。

所以可以得到结论,在该非线性系统中,死区的大小可以改变阶跃响应的幅值和超调量。

死区越大,幅值、超调量将越小,而调整时间几乎不受其影响

第2章MATLAB语言程序设计基础

【1】

>>A=[1234;4 3 21;2341;3 2 41]

A=

1 2 3  4

 4   32  1

  2 3 4  1

  32  4    1

>> B=[1+4i,2+3i,3+2i,4+i;4+i,3+2i,2+3i,1+4i;2+3i,3+2i,4+i,1+4i;3+2i,2+3i,4+i,1+4i]

B =

 1.0000+4.0000i 2.0000 +3.0000i 3.0000 +2.0000i4.0000+ 1.0000i

  4.0000+1.0000i3.0000+ 2.0000i2.0000+3.0000i  1.0000+4.0000i

 2.0000+3.0000i 3.0000+2.0000i  4.0000+ 1.0000i1.0000+4.0000i

 3.0000+2.0000i2.0000+3.0000i4.0000+1.0000i 1.0000+4.0000i

>> A(5,6)=5

A=

 12 3  4  0  0

 4  3  2  1 0 0

23  4 1 00

3 2   41 0 0

  0 0   0 0 0 5

∴若给出命令A(5,6)=5则矩阵A的第5行6列将会赋值为5,且其余空出部分均补上0作为新的矩阵A,此时其阶数为5×6

【2】

相应的MATLAB命令:

B=A(2:

2:

end,:

>> A=magic(8)

A =

64 2  3 61  60 6  7 57

  9 55 54  12 1351   50 16

   17   47 462021 4342 24

 40 26  27  373630   31  33

  3234 352928  3839 25

41 23 22 44 45 19 1848

 49  15 1452 53111056

 85859  5 46263 1

>>B=A(2:

2:

end,:

B=

 9  5554 12 13  51 5016

40  26273736 30  3133

41 23  22 44  45 19  1848

 8  5859  5  46263   1

∴从上面的运行结果可以看出,该命令的结果是正确的

【3】

>>symsx s; f=x^5+3*x^4+4*x^3+2*x^2+3*x+6

f=

x^5+3*x^4+ 4*x^3+2*x^2+3*x+ 6

>>[f1,m]=simple(subs(f,x,(s-1)/(s+1)))

f1=

19 -(72*s^4+120*s^3+136*s^2 +72*s+ 16)/(s+1)^5

m=

simplify(100)

【4】

>>i=0:

63; s=sum(2.^sym(i))

s=

184467445

【5】

>>fori=1:

120

if(i==1|i==2)a(i)=1;

elsea(i)=a(i-1)+a(i-2);end

 if(i==120) a=sym(a); disp(a);end

  end

[ 1, 1, 2,3, 5, 8, 13,21, 34,55, 89,144,233,377, 610,987,1597,2584,4181,6765,10946,17711,28657,46368,75025,121393,196418,317811,514229,832040, 1346269, 2178309, 3524578,5702887,9227465,14930352,24157817, 39088169,63245986, 102334155,165580141,267914296,433494437, 701408733,1134903170,1836311903,2971215073,4807526976,7778742049,12586269025,20365011074, 32951280099, 53316291173,86267571272,5, 225851433717,365435296162,591286729879, 956722026041, 1548008755920,25, 41, 6557470319842,123,17167680177565,27777890035288, 44945570212853,72723460248141,117669030460994, 1935,3129,498454011879264,8065,28657, 2111485077978050,3416454622906707, 5527939700884757,8944394323791464, 14472334024676221, 23416728348467685,378896, 611591,99194853094755497, 1667088,259695496911122585,4289673, 679891637638612258,11101931,1779979416004714189,28816120,46630309, 75401429,122001604,197423167,319499905,516823072,83621143489848422977, 4706746049,2555169026, 354224848179261915075,5737084101,927372692193078999176,, 2427893228399975082453, 39284165730,63563248183,1,166413662096,269257485009,43566776258854844738105,789125814114,1143970552219,1845596366333,2986111268552,4831629526125, 7817740203437, 12649373488322,259,3311648143516982017180081,53583592549940]

【6】

>>

k=1;

fori=2:

1000

  forj=2:

  ifrem(i,j)==0

  if j<i,break;end

   ifj==i, A(k)=i;k=k+1;break; end

  end

 end

end

disp(A);

 Columns1through13

 2 3   5 7   11 13 17  19  2329 31 37 41

 Columns14through26

43 47 535961 6771 7379 83 89 97101

 Columns27through39

103 107109 113 127131 137139 149 151157 163  167

 Columns40through52

 173 179181 191193 197 199211  223  227229 233 239

Columns53 through65

 241 251 257 263 269 271 277  281283  293  307  311 313

Columns 66 through78

317331337 347349353359 367373 379  383 389397

 Columns79through91

  401 409 419  421 431433439443 449 457  461 463  467

 Columns92through104

  479487491  499503 509  521 523541 547557 563 569

 Columns 105through117

 571 577587 593599 601 607  613617  619 631641 643

Columns118through130

 647 653659661 673677  683 691701 709719727  733

 Columns131through143

 739743751757761769773 787  797 809811821  823

 Columns144through156

827829839853 857859863 877 881883887 907 911

 Columns157through168

 919  929  937 941 947953   967 971977983991  997

【7】

说明:

h和D在MATLAB中均应赋值,否则将无法实现相应的分段函数功能

symsx;h=input(‘h=’);D=input(‘D=’);

y=h.*(x>D)+(h.*x/D).*(abs(x)<=D)-h.*(x<-D)

【10】

functiony=fib(k)

ifnargin~=1,error('出错:

输入变量个数过多,输入变量个数只允许为1!

');endﻭifnargout>1,error('出错:

输出变量个数过多!

');end

ifk<=0,error('出错:

输入序列应为正整数!

');endﻭifk==1|k==2,y=1;ﻭelsey=fib(k-1)+fib(k-2);endﻭend

【13】

【14】

>> t=[-1:

0.001:

-0.2,-0.1999:

0.0001:

0.1999,0.2:

0.001:

1];

  y=sin(1./t);

 plot(t,y);

gridon;

【15】

(1)>>t=-2*pi:

0.01:

2*pi;

 r=1.0013*t.^2;

  polar(t,r);axis('square')

(2) >>t=-2*pi:

0.001:

2*pi;

 r=cos(7*t/2);

    polar(t,r);axis('square')

(3)>> t=-2*pi:

0.001:

2*pi;

 r=sin(t)./t;

  polar(t,r);axis('square')

(4) >>t=-2*pi:

0.001:

2*pi;

 r=1-cos(7*t).^3;

    polar(t,r);axis('square')

【17】

(1)z=xy

>> [x,y]=meshgrid(-3:

0.01:

3,-3:

0.01:

3);

  z=x.*y;

 mesh(x,y,z);

>>contour3(x,y,z,50);

(1)z=sin(xy)

>>[x,y]=meshgrid(-3:

0.01:

3,-3:

0.01:

3);

z=sin(x.*y);

   mesh(x,y,z);

>>contour3(x,y,z,50);

第3章线性控制系统的数学模型

【1】

(1)>>s=tf('s');

  G=(s^2+5*s+6)/(((s+1)^2+1)*(s+2)*(s+4))

Transferfunction:

   s^2+5s+6

--------------------------------

s^4+ 8s^3+22s^2+28s+16

(2)>>z=tf('z',0.1);

 H=5*(z-0.2)^2/(z*(z-0.4)*(z-1)*(z-0.9)+0.6)

Transfer function:

   5z^2-2z+0.2

---------------------------------------

z^4-2.3z^3 + 1.66z^2-0.36z+ 0.6

Samplingtime(seconds):

0.1

【2】

(1)该方程的数学模型

>>num=[6 4 22];den=[11032 32];

 G=tf(num,den)

Transfer function:

6s^3+ 4 s^2+2s +2

------------------------

s^3 +10s^2+32s+ 32

(2)该模型的零极点模型

>>G=zpk(G)

Zero/pole/gain:

6(s+0.7839)(s^2-0.1172s+0.4252)

-------------------------------------

   (s+4)^2 (s+2)

(3)由微分方程模型可以直接写出系统的传递函数模型

【5】

(1) >>P=[0;0;-5;-6;-i;i];Z=[-1+i;-1-i];

   G=zpk(Z,P,8)

Zero/pole/gain:

  8(s^2+2s+2)

-------------------------

s^2(s+5) (s+6)(s^2+1)

(2)P=[0;0;0;0;0;8.2];Z=[-3.2;-2.6];

  H=zpk(Z,P,1,'Ts',0.05,'Variable','q')

Zero/pole/gain:

(q+3.2)(q+2.6)

---------------

 q^5(q-8.2)

Sampling time(seconds):

 0.05

【8】

(1)闭环系统的传递函数模型

>> s=tf('s');

G=10/(s+1)^3;

Gpid=0.48*(1+1/(1.814*s)+0.4353*s/(1+0.4353*s));

 G1=feedback(Gpid*G,1)

Transfer function:

   7.58s^2+10.8 s +4.8

--------------------------------------------------------------

0.7896s^5 +4.183s^4+7.811s^3+13.81s^2+12.61s+4.8

(2)状态方程的标准型实现

>>G1=ss(G1)

a= 

   x1  x2 x3  x4    x5

 x1-5.297-2.473 -2.186-0.9981 -0.7598

 x2 4   0 0   0  0

 x3  0 2  0   0 0

x4   0 0  2 0 0

 x5   0  0 0   0.5  0

b=

   u1

x12

x2 0

 x3 0

 x4 0

x50

c=

  x1x2  x3x4  x5

   y1  0  0 0.60.4273 0.3799

d=

 u1

 y10

Continuous-time state-spacemodel.

(3)零极点模型

>>G1=zpk(G1)

Zero/pole/gain:

   9.6(s^2+1.424s+0.6332)

--------------------------------------------------------

(s+3.591) (s^2+1.398s+0.6254)(s^2+0.309s+2.707)

【11】

>>Ga=feedback(s/(s^2+2)*1/(s+1),(4*s+2)/(s+1)^2);

Gb=feedback(1/s^2,50);

 G=3*feedback(Gb*Ga,(s^2+2)/(s^3+14))

Transferfunction:

    3s^6+6s^5 + 3s^4+42 s^3+84 s^2+42s

---------------------------------------------------------------------------

                      

s^10 +3 s^9+55s^8+175 s^7+300 s^6+ 1323s^5+2656s^4 + 3715s^3

                           

              + 7732s^2+5602s+1400

【13】

c1=feedback(G5*G4,H3)=G5*G4/(1+G5*G4*H3)

c2=feedback(G3,H4*G4)=G3/(1+G3*H4*G4)

c3=feedback(c2*G2,H2)=c2*G2/(1+c2*G2*H2)=G3*G2/(1+G3*H4*G4+G3*G2*H1)

G=feedback(G6*c1*c3*G1,H1)=G6*c1*c3*G1/(1+G6*c1*c3*G1*H1)

=G6*G5*G4*G3*G2*G1/(1+G3*H4*G4+G3*G2*H1+G5*G4*H3+G5*G4*H3*G3*H4*G4+G5*G4*H3*G3*G2*H1+G6*G5*G4*G3*G2*G1*H1)

【14】

>> s=tf('s');

 c1=feedback(0.21/(1+0.15*s),0.212*130/s);

c2=feedback(c1*70/(1+0.0067*s)*(1+0.15*s)/(0.051*s),0.1/(1+0.01*s));

 G=(1/(1+0.01*s))*feedback(130/s*c2*1/(1+0.01*s)*(1+0.17*s)/(0.085*s),0.0044/(1+0.01*s))

Transferfunction:

0.004873s^5+1.036 s^4+61.15s^3+649.7s^2+ 1911s

---------------------------------------------------------------------------

                

4.357e-014s^10+2.422e-011s^9+5.376e-009s^8 +6.188e-007s^7 

                

+4.008e-005s^6+0.001496s^5+0.03256s^4 + 0.4191s^3  

                   

            +2.859s^2+8.408s

第4章线性控制系统的计算机辅助分析

【1】

(1)>> num=[1];den=[3 212];

 G=tf(num,den);

eig(G)

ans=

 -1.0000  

  0.1667+ 0.7993i

 0.1667- 0.7993i

分析:

由以上信息可知,系统的极点有2个是在s域的右半平面的,因此系统是不稳定的

(2)>>num=[1];den=[63211];

 G=tf(num,den);

   eig(G)

ans=

 -0.4949+ 0.4356i

-0.4949-0.4356i

 0.2449+0.5688i

   0.2449-0.5688i

分析:

由以上信息可知,系统的极点有2个是在s域的右半平面的,因此系统是不稳定的

(3) >> num=[1];den=[11-3 -12];

   G=tf(num,den);

   eig(G)

ans=

-2.0000

 -1.0000

  1.0000

 1.0000

分析:

由以上信息可知,系统的极点有2个是在s域的右半平面的,因此系统是不稳定的

(4)>> num=[31];den

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

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1