控制系统计算机辅助设计MATLAB语言与应用第2版薛定宇课后习题答案.docx
《控制系统计算机辅助设计MATLAB语言与应用第2版薛定宇课后习题答案.docx》由会员分享,可在线阅读,更多相关《控制系统计算机辅助设计MATLAB语言与应用第2版薛定宇课后习题答案.docx(36页珍藏版)》请在冰豆网上搜索。
控制系统计算机辅助设计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;4321;2341;3241]
A=
1234
4321
2341
3241
>>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.0000i2.0000+3.0000i3.0000+2.0000i4.0000+1.0000i
4.0000+1.0000i3.0000+2.0000i2.0000+3.0000i1.0000+4.0000i
2.0000+3.0000i3.0000+2.0000i4.0000+1.0000i1.0000+4.0000i
3.0000+2.0000i2.0000+3.0000i4.0000+1.0000i1.0000+4.0000i
>>A(5,6)=5
A=
123400
432100
234100
324100
000005
∴若给出命令A(5,6)=5则矩阵A的第5行6列将会赋值为5,且其余空出部分均补上0作为新的矩阵A,此时其阶数为5×6
【2】
相应的MATLAB命令:
B=A(2:
2:
end,:
)
>>A=magic(8)
A=
642361606757
955541213515016
1747462021434224
4026273736303133
3234352928383925
4123224445191848
4915145253111056
858595462631
>>B=A(2:
2:
end,:
)
B=
955541213515016
4026273736303133
4123224445191848
858595462631
∴从上面的运行结果可以看出,该命令的结果是正确的
【3】
>>symsxs;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=
0615
【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,,,,,5,1,6,7,3,70,03,73,76,49,,074,099,173,272,2445,3717,6162,9879,6041,55920,81961,37881,19842,106,177565,035288,212853,248141,0460994,,1170129,1879264,8065,,,,00884757,,0,5,6,1,0,88,,673,58,931,,120,,029,4,2,9905,3072,2977,46049,69026,15075,40,99176,083277,082453,165730,248183,7576,62096,,4738105,5814114,9,186333,,284885,9,3488322,9,0,0]
【6】
>>
k=1;
fori=2:
1000
forj=2:
i
ifrem(i,j)==0
ifj
ifj==i,A(k)=i;k=k+1;break;end
end
end
end
disp(A);
Columns1through13
2357111317192329313741
Columns14through26
434753596167717379838997101
Columns27through39
103107109113127131137139149151157163167
Columns40through52
173179181191193197199211223227229233239
Columns53through65
241251257263269271277281283293307311313
Columns66through78
317331337347349353359367373379383389397
Columns79through91
401409419421431433439443449457461463467
Columns92through104
479487491499503509521523541547557563569
Columns105through117
571577587593599601607613617619631641643
Columns118through130
647653659661673677683691701709719727733
Columns131through143
739743751757761769773787797809811821823
Columns144through156
827829839853857859863877881883887907911
Columns157through168
919929937941947953967971977983991997
【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)
Transferfunction:
5z^2-2z+0.2
---------------------------------------
z^4-2.3z^3+1.66z^2-0.36z+0.6
Samplingtime(seconds):
0.1
【2】
(1)该方程的数学模型
>>num=[6422];den=[1103232];
G=tf(num,den)
Transferfunction:
6s^3+4s^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)
Samplingtime(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)
Transferfunction:
7.58s^2+10.8s+4.8
--------------------------------------------------------------
0.7896s^5+4.183s^4+7.811s^3+13.81s^2+12.61s+4.8
(2)状态方程的标准型实现
>>G1=ss(G1)
a=
x1x2x3x4x5
x1-5.297-2.473-2.186-0.9981-0.7598
x240000
x302000
x400200
x50000.50
b=
u1
x12
x20
x30
x40
x50
c=
x1x2x3x4x5
y1000.60.42730.3799
d=
u1
y10
Continuous-timestate-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+42s^3+84s^2+42s
---------------------------------------------------------------------------
s^10+3s^9+55s^8+175s^7+300s^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.036s^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=[3212];
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=[3006005031];
G=tf(num,den);
eig(G)
ans=
-1.9152
-0.1414
0.0283+0.1073i
0.0283-0.1073i
分析:
由以上信息可知,系统的极点有2个是在s域的右半平面的,因此系统是不稳定的
(5)>>s=tf('s');
G=0.2*(s+2)/(s*(s+0.5)*(s+0.8)*(s+3)+0.2*(s+2));
eig(G)
ans=
-3.0121
-1.0000
-0.1440+0.3348i
-0.1440-0.3348i
分析:
由以上信息可知,系统的所有极点都在s域的左半平面,因此系统是稳定的
【2】
(1)>>num=[-32];den=[1-0.2-0.250.05];
H=tf(num,den,'Ts',0.5);
abs(eig(H)')
ans=
0.50000.50000.2000
分析:
由以上信息可知,所有特征根的模均小于1,因此该系统是稳定的
(2)>>num=[3-0.39-0.09];den=[1-1.71.040.2680.024];
H=tf(num,den,'Ts',0.5);
abs(eig(H)')
ans=
1.19391.19390.12980.1298
分析:
由以上信息可知,由于前两个特征根的模均大于1,因此该系统是不稳定的
(3)>>num=[13-0.13];den=[11.3520.44810.0153-0.01109-0.001043];
H=tf(num,den,'Ts',0.5);
abs(eig(H)')
ans=
0.87430.15200.27230.23440.1230
分析:
由以上信息可知,所有特征根的模均小于1,因此该系统是稳定的
(4)>>num=[2.1211.7615.91];den=[1-7.368-20.15102.480.39-340];
H=tf(num,den,'Ts',0.5,'Variable','q');
abs((eig(H))')
ans=
8.23493.21152.34152.34322.3432
分析:
由以上信息可知,所有特征根的模均大于1,因此该系统是不稳定的
【3】
(1)>>A=[-0.2,0.5,0,0,0;0,-0.5,1.6,0,0;0,0,-14.3,85.8,0;0,0,0,-33.3,100;0,0,0,0,-10];
eig(A)
ans=
-0.2000
-0.5000
-14.3000
-33.3000
-10.0000
分析:
由以上信息可知,该连续线性系统的A矩阵的所有特征根的实部均为负数,因此该系统是稳定的
(2)>>F=[17,24.54,1,8,15;23.54,5,7,14,16;4,6,13.75,20,22.5589;10.8689,1.2900,19.099,…
21.896,3;11,18.0898,25,2.356,9];
abs(eig(F)')
ans=
63.720723.539312.436613.323119.7275
分析:
由以上信息可知,该离散系统的F矩阵的所有特征根的模均大于1,因此该系统是不稳定的
【4】
>>A=[-3121;0-4-2-1;12-11;-1-11-2];
B=[10;02;03;11];C=[122-1;21-12];
D=[00;00];
G=ss(A,B,C