第一章习题3.请指出以下的变量名(函数名、M文件名)中,哪些是合法的?Abc2004xlil-1wu_2004a&bqst.u_xyz解:合法的变量名有:Abcwu_20044.指令窗操作(1)求[12+2×(7-4)]÷32的运算结果解:[12+2*(7-4)]/3^2ans=2(2)输入矩阵A=[1,2,3;4,5,6;7,8,9],观察输出。解:A=[1,2,3;4,5,6;7,8,9]A=123456789(3)输入以下指令,观察运算结果;clear;x=-8:0.5:8;y=x';X=ones(size(y))*x;Y=y*ones(size(x));R=sqrt(X.^2+Y.^2)+eps;Z=sin(R)./R;mesh(X,Y,Z);colormap(hot)xlabel('x'),ylabel('y'),zlabel('z')解:7.指令行编辑(1)依次键入以下字符并运行:y1=2*sin(0.3*pi)/(1+sqrt(5))解:y1=2*sin(0.3*pi)/(1+sqrt(5))y1=0.5000(2)通过反复按键盘的箭头键,实现指令回调和编辑,进行新的计算;y2=2*cos(0.3*pi)/(1+sqrt(5))解:y2=2*cos(0.3*pi)/(1+sqrt(5))y2=0.363311.编写题4中(3)的M脚本文件,并运行之。解:第二章习题1.在指令窗中键入x=1:0.2:2和y=2:0.2:1,观察所生成的数组。解:x=1:0.2:2x=1.00001.20001.40001.60001.80002.0000y=2:0.2:1y=Emptymatrix:1-by-02.要求在[0,2π]上产生50个等距采样数据的一维数组,试用两种不同的指令实现。解:y1=0:2*pi/49:2*piy2=linspace(0,2*pi,50)3.计算e-2tsint,其中t为[0,2π]上生成的10个等距采样的数组。解:t=linspace(0,2*pi,10);x=exp(-2*t).*sin(t)x=00.15910.06030.01310.0013-0.0003-0.0002-0.0001-0.0000-0.00004.已知A=4321,B=8765,计算矩阵A、B乘积和点乘.解:A=[1,2;3,4];B=[5,6;7,8];x=A*Bx=19224350x=A.*Bx=51221325.已知A=05314320,B=05314320,计算A&B,A|B,~A,A==B,AB.解:A=[0,2,3,4;1,3,5,0];B=[1,0,5,3;1,5,0,5];a1=A&Ba2=A|Ba3=~Aa4=(A==B)a5=(AB)a1=00111100a2=11111111a3=10000001a4=00001000a5=010100107.将题5中的A阵用串转换函数转换为串B,再size指令查看A、B的结构,有何不同?解:A=[0,2,3,4;1,3,5,0]B=num2str(A)size(A)size(B)A=02341350B=02341350ans=24ans=210第三章习题1.已知系统的响应函数为)sin(11)(tetyt,其中221arctan,1,要求用不同线型或颜色,在同一张图上绘制ε取值分别为0.2、0.4、0.6、0.8时,系统在t∈[0,18]区间内的响应曲线,并要求用ε=0.2和ε=0.8对他们相应的两条曲线进行文字标志。解:clccloseallclearallt=0:0.02:18;xi=[0.2,0.4,0.6,0.8]';sxi=sqrt(1-xi.^2);sita=atan(sxi./xi);y=1-exp(-xi*t).*sin(sxi*t+sita*ones(1,901))./(sxi*ones(1,901))plot(t,y(1),'r-',t,y(2),'b*',t,y(3),'g+',t,y(4),'k.')text(4.2,1.4,'\xi=0.2')text(3.8,0.9,'\xi=0.8')02468101214161800.20.40.60.811.21.41.6=0.2=0.82.用plot3、mesh、surf指令绘制2222111yxyxz三维图(x,y范围自定)。解:clc;closeall;clearall;x=-5:0.1:5;y=-5:0.1:5;[X,Y]=meshgrid(x,y);a=sqrt((1-X).^2+Y.^2);b=sqrt((1+X).^2+Y.^2);Z=1./(a+b);a1=sqrt((1-x).^2+y.^2);b1=sqrt((1+x).^2+y.^2);z=1./(a1+b1);subplot(1,3,1),plot3(x,y,z),xlabel('x'),ylabel('y'),zlabel('z');boxon;subplot(1,3,2),surf(X,Y,Z),xlabel('x'),ylabel('y'),zlabel('z');boxon;subplot(1,3,3),mesh(X,Y,Z),xlabel('x'),ylabel('y'),zlabel('z');boxon;3.对向量t进行以下运算可以构成三个坐标的值向量:x=sin(t),y=cos(t),z=t.利用指令plot3,并选用绿色的实线绘制相应的三维曲线.解:t=(0:0.01:2)*pi;x=sin(t);y=cos(t);z=t;plot3(x,y,z,'b-');boxon-1-0.500.51-1-0.500.5102468第四章习题1.请分别用for和while循环语句计算K=6302ii的程序,再写出一种避免循环的计算程序。(提示:可考虑利用MATLAB的sum(X,n)函数,实现沿数组X的第n维求和。)解:1)K=0;fori=0:63;K=K+2^i;endKK=1.8447e+0192)i=0;K=0;whilei=63;K=K+2^i;i=i+1;end;KK=1.8447e+0193)i=0;X=0:63;fori=0:63;X(i+1)=2^i;endsum(X,2)ans=1.8447e+019第五章习题1.将下列系统的传递函数模型用MATLAB语言表达出来。(1))170046842541254289()1700109329135()(23452341ssssssssssG解:num=[1,35,291,1093,1700];den=[1,289,254,2541,4684,1700];sys=tf(num,den)(2))15).(5).(1()3(15)(2sssssG解:z=-3;p=[-1,-5,-15];k=15;sys=zpk(z,p,k)(3))252).(1).(1()23.()2.(.100)(23223ssssssssssG解:z=[0,-2,-2];p=[-1,1];k=100;sys1=zpk(z,p,k);num=[1,3,2];den=[1,2,5,2];sys2=tf(num,den);sys=series(sys1,sys2)4.求题3中的系统模型的等效传递函数模型和零极点模型。解:A=[3,2,1;0,4,6;0,-3,-5];B=[1,2,3]';C=[1,2,5];D=0;sys=ss(A,B,C,D);systf=tf(sys)syszpk=zpk(sys)Transferfunction:20s^2-83s+138---------------------s^3-2s^2-5s+6Zero/pole/gain:20(s^2-4.15s+6.9)-----------------------(s-3)(s-1)(s+2)5.已知系统的动力学方程如下,试用MATLAB语言写出它们的传递函数。(1))(2)()(500)(50)(15)(......)3(trtrtytytyty解:num=[1,2,0];den=[1,15,50,500];sys=tf(num,den)Transferfunction:s^2+2s-------------------------s^3+15s^2+50s+500(2))(4)(4)(6)(3)(...trdttytytyty解:num=[4,0];den=[1,3,6,4];sys=tf(num,den)Transferfunction:4s---------------------s^3+3s^2+6s+46.试用MATLAB语言表示图5-13所示系统。当分别以y=x2和f为系统输出、输入时的传递函数模型和状态空间模型(图中k=7N/m,c1=0.5N/m.s-1,c2=0.2N/m.s-1,m1=3.5kg,m2=5.6kg)。解:)(tfk=7;c1=0.5;c2=0.2;m1=3.5;m2=5.6;num=[m1,c1,k];den=[m1*m2,c1*m1+c2*m1+c1*m2,c1*c2+m2*k,c1*k+c2*k,0];sys=tf(num,den)Transferfunction:3.5s^2+0.5s+7--------------------------------------19.6s^4+5.25s^3+39.3s^2+4.9s7.试用MATLAB语言分别表示图5-14所示系统质量m1,m2的位移x1,x2对输入f的传递函数X2(s)/F(s)和X1(s)/F(s),其中m1=12kg,m2=38kg,k=1000N/m,c=0.1N/m.s-1。解:m1=12;m2=38;k=1000;c=0.1;num=[c,k];den=[m1*m2,m1*c+m2*c,m1*k+m2*k,0,0];sys1=tf(num,den)num=[m1,c,k];den=[m1*m2,m1*c+m2*c,m1*k+m2*k,0,0];sys2=tf(num,den)Transferfunction:0.1s+1000---------------------------456s^4+5s^3+50000s^2Transferfunction:12s^2+0.1s+1000---------------------------456s^4+5s^3+50000s^2补充题求图示传递函数sys1=tf([1,2],[1,3,4]);sys2=tf([1,4,5],[1,6,7,8]);sys3=tf([1,0],[1,2]);sys4=tf([1],[1,3]);sys5=parallel(sys3,sys4);sys=feedback(sys1*sys2*sys5,1,-1)结果s^5+10s^4+39s^3+74s^2+66s+20-----------------------------------------------------------------s^7+14s^6+81s^5+262s^4+530s^3+684s^2+538s+212第六章习题2.将例6-2中的微分方程改写为以下形式:1)0(,0)0(0.)1.(..2..yyyyyy求μ分别为1、2时,在时间区间t=[0,20]微分方程的解。解:M函数文件functiondx=wffc(t,x,flag,ps)dx=zeros(2,1);dx(1)=x(2);dx(2)=ps*(1-x(1)^2)*x(2)-x(1);调用程序clc;closeall;clearall;tspan=[0,20];x0=[0,1];ps=1;[T1,X1]=ode45('wffc',tsp