Matlab程序设计教程(第二版)刘卫国课后参考答案
MATLAB程序设计与应用刘卫国第二版实验六答案
实验六 高层绘图操作1.一、设23sin 0.5cos 0~21011x y x x x π⎡⎤=+=⎢⎥+⎣⎦,在区间取点,绘制函数的曲线。
2.二、 已知213)2cos(212y y y x y x y ⨯===,,,完成下列操作:(1)在同一坐标系下用不同的颜色和线型绘制三条曲线。
(2)以子图形式绘制三条曲线。
(3)分别用条形图、阶梯图、杆图和填充图绘制三条曲线。
三、已知 ⎪⎪⎩⎪⎪⎨⎧>++≤+=0)1ln(21022x x x x e x y ,,π 在55≤≤-x 区间绘制函数曲线。
四、绘制极坐标曲线)sin(θρn b a +=,并分析参数n b a 、、对曲线形状的影响。
五、 绘制函数的曲面图和等高线。
422cos cos y x ye x z +-=其中x 的21个值均匀分布在[-5,5]范围,y 的31个值均匀分布在[0,10],要求使用s ubplot(2,1,1)和subplot(2,1,2)将生产的曲面图和等高线图画在同一窗口上。
答案:1. x=0:pi/100:2*pi;y=(0.5+3*sin(x)/(1+x.^2))*cos(x);plot(x,y)2.(1) y1=x.^2;y2=cos(2*x);y3=y1.*y2;plot(x,y1,'b-',x,y2,'r:',x,y3,'y--');(2)1,y1=x.^2;plot(x,y1);2,y2=cos(2*x);plot(x,y2);3,y1=x.^2;Y2=cos(2*x);y3=y1.*y2;plot(x,y3);(3)1,x=0:0.5:6;y1=x.^2;subplot(2,2,1);bar(x,y1,'b')title('bar(x,y,"b")');axis([0,6,0,40])subplot(2,2,2);stairs(x,y1,'r')title('stairs(x,y,"r")');axis([0,6,0,40])subplot(2,2,3);stem(x,y1,'g')title('stem(x,y,"g")');axis([0,6,0,40])subplot(2,2,4);fill(x,y1,'y')title('fill(x,y,"y")');axis([0,6,0,40])2.x=0:2*pi/100:2*pi;y2=cos(2*x);subplot(2,2,1);bar(x,y2,'b')title('bar(x,y,"b")');axis([0,2*pi,0,1])subplot(2,2,2);stairs(x,y2,'r')title('stairs(x,y,"r")');axis([0,2*pi,0,1]) subplot(2,2,3);stem(x,y2,'g')title('stem(x,y,"g")');axis([0,2*pi,0,1])subplot(2,2,4);fill(x,y2,'y')title('fill(x,y,"y")');axis([0,2*pi,0,1])3.x=0:0.05:6;y1=x.^2;y2=cos(2*x);y3=y1.*y2;subplot(2,2,1);bar(x,y3,'b')title('bar(x,y,"b")');axis([0,6,0,1])subplot(2,2,2);stairs(x,y3,'r')title('stairs(x,y,"r")');axis([0,6,0,1])subplot(2,2,3);stem(x,y3,'g')title('stem(x,y,"g")');axis([0,6,0,1])subplot(2,2,4);fill(x,y3,'y')title('fill(x,y,"y")');axis([0,6,0,1])3.x=-5:0.1:5;if x<=0y=(x+pi.^0.5)/exp(2);elsey=0.5*log(x+(1+x.^2).^0.5);endplot(x,y)4. a=input('please input a:')b=input('please input b:')n=input('please input n:')theta=0:0.05:2*pi;rho=a.*sin(b+n.*theta);polar(theta,rho,'g')5.x=-5:0.5:5;y=0:0.3:10;[x,y]=meshgrid(x);z=cos(x).*cos(y).*exp(-0.25.*(x.^2+y.^2).^0.5); subplot(2,1,1)xlabel('x-axis'),ylabel('y-axis'),zlabel('z-axis') plot3(x,y,z,'b')title('surf')subplot(2,1,2)xlabel('x-axis'),ylabel('y-axis'),zlabel('z-axis') contour3(x,y,z,12,'y')title('contour')。
MATLAB程序设计与应用(刘卫国编)课后实验答案
实验一 MATLAB 运算基础1. 先求以下表达式的值,然后显示MATLAB 工作空间的利用情形并保留全数变量。
(1) 0122sin851z e=+(2) 21ln(2z x =+,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦ (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+=++=-- (4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:: 解:2. 已知:1234413134787,2033657327A B --⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦求以下表达式的值:(1) A+6*B 和A-B+I (其中I 为单位矩阵)(2) A*B 和A.*B(3) A^3和A.^3(4) A/B 及B\A(5) [A,B]和[A([1,3],:);B^2]解:运算结果:3. 设有矩阵A 和B1234530166789101769,111213141502341617181920970212223242541311A B ⎡⎤⎡⎤⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥==-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦ (1) 求它们的乘积C 。
(2) 将矩阵C的右下角3×2子矩阵赋给D。
(3) 查看MATLAB工作空间的利用情形。
解:. 运算结果:4. 完成以下操作:(1) 求[100,999]之间能被21整除的数的个数。
(2) 成立一个字符串向量,删除其中的大写字母。
解:(1) 结果:(2). 成立一个字符串向量例如:ch='ABC123d4e56Fg9';那么要求结果是:实验二 MATLAB 矩阵分析与处置1. 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 别离为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A O S +⎡⎤=⎢⎥⎣⎦。
MATLAB程序设计与应用(刘卫国编)课后实验答案
实验一 MATLAB 运算基础1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。
(1) 0122sin851z e =+(2) 21ln(2z x =+,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦ (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+=++=--(4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:: 解:2. 已知:1234413134787,2033657327A B --⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦求下列表达式的值:(1) A+6*B 和A-B+I (其中I 为单位矩阵)(2) A*B 和A.*B(3) A^3和A.^3(4) A/B 及B\A(5) [A,B]和[A([1,3],:);B^2]解:运算结果:3. 设有矩阵A 和B1234530166789101769,111213141502341617181920970212223242541311A B ⎡⎤⎡⎤⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥==-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦ (1) 求它们的乘积C 。
(2) 将矩阵C 的右下角3×2子矩阵赋给D 。
(3) 查看MATLAB 工作空间的使用情况。
解:. 运算结果:4. 完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。
(2) 建立一个字符串向量,删除其中的大写字母。
解:(1) 结果:(2). 建立一个字符串向量例如:ch='ABC123d4e56Fg9';则要求结果是:实验二 MATLAB 矩阵分析与处理1. 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A O S +⎡⎤=⎢⎥⎣⎦。
Matlab_程序的设计教程(第二版)刘卫国_课后参考答案
第二章1 求下列表达式的值。
(1)w=sqrt(2)*(1+0.34245*10^(-6))(2)a=3.5;b=5;c=-9.8;x=(2*pi*a+(b+c)/(pi+a*b*c)-exp(2))/tan(b+c)+a (3)a=3.32;b=-7.9;y=2*pi*a^(2)*[(1-pi/4)*b-(0.8333-pi/4)*a](4)t=[2,1-3*i;5,-0.65];z=1/2*exp(2*t)*log(t+sqrt(1+t^(2)))2 求下列表达式A=[-1,5,-4;0,7,8;3,61,7];B=[8,3,-1;2,5,3;-3,2,0];(1)A+6*B A^2-B+eyeA*B A.*B B.*A(3)A/B B\A(4)[A,B] [A([1,3],:);B^2]3 根据已知,完成下列操作(1)A=[23,10,-0.778,0;41,-45,65,5;32,5,0,32;6,-9.54,54,3.14];K=find(A>10&A<25);A(K)(2)A=[23,10,-0.778,0;41,-45,65,5;32,5,0,32;6,-9.54,54,3.14];B=A(1:3,:) C=A(:,1:2) D=A(2:4,3:4) E=B*C(3)E<D E&D E|D ~E|~D第三章1 从键盘输入一个3位数,将它反向输出,如输入639,出数936。
f=input('输入一个数:','s');f(end :-1:1)2 用if语句score=input('请输入成绩:'); if score>=90&&score<=100 disp('A');elseif score>=80&&score<=89disp('B');elseif score>=70&&score<=79disp('C');elseif score>=60&&score<=69;disp('D'); elseif score<60&&score>=0;disp('E');elsedisp('出错');end用switch语句score=input('请输入成绩:'); switch fix(score/10)case {9,10}disp('A');case {8}disp('B');case {7}disp('C');case {6}disp('D');case {0,1,2,3,4,5}disp('E');otherwisedisp('出错');end第四章1题1) X=0:10;Y=x-x.^3/6;Plot(x,y)2) t=0:0.01:2*pi;x=8.*cos(t);y=4*sqrt(2).*sin(t);plot(x,y)2题M文件:t=-pi:pi/10:pi;y=1./(1+exp(-t));subplot(2,2,1);bar(t,y,'b');title('bar(t,y,''b'')');axis([-5,5,-3,3]); subplot(2,2,2);stairs(t,y,'k');title('stairs (t,y,''k'')');axis([-5,5,-3,3]); subplot(2,2,3);stem(t,y,'m');title('stem (t,y,''m'')');axis([-5,5,-3,3]); subplot(2,2,4);loglog(t,y,'g');title('loglog(t,y,''g'')');axis([-5,5,-3,3]);3题1)t=0:pi/100:2*pi;y=5*cos(t)+4;polar(t,y,'-*')2)t=-pi/3:pi/100:pi/3;r=5*sin(t).^2./cos(t);polar(t,r,'-*')4题1)t=0:pi/100:2*pi;x=exp(-t/20).*cos(t);y=exp(-t/20).*sin(t);z=t;plot3(x,y,z)第五章:1题A=randn(10,5)1) X=mean(A)Y=std(A,0,1)2) max(max(A))min(min(A))3) B=sum(A,2)sum(B)4) sort(A);sort(A,2,'descend')2题1)t=0:15:90;x1=[0,0.2588,0.5000,0.7071,0.8660,0.9659,1.0000];a1=0:1:90;y1=interp1(t,x1,a1,'spline')x2=[0,0.2679,0.5774,1.0000,1.7320,3.7320,NaN]; a2=0:1:75;y2= interp1(t,x2,a2,'spline')p1=polyfit(t,x1,5);z1=polyval(p1,a1)p2=polyfit(t,x2,5);z2=polyval(p2,a2)4题P=[2,-3,5,13];Q=[1,5,8];p=polyder(P)p1=polyder(P,Q)[p,q]= polyder(P,Q)5题P1=[1,2,4,0,5];P2=[1,0];P3=[1,2,3];1) P4=conv(P2,P3)P4=[0,1,2,3,0];P=P1+P42) x=roots(P)3) A=[-1,1.2,-1.4;0.75,2,3.5;0,5,2.5];Y=polyval(P,A)4) Z=polyvalm(P,A)第8章1.分解因式. (2)factor(sym(‘5135’))(1)syms A x y;A=x^4-y^4;factor(A)2.求函数的极限(1)syms x; (2)syms x;limit((x-2)/(x^2-4),x,2)f=(sqrt(pi)-sqrt(acos(x)))/sqrt(x+1);limit(f,x,-1,'right')3.求函数的符号导数。
MATLAB程序设计与应用(刘卫国编)课后实验答案
实验一 MATLAB 运算基础1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。
(1) 0122sin851z e =+ (2) 221ln(1)2z x x =++,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦ (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+=++=-- (4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:0.5:2.5 解: M 文件:z1=2*sin(85*pi/180)/(1+exp(2))x=[2 1+2*i;-.45 5];z2=1/2*log(x+sqrt(1+x^2))a=-3.0:0.1:3.0;z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2) t=0:0.5:2.5; z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1)运算结果:z1=2*sin(85*pi/180)/(1+exp(2))x=[2 1+2*i;-.45 5];z2=1/2*log(x+sqrt(1+x^2))a=-3.0:0.1:3.0;z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2)t=0:0.5:2.5;z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1) z1 =0.2375z2 =0.7114 - 0.0253i 0.8968 + 0.3658i0.2139 + 0.9343i 1.1541 - 0.0044iz3 =Columns 1 through 40.7388 + 3.1416i 0.7696 + 3.1416i 0.7871 + 3.1416i 0.7913 + 3.1416iColumns 5 through 80.7822 + 3.1416i 0.7602 + 3.1416i 0.7254 + 3.1416i 0.6784 + 3.1416iColumns 9 through 120.6196 + 3.1416i 0.5496 + 3.1416i 0.4688 + 3.1416i 0.3780 + 3.1416iColumns 13 through 160.2775 + 3.1416i 0.1680 + 3.1416i 0.0497 + 3.1416i -0.0771 + 3.1416iColumns 17 through 20-0.2124 + 3.1416i -0.3566 + 3.1416i -0.5104 + 3.1416i -0.6752 + 3.1416iColumns 21 through 24-0.8536 + 3.1416i -1.0497 + 3.1416i -1.2701 + 3.1416i -1.5271 + 3.1416iColumns 25 through 28-1.8436 + 3.1416i -2.2727 + 3.1416i -2.9837 + 3.1416i -37.0245Columns 29 through 32-3.0017 -2.3085 -1.8971 -1.5978Columns 33 through 36-1.3575 -1.1531 -0.9723 -0.8083Columns 37 through 40-0.6567 -0.5151 -0.3819 -0.2561Columns 41 through 44-0.1374 -0.0255 0.0792 0.1766Columns 45 through 480.2663 0.3478 0.4206 0.4841Columns 49 through 520.5379 0.5815 0.6145 0.6366Columns 53 through 560.6474 0.6470 0.63510.6119Columns 57 through 600.5777 0.5327 0.4774 0.4126Column 610.3388z4 =0 0.2500 0 1.2500 1.0000 2.25002. 已知:1234413134787,2033657327A B --⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦求下列表达式的值:(1) A+6*B 和A-B+I (其中I 为单位矩阵)(2) A*B 和A.*B(3) A^3和A.^3(4) A/B 及B\A(5) [A,B]和[A([1,3],:);B^2]解: M 文件:A=[12 34 -4;34 7 87;3 65 7];B=[1 3 -1;2 0 3;3 -2 7]; A+6.*BA-B+eye(3)A*BA.*BA^3A.^3A/BB\A[A,B][A([1,3],:);B^2]运算结果:A=[12 34 -4;34 7 87;3 65 7];B=[1 3 -1;2 0 3;3 -2 7]; A+6.*BA-B+eye(3)A*BA.*BA^3A.^3A/BB\A[A,B][A([1,3],:);B^2]ans =18 52 -1046 7 10521 53 49ans =12 31 -332 8 840 67 1ans =68 44 62309 -72 596154 -5 241ans =12 102 468 0 2619 -130 49ans =37226 233824 48604247370 149188 60076678688 454142 118820 ans =1728 39304 -6439304 343 65850327 274625 343 ans =16.4000 -13.6000 7.600035.8000 -76.2000 50.200067.0000 -134.0000 68.0000ans =109.4000 -131.2000 322.8000-53.0000 85.0000 -171.0000-61.6000 89.8000 -186.2000ans =12 34 -4 1 3 -134 7 87 2 0 33 65 7 3 -2 7ans =12 34 -43 65 74 5 111 0 1920 -5 403. 设有矩阵A 和B1234530166789101769,111213141502341617181920970212223242541311A B ⎡⎤⎡⎤⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥==-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦(1) 求它们的乘积C。
Matlab程序设计教程[第二版]刘卫国课后参考答案及解析
第二章1 求下列表达式的值。
(1)w=sqrt(2)*(1+0.34245*10^(-6))(2)a=3.5;b=5;c=-9.8;x=(2*pi*a+(b+c)/(pi+a*b*c)-exp(2))/tan(b+c)+a(3)a=3.32;b=-7.9;y=2*pi*a^(2)*[(1-pi/4)*b-(0.8333-pi/4)*a](4)t=[2,1-3*i;5,-0.65];z=1/2*exp(2*t)*log(t+sqrt(1+t^(2)))2 求下列表达式A=[-1,5,-4;0,7,8;3,61,7];B=[8,3,-1;2,5,3;-3,2,0];(1)A+6*B A^2-B+eye(2)A*B A.*B B.*A(3)A/B B\A(4)[A,B] [A([1,3],:);B^2]3 根据已知,完成下列操作(1)A=[23,10,-0.778,0;41,-45,65,5;32,5,0,32;6,-9.54,54,3.14]; K=find(A>10&A<25);A(K)(2)A=[23,10,-0.778,0;41,-45,65,5;32,5,0,32;6,-9.54,54,3.14]; B=A(1:3,:) C=A(:,1:2) D=A(2:4,3:4) E=B*C(3)E<D E&D E|D ~E|~D第三章1 从键盘输入一个3位数,将它反向输出,如输入639,出数936。
f=input('输入一个数:','s');f(end :-1:1)2 用if语句score=input('请输入成绩:');if score>=90&&score<=100disp('A');elseif score>=80&&score<=89disp('B');elseif score>=70&&score<=79disp('C');elseif score>=60&&score<=69;disp('D');elseif score<60&&score>=0;disp('E');elsedisp('出错');end用switch语句score=input('请输入成绩:');switch fix(score/10)case {9,10}disp('A');case {8}disp('B');case {7}disp('C');case {6}disp('D');case {0,1,2,3,4,5}disp('E');otherwisedisp('出错');end第四章1题1) X=0:10;Y=x-x.^3/6;Plot(x,y)2) t=0:0.01:2*pi;x=8.*cos(t);y=4*sqrt(2).*sin(t);plot(x,y)2题M文件:t=-pi:pi/10:pi;y=1./(1+exp(-t));subplot(2,2,1);bar(t,y,'b');title('bar(t,y,''b'')');axis([-5,5,-3,3]); subplot(2,2,2);stairs(t,y,'k');title('stairs (t,y,''k'')');axis([-5,5,-3,3]); subplot(2,2,3);stem(t,y,'m');title('stem (t,y,''m'')');axis([-5,5,-3,3]); subplot(2,2,4);loglog(t,y,'g');title('loglog(t,y,''g'')');axis([-5,5,-3,3]);3题1) t=0:pi/100:2*pi;y=5*cos(t)+4;polar(t,y,'-*')2) t=-pi/3:pi/100:pi/3;r=5*sin(t).^2./cos(t);polar(t,r,'-*')4题1)t=0:pi/100:2*pi;x=exp(-t/20).*cos(t);y=exp(-t/20).*sin(t);z=t;plot3(x,y,z)第五章:1题A=randn(10,5)1) X=mean(A)Y=std(A,0,1)2) max(max(A))min(min(A))3) B=sum(A,2)sum(B)4) sort(A);sort(A,2,'descend')2题1) t=0:15:90;x1=[0,0.2588,0.5000,0.7071,0.8660,0.9659,1.0000]; a1=0:1:90;y1=interp1(t,x1,a1,'spline')x2=[0,0.2679,0.5774,1.0000,1.7320,3.7320,NaN];a2=0:1:75;y2= interp1(t,x2,a2,'spline')p1=polyfit(t,x1,5);z1=polyval(p1,a1)p2=polyfit(t,x2,5);z2=polyval(p2,a2)4题P=[2,-3,5,13];Q=[1,5,8];p=polyder(P)p1=polyder(P,Q)[p,q]= polyder(P,Q)5题P1=[1,2,4,0,5];P2=[1,0];P3=[1,2,3];1) P4=conv(P2,P3)P4=[0,1,2,3,0];P=P1+P42) x=roots(P)3) A=[-1,1.2,-1.4;0.75,2,3.5;0,5,2.5];Y=polyval(P,A)4) Z=polyvalm(P,A)第8章1.分解因式. (2)factor(sym(‘5135’))(1)syms A x y;A=x^4-y^4;factor(A)2.求函数的极限(1)syms x; (2)syms x;limit((x-2)/(x^2-4),x,2)f=(sqrt(pi)-sqrt(acos(x)))/sqrt(x+1);limit(f,x,-1,'right')3.求函数的符号导数。
MATLAB程序设计与应用(刘卫国编)课后实验答案
实验一 MATLAB 运算基础1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。
(1) 0122sin851z e =+ (2) 221ln(1)2z x x =++,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦ (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+=++=-- (4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:0.5:2.5 解:M 文件:z1=2*sin(85*pi/180)/(1+exp(2))x=[2 1+2*i;-.45 5];z2=1/2*log(x+sqrt(1+x^2))a=-3.0:0.1:3.0;z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2)t=0:0.5:2.5; z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1)运算结果:z1=2*sin(85*pi/180)/(1+exp(2))x=[2 1+2*i;-.45 5];z2=1/2*log(x+sqrt(1+x^2))a=-3.0:0.1:3.0;z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2)t=0:0.5:2.5;z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1)z1 =0.2375z2 =0.7114 - 0.0253i 0.8968 + 0.3658i0.2139 + 0.9343i 1.1541 - 0.0044iz3 =Columns 1 through 40.7388 + 3.1416i 0.7696 + 3.1416i 0.7871 + 3.1416i 0.7913 + 3.1416iColumns 5 through 80.7822 + 3.1416i 0.7602 + 3.1416i 0.7254 + 3.1416i 0.6784 + 3.1416iColumns 9 through 120.6196 + 3.1416i 0.5496 + 3.1416i 0.4688 + 3.1416i 0.3780 + 3.1416iColumns 13 through 160.2775 + 3.1416i 0.1680 + 3.1416i 0.0497 + 3.1416i -0.0771 + 3.1416iColumns 17 through 20-0.2124 + 3.1416i -0.3566 + 3.1416i -0.5104 + 3.1416i -0.6752 + 3.1416iColumns 21 through 24-0.8536 + 3.1416i -1.0497 + 3.1416i -1.2701 + 3.1416i -1.5271 + 3.1416iColumns 25 through 28-1.8436 + 3.1416i -2.2727 + 3.1416i -2.9837 + 3.1416i -37.0245 Columns 29 through 32-3.0017 -2.3085 -1.8971 -1.5978 Columns 33 through 36-1.3575 -1.1531 -0.9723 -0.8083 Columns 37 through 40-0.6567 -0.5151 -0.3819 -0.2561 Columns 41 through 44-0.1374 -0.0255 0.0792 0.1766 Columns 45 through 480.2663 0.3478 0.4206 0.4841 Columns 49 through 520.5379 0.5815 0.6145 0.6366 Columns 53 through 560.6474 0.6470 0.6351 0.6119 Columns 57 through 600.5777 0.5327 0.4774 0.4126 Column 610.3388z4 =0 0.2500 0 1.2500 1.0000 2.25002. 已知:1234413134787,2033657327A B --⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦求下列表达式的值:(1) A+6*B 和A-B+I (其中I 为单位矩阵)(2) A*B 和A.*B(3) A^3和A.^3(4) A/B 及B\A(5) [A,B]和[A([1,3],:);B^2]解:M 文件:A=[12 34 -4;34 7 87;3 65 7];B=[1 3 -1;2 0 3;3 -2 7]; A+6.*BA-B+eye(3)A*BA.*BA^3A.^3A/BB\A[A,B][A([1,3],:);B^2]运算结果:A=[12 34 -4;34 7 87;3 65 7];B=[1 3 -1;2 0 3;3 -2 7];A+6.*BA-B+eye(3)A*BA.*BA^3A.^3A/BB\A[A,B][A([1,3],:);B^2]ans =18 52 -1046 7 10521 53 49ans =12 31 -332 8 840 67 1ans =68 44 62309 -72 596154 -5 241ans =12 102 468 0 2619 -130 49ans =37226 233824 48604247370 149188 60076678688 454142 118820ans =1728 39304 -6439304 343 65850327 274625 343ans =16.4000 -13.6000 7.600035.8000 -76.2000 50.200067.0000 -134.0000 68.0000ans =109.4000 -131.2000 322.8000-53.0000 85.0000 -171.0000-61.6000 89.8000 -186.2000ans =12 34 -4 1 3 -134 7 87 2 0 33 65 7 3 -2 7ans =12 34 -43 65 74 5 111 0 1920 -5 403. 设有矩阵A 和B1234530166789101769,111213141502341617181920970212223242541311A B ⎡⎤⎡⎤⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥==-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦ (1) 求它们的乘积C 。
MATLAB程序设计与应用(刘卫国)》(第二版)-课后实验答案
《MATLAB程序设计与应用(刘卫国)》(第二版)实验一MATLAB运算基础1.(1) z1=2*sin(pi*85/180)/(1+exp(2))(2)x=[2,1+2i;-0.45,5];z2=log(x+sqrt(1+x.^2))/2(3)a=-3.0:0.1:3.0;z3=0.5*(exp(0.3*a)-exp(-0.3*a)).*sin(a+0.3)+log((0.3+a)/2)(4)t=0:0.5:2.5;z4=(t>=0&t<1).*t.^2+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3).*(t.^2-2*t+1)2. A=[12,34,-4;34,7,87;3,65,7];B=[1,3,-1;2,0,3;3,-2,7];(1)a=A+6*Bb=A-B+eye(size(A)) %I=eye(size(A))(2)c=A*Bd=A.*B(3)e=A^3f=A.^3(4)g=A/Bh=B\A(5)m=[A,B]n=[A([1,3],:);B^2]3. A=[1,2,3,4,5;6,7,8,9,10;11,12,13,14,15;16,17,18,19,20;21,22,23,24,25];B=[3,0,16;17,-6,9;0,23,-4;9,7,0;4,13,11];(1)C=A*B(2)D=C(3:end,2:end)4.(1) a=100:999;b=rem(a,21)==0;c=find(b);d=length(c)(2)ch='Just as Bianhaiman said,Xiehong is ...';e=find(ch>='A'&ch<='Z');ch(e)=[]实验二 MATLAB矩阵分析与处理1.E=eye(3);R=rand(3,2);O=zeros(2,3);S=diag([1,2]);A=[E,R+R*S;O,S^2];a=A^22. H=hilb(5);P=pascal(5);Hh=det(H)Hp=det(P)Th=cond(H)Tp=cond(P)3. A=rand(5,5);a=det(A) %行列式的值b=trace(A) %行列式的迹c=rank(A) %行列式的秩d=norm(A) %行列式的范数4. A=[-29,6,18;20,5,12;-8,8,5];[V,D]=eig(A)5. A=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6];b=[0.95,0.67,0.52]';(1)x=inv(A)*b(2)b1=[0.95,0.67,0.53]';x=inv(A)*b1(3)c=cond(A)6. A=rand(3,3);B=sqrtm(A)C=sqrt(A)实验三选择结构程序设计1. x=input('请输入x的值:');if x<0&x~=-3y=x*x+x-6;elseif x>=0&x<5&x~=2&x~=3y=x*x-5*x+6;elsey=x*x-x-1;endy2.(if语句)score=input('请输入成绩:');if score>=0&score<60disp('E');elseif score>=60&score<70disp('D');elseif score>=70&score<80disp('C');elseif score>=80&score<90disp('B');elseif score>=90&score<=100disp('A');elsedisp('您输入的成绩有误,请重新输入!');end(switch语句)score=input('请输入成绩:');switch fix(score/10)case num2cell(0:5)disp('E');case {6}disp('D');case {7}disp('C');case {8}disp('B');case {9}disp('A');otherwisedisp('您输入的成绩有误,请重新输入!'); end3. a=input('请输入工号:','s');b=input('请输入该员工的工时数:');if b>120y=120*84+(b-120)*(1+15/100)*84;elseif b<60y=b*84-700;elsey=b*84;endy4.a=10+fix(89*rand());b=10+fix(89*rand());c=input('请输入一个运算符:','s'); if c=='+'disp(a+b);elseif c=='-'disp(a-b);elseif c=='*'disp(a*b);elsedisp(a/b);end5. A=rand(5,6);n=1:5;n=input('请输入n的值:');tryB=A(n,:);catchB=A(end,:);endBlasterr实验四循环结构程序设计1.(循环结构)n=input('请输入n的值:');y=0;for i=1:ny=y+1/i/i;pi=sqrt(6*y);endpi(向量运算)n=input('请输入n的值:');i=1:n;y=1./i.^2;f=sum(y);pi=sqrt(f*6)2. y=0;n=0;while 1n=n+1;y=y+1/(2*n-1);if y>=3breakendendny=y-1/(2*n-1)3. a=input('输入a的值:');b=input('输入b的值:');x0=1.0;n=1;x1=a/(b+x0);while abs(x1-x0)>=10^(-5)|n<=500 x1=a/(b+x0);x0=x1;n=n+1;endx14. f(1)=1;f(2)=0;f(3)=1;for n=4:100f(n)=f(n-1)-2*f(n-2)+f(n-3); enda=max(f) %最大值b=min(f) %最小值c=sum(f) %各数之和d=length(find(f>0)) %正数的个数e=length(find(f==0)) %零的个数f=length(find(f<0)) %负数的个数5. n=0;s=0;for k=2:49sn=k*(k+1)-1;m=fix(sqrt(sn));for i=2:mif rem(sn,i)==0breakelseendendif i==mn=n+1;s=s+sn;endendns实验五函数文件1.(函数文件)function [e,l,s,c]=f1(x)e=exp(x);l=log10(x);s=sin(x);c=cos(x);(命令文件)x=input('请输入一个复数:'); [e,l,s,c]=f1(x);elsc2.(函数文件)function [x]=f2(A,B)C=B';x=C*inv(A);(命令文件)m1=input('Enter m1:');m2=input('Enter m2:');theta=input('Enter theta:'); g=9.8;A=[m1*cos(theta),-m1,-sin(theta),0;m1*sin(theta),0,cos(theta),0;0,m2,-sin(theta),0;0,0,-cos(theta),1];B=[0,m1*g,0,m2*g]';[x]=f2(A,B);x3.(函数文件)function f=f3(x)f=1;for i=2:sqrt(x)if rem(x,i)==0f=0;breakendend(命令文件)for i=10:99j=10*rem(i,10)+fix(i/10);if f3(i)&f3(j)disp(i);endend4.(函数文件)function f=f4(x)f=1./((x-2).^2+0.1)+1./((x-3).^4+0.01);(命令文件)x=[1,2,3;4,5,6];y=f4(x)5.(1)(函数文件)function f=f5(n)f=n+10*log(n^2+5);(命令文件)y=f5(40)/(f5(30)+f5(20))(2)(函数文件)function f=f6(i)g=0;for i=1:nf=g+i.*(i+1);end(命令文件)y=f6(40)/(f6(30)+f6(20))实验六高层绘图操作1. x=linspace(0,2*pi,101);y=(0.5+3*sin(x)./(1+x.*x));plot(x,y);title('实验六第一题');xlabel('X');ylabel('Y');text(3,0.6,'y=0.5+3sin(x)/(1+x^2)');2.(1)x=linspace(0,pi,100);y1=x.^2;y2=cos(2*x);y3=y1.*y2;plot(x,y1,'b',x,y2,'g',x,y3,'r'); title('同一坐标系下得三条曲线');text(2,4,'y1=x^2');text(2,-0,8,'y2=cos(2x)');text(2,-2.2,'y=x^2*cos(2x)');xlabel('X');ylabel('Y');(2)x=linspace(0,pi,100); y1=x.^2;y2=cos(2*x);y3=y1.*y2;subplot(1,3,1);plot(x,y1);title('y1=x^2');xlabel('X');ylabel('Y'); subplot(1,3,2);plot(x,y2);title('y2=cos(x)');xlabel('X');ylabel('Y') subplot(1,3,3);plot(x,y3);title('y3=x^2*cos(x)'); xlabel('X');ylabel('Y');(3)x=linspace(0,2*pi,20); y1=x.^2;y2=cos(2*x);y3=y1.*y2;subplot(4,3,1);bar(x,y1);subplot(4,3,2);bar(x,y2);subplot(4,3,3);bar(x,y3);subplot(4,3,4);stairs(x,y1);subplot(4,3,5);stairs(x,y2);subplot(4,3,6);stairs(x,y3);subplot(4,3,7);stem(x,y1);subplot(4,3,8);stem(x,y2);subplot(4,3,9);stem(x,y3);subplot(4,3,10);fill(x,y1,'b');subplot(4,3,11);fill(x,y2,'r');subplot(4,3,12);fill(x,y3,'g');3. x=linspace(-5,5,100);y=[];for x0=xif x0>=-5&x<=0y=[y,(x0+sqrt(pi))/exp(2)];elsey=[y,log(x0+sqrt(1+x0.^2))/2];endendplot(x,y);title('实验六第三题');xlabel('X');ylabel('Y');4. a=input('请输入a:');b=input('请输入b:');n=input('请输入n:');theta=0:0.01:2*pi;rho=a.*sin(b+n.*theta);polar(theta,rho,'r');title('极坐标曲线');(如:当输入a=3,b=4,n=6时,图形为:)5. x=linspace(-5,5,21);y=linspace(0,10,31);[x,y]=meshgrid(x,y);z=cos(x).*cos(y).*exp(-sqrt(x.*x+y.*y)/4); subplot(2,1,1);surf(x,y,z);title('曲面图');xlabel('X');ylabel('Y');zlabel('Z'); subplot(2,1,2);surfc(x,y,z);title('等高线图');xlabel('X');ylabel('Y');zlabel('Z');6.(方法一)s=0:pi/100:pi/2;t=0:pi/100:3*pi/2;[s,t]=meshgrid(s,t);x=cos(s).*cos(t);y=cos(s).*sin(t);z=sin(s);surf(x,y,z);shading interp;title('实验六第六题');xlabel('X');ylabel('Y');zlabel('Z');(方法二)ezsurf('cos(s)*cos(t)','cos(s)*sin(t)','sin(s)',[0,0.5*pi,0,1.5*pi]); shading interp;实验七低层绘图操作1. hf=figure('MenuBar','figure','NumberTitle','off','Color','r',...'Name','图形窗口示例',...'WindowButtonDownFcn','disp(''Left Button Pressed.'')');2. x=-1:0.1:1;y=x.^2.*exp(2*x);h=line('XData',x,'YData',y);text(0.6,0.36*exp(1.2),'\leftarrow y=x^2*exp(2*x)');set(h,'Color','r','LineStyle','--','LineWidth',2);grid on;title('函数y=x^2*exp(2*x)');3. x=0:0.00001:0.001;[x,t]=meshgrid(x);v=10*exp(-0.01*x).*sin(2000*pi*t-0.2*x+pi);axes('view',[-37.5,30]);hf=surface(x,t,v);grid on;xlabel('X');ylabel('Y');zlabel('Z');title('曲面v=10*exp(-0.01*x)*sin(2000*pi*t-0.2*x+pi)');set(hf,'EdgeColor','interp','FaceColor','r','LineStyle',':','LineWidth',2);4. x=linspace(0,2*pi,20);y1=sin(x);y2=cos(x);y3=sin(x)./(cos(x)+eps);y4=cos(x)./(sin(x)+eps);axes('Position',[0.15,0.1,0.2,0.4]);plot(x,y1);title('y1=sin(x)');axes('Position',[0.05,0.6,0.2,0.3]);plot(x,y2);title('y2=cos(x)');axes('Position',[0.45,0.6,0.3,0.3]);plot(x,y3);title('y3=tan(x)');axes('Position',[0.5,0.2,0.3,0.2]);plot(x,y4);title('y4=cot(x)');5. cylinder(3);light('Position',[1,2,4]); shading interp;lighting gouraud;material shiny实验八数据处理与多项式计算1.A=rand(1,30000);a=mean(A) %均值b=std(A,0,2) %标准方差c=max(A) %最大元素d=min(A) %最小元素n=0;for i=1:30000if A(i)>0.5n=n+1; %大于0.5的随机数的个数endendm=n/30000 %百分比2. P=45+fix(50*rand(100,5));[zgf,xh]=max(P) %每门课的最高分及相应的学号[zdf,xh]=min(P) %每门课的最低分及相应的学号pjf=mean(P) %每门课的平均分fc=std(P) %标准方差A=sum(P,2); %总分[zfzg,xh]=max(A) %总分最高分及学号[zfzd,xh]=min(A) %总分最低分及学号[zcj,xsxh]=sort(A,1,'descend')3. h=6:2:18;x=6.5:2:17.5;t1=[18.0 20.0 22.0 25.0 30.0 28.0 24.0];t2=[15.0 19.0 24.0 28.0 34.0 32.0 30.0];a=interp1(h,t1,x,'spline')b=interp1(h,t2,x,'spline')4. x=linspace(1,101,10);y=log10(x);p=polyfit(x,y,5);y1=polyval(p,x);plot(x,y,'r:o',x,y1,'-*')5. p1=[1,2,4,0,5];p2=[1,2];p3=[1,2,3];p4=conv(p2,p3);p41=[0,p4];p=p1+p41 %P(x)=P1(x)+P2(x)*P3(x) x=roots(p) %根A=[-1,1.2,-1.4;0.75,2,3.5;0,5,2.5];y1=polyval(p,A)y2=polyvalm(p,A)。
刘卫国matlab课后习题答案
刘卫国matlab课后习题答案【篇一:matlab程序设计与应用第二版刘卫国课后实验答案】%第一小题z1=2*sin(85*pi/180)/(1+exp(2)) %%第二小题 x=[2,1+2i;-0.45,5];z2=1/2*log(x+sqrt(1+x.^2)); z2%%第三小题 a=-3.0:0.1:3.0;z3=1/2*(exp(0.3*a)-exp(-0.3*a)).*sin(a+0.3)+log((0.3+a)/2)%%第四题 t=0:0.5:2.5z4=(t=0t1).*(t.^2)+(t=1t2).*(t.^2-1)+(t=2t3).*(t.^2-2*t+1)t2:a=[12,34,-4;34,7,87;3,65,7] b=[1,3,-1;2,0,3;3,-2,7] disp (a+6*b=); disp(a+6*b); disp(a-b+i=); disp(a-b+eye(3)); disp(a*b=);disp(a*b); disp(a.*b=); disp(a.*b); disp(a^3=); disp(a^3);disp(a.^3=); disp(a.^3); disp(a/b=); disp(a/b); disp(b\a=);disp(b\a); disp([a,b]=); disp([a,b]);disp([a([1,3],:);b^2]=); disp([a([1,3],:);b^2]); t3: z=1:25;a=reshape(z,5,5);b=[3,0,16;17,-6,9;0,23,-4;9,7,0;4,13,11];1c=a*bd=c(3:5,2:3) t4-1:a=100:999;b=find(rem(a,21)==0); c=length(b) t4-2:a=input(请输入一个字符串:,s); b=find(a=aa=z); a(b)=[]; disp(a); 实验二: t1:e=eye(3),r=rand(3,2),o=zeros(2,3),s=diag([1,2]);a=[e,r;o,s] disp(a^2=); disp(a^2);disp([e,r+rs;o,s^2]); b=[e,r+r*s;o,s^2] t2: h=hilb(5) p=pascal(5) hh=det(h) hp=det(p) th=cond(h) tp=cond(p) a=abs(th-1);b=abs(tp-1); if abdisp(帕萨卡矩阵p性能更好); elseif abdisp(希尔伯特矩阵h性能更好); elsedisp(两个矩阵性能相同); end t3: a=1:25;a=reshape(a,5,5)disp(行列式的值:); disp(det(a));disp(矩阵的秩:); disp(rank(a));disp(矩阵的迹:);disp(trace(a));disp(矩阵的范数:); disp(norm(a)); t4:a=[-29,6,18;20,5,12;-8,8,5] [v,d]=eig(a) t5:a=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6] b=[0.95,0.67,0.52] x1=a\b b(3)=0.53 x2=a\bdisp(系数矩阵a的条件数:); disp(cond(a)); t6: a=1:25;a=reshape(a,5,5) disp(b1=sqrtm(a)); b1=sqrtm(a)disp(b2=sqrt(a)); b2=sqrt(a) disp(b1*b1); b1*b1disp(b2.*b2); b2.*b2实验三: t1:x=-5.0:2:5.0 for i=1:length(x);if (x(i)0)(x(i)~=-3)y(i)=x(i)^2+x(i)-6; elseif(x(i)=0)(x(i)5)(x(i)~=2)(x(i)~=3);y(i)=x(i)^2-5*x(i)+6; elsey(i)=x(i)^2-x(i)-1; end end y t2-if:s=input(please enter the score:); while (s0||s100)disp(the score is not reasonable); s=input(please enter the score:);endif (s=90s=100); disp(a);elseif(s=80s90); disp(b);elseif(s=70s80); disp(c);elseif(s=60s70); disp(d); elsedisp(e); endt2-switch:s=input(please enter the score:); while (s0||s100)disp(the score is not reasonable); s=input(please enter the score:); endswitch fix(s/10) case{9,10} disp(a); case{8} disp(b); case{7} disp(c); case{6} disp(d);case{0,1,2,3,4,5} disp(e); end t3:t=input(请输入工时time=); if t120w=120*84+(t-120)*1.15*84; elseif t60w=t*84-700; elsew=84*t; enddisp(应发工资为:); disp(w); t4:a=10+floor(rand(1)*89) b=10+floor(rand(1)*89)2s=input(请输入+或-或*或/,s);while(s~=+s~=-s~=*s~=/) disp(输入的符号错误,请重新输入);s=input(请输入+或-或*或/,s); end switch scase{+}c=a+b; case{-}c=a-b; case{*}c=a*b; case{/}c=a/b; end c t5:a=rand(5,6)n=input(请输入n:); while (n1)disp(输入的n有误,请重新输入); n=input(请输入n:); end if n5 b=a(5,:) elseb=a(n,:) end实验四: t1:n=input(请输入n:); m=0; for i=1:n;m=m+1/i^2; endpii=sqrt(6*m) t1-2:n=input(请输入n:); m=1./(1:n).^2; s=sum(m); pii=sqrt(6*s) t2: n=1000;y=0;for i=1:n;y=y+1/(2*i-1); if y=3disp(最大n值为:);i-1disp(对应的y值为:);y-1/(2*i-1)break; end end t3:format longa=input(请输入a:); b=input(请输入b:);x(1)=a/(1.0+b);i=1;x(2)=a/(x(i)+b); while (abs(x(i+1)-x(i))0.00001i500) i=i+1;x(i+1)=a/(x(i)+b); endr1=(-b+sqrt(b^2+4*a))/2; r2=(-b-sqrt(b^2+4*a))/2;disp([x,num2str(i+1),=,num2str(x(i+1),8)]);disp([x,num2str(i),=,num2str(x(i),8)]);disp([r1=,num2str(r1,8),,r2=,num2str(r2,8)]);format short t4:f(1)=1;f(2)=0;f(3)=1;i=4; while(i=100)f(i)=f(i-1)-2*f(i-2)+f(i-3); i=i+1; endfmax=max(f) fmin=min(f) fsum=sum(f)fp=length(find(f0)) fn=length(find(f0)) f0=length(find(f==0)) t5: j=0;s=0; for i=3:50m=i*(i-1)-1; if isprime(m)==1m3s=s+m;j=j+1; end enddisp([亲密数的对数:,num2str(j)]);disp([所有亲密素数之和:,num2str(s)]); 实验五: fn1:function f=fn1(n) f=n+10*log(n.^2+5); fn2:function f=fn2(n) f=0; for i=1:nf=f+i*(i+1); end fx:function f=fx(x)f=1./((x-2).^2+0.1)+1./((x-3).^4+0.01); t1:x=input(请输入一个复数:); fe=exp(x) flg=log(x) fsin=sin(x)fcos=cos(x) t2:m1=input(请输入m1:); m2=input(请输入m2:); t=input(请输入theta:);a=[m1*cos(t),-m1,-sin(t),0;m1*sin(t),0,... cos(t),0;0,m2,-sin(t),0;0,0,-cos(t),1] b=[0,m1*9.8,0,m2*9.8] disp([a1,a2,n1,n2]=); disp([a\b]); t3:j=1;n=1;k=1;for i=10:99% 挑选出10~99中所有的素数if isprime(i)==1 m(j)=i; j=j+1; end endfor t=1:length(m);4s(n)=10*rem(m(t),10)+fix(m(t)/10); %挑选出的素数进行位置交换 if isprime(s(n))==1 %再挑选出交换绝对素数r(k)=m(t);k=k+1; endn=n+1; enddisp([所有两位绝对素数:,num2str(r)]) t5:y1=fn1(40)/(fn1(30)+fn1(20)) %函数调用y2=fn2(40)/(fn2(30)+fn2(20)) 实验六: t1:x=linspace(0,2*pi,101);y=(0.5+3*sin(x)./(1+x.^2)).*cos(x); plot(x,y); t2:x=linspace(0,2*pi,100); y1=x.^2; y2=cos(2*x); y3=y1.*y2; subplot(2,2,1);plot(x,y1,r:,x,y2,y-,x,y3,b-.); subplot(2,2,2); plot(x,y1,r:); subplot(2,2,3); plot(x,y2,y-); subplot(2,2,4); plot(x,y3,b-.); t2-3: x=linspace(0,2*pi,10); y1=x.^2; y2=cos(2*x); y3=y1.*y2; subplot(3,4,1);bar(x,y1,r);axis([0,7,0,40]); subplot(3,4,2);stairs(x,y1,y);axis([0,7,0,40]); subplot(3,4,3);stem(x,y1,b);axis([0,7,0,40]); subplot(3,4,4);fill(x,y1,g);axis([0,7,0,40]);subplot(3,4,5);bar(x,y2,r);axis([-1,7,-1,1]); subplot(3,4,6);stairs(x,y2,y);axis([-1,7,-1,1]); subplot(3,4,7);stem(x,y2,b);axis([-1,7,-1,1]); subplot(3,4,8);fill(x,y2,g);axis([-1,7,-1,1]); subplot(3,4,9);bar(x,y3,r);axis([0,7,-30,50]); subplot(3,4,10);stairs(x,y3,y);axis([0,7,-30,50]); subplot(3,4,11);stem(x,y3,b);axis([0,7,-30,50]); subplot(3,4,12);fill(x,y3,g);axis([0,7,-30,50]); t3:x=linspace(-5,5,100); y=[]; for x0=x; if x0=0;y=[y,(x0+sqrt(pi))/exp(2)]; elsey=[y,1/2*log(x0+sqrt(1+x0^2))]; end endsubplot(1,2,1); plot(x,y);for i=1:length(x) if x(i)=0y(i)=(x(i)+sqrt(pi))/exp(2); elsey(i)=1/2*log(x(i)+sqrt(1+x(i)^2)); end endsubplot(1,2,2); plot(x,y); t4:a=input(请输入a:); b=input(请输入b:); n=input(请输入n:);theta=0:0.001:2*pi; y=a.*sin(b+n.*theta); polar(theta,y); t5:x=linspace(-5,5,21); y=linspace(0,10,31); [x,y]=meshgrid(x,y); z=cos(x).*cos(y).*exp(-sqrt(x.^2+y.^2)/4); subplot(1,2,1);surf(x,y,z); subplot(1,2,2); contour3(x,y,z); t6:s=0:pi/2; t=0:3*pi/2;[s,t]=meshgrid(s,t); x=cos(s).*cos(t); y=cos(s).*sin(t); z=sin(s); surf(x,y,z); shading interp; 实验八: t1:a=rand(1,30000); disp(均值为:); mean(a)disp(标准方差为:); std(a)disp(最大元素为:); max(a)disp(最小元素为:); min(a)k=find(a0.5); b=length(k);disp(大于0.5的随机数个数占总数的百分比:);sprintf(%f%%, b/300) t2:p=45+50*rand(100,5) disp(最高分及序号:); [y,u]=max(p,[],1)disp(最低分及序号:); [y1,u1]=min(p,[],1)disp(每门课平均分:);5【篇二:matlab程序设计与应用(刘卫国编)课后实验答案】xt>1. 先求下列表达式的值,然后显示matlab工作空间的使用情况并保存全部变量。
MATLAB程序设计与应用(刘卫国编)课后实验答案
实验一 MATLAB 运算基础1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。
(1) 0122sin851z e =+(2) 21ln(2z x =+,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦(3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+=++=--L (4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:: 解:2. 已知:1234413134787,2033657327A B --⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦求下列表达式的值:(1) A+6*B 和A-B+I (其中I 为单位矩阵)(2) A*B 和A.*B(3) A^3和A.^3(4) A/B 及B\A(5) [A,B]和[A([1,3],:);B^2]解:运算结果:3. 设有矩阵A 和B1234530166789101769,111213141502341617181920970212223242541311A B ⎡⎤⎡⎤⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥==-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦ (1) 求它们的乘积C 。
(2) 将矩阵C 的右下角3×2子矩阵赋给D 。
(3) 查看MATLAB 工作空间的使用情况。
解:. 运算结果:4. 完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。
(2) 建立一个字符串向量,删除其中的大写字母。
结果:解:(1)ch='ABC123d4e56Fg9';则要求结果是:实验二 MATLAB 矩阵分析与处理1. 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A O S +⎡⎤=⎢⎥⎣⎦。
Matlab程序设计与应用第二版刘卫国课后实验答案
Matlab 程序设计与应用第二版刘卫国课后实验答案实验一: C=A*BT1: D=C(3:5,2:3)T4-1: %%第一小题z1=2*sin(85*pi/180)/(1+exp(2)) a=100:999; %% 第二小题b=find(rem(a,21)==0); x=[2,1+2i;-0.45,5]; c=length(b)z2=1/2*log(x+sqrt(1+x42)); T4-2:z2 a=input(' 请输入一个字符串:','s'); %% 第三小题b=find(a>='A'&a<='Z'); a=-3.0:0.1:3.0; a(b)=[];z3=1/2*(exp(0.3*a)-exp(-0.3*a)).*sin(a+0.3)+ldisp(a);og((0.3+a)/2) 实验二:%%第四题T1:t=0:0.5:2.5 E=eye(3),R=rand(3,2),O=zeros(2,3),S=diag([1,2z4=(t>=0&t<1).*(t.A2)+(t>=1 &t<2).*(t.A2-1)+(t]);>=2&t<3)*(t.A2-2*t+1) A=[E,R;O,S]disp('A A2='); T2: disp(A A2); A=[12,34,-4;34,7,87;3,65,7] disp('[E,R+RS;O,S A2]'); B=[1,3,-1;2,0,3;3,-2,7] B=[E,R+R*S;O,SA2] disp ('A+6*B='); T2:disp(A+6*B); H=hilb(5)disp('A-B+I='); P=pascal(5) disp(A-B+eye(3)); Hh=det(H)disp('A*B='); Hp=det(P)disp(A*B); Th=cond(H) disp('A.*B='); Tp=cond(P) disp(A.*B);a=abs(Th-1); disp('AA3='); b=abs(Tp-1); disp(AA3); if a>bdisp('A43='); disp(' 帕萨卡矩阵P 性能更好');disp(A43); elseif a<bdisp('A/B='); disp(' 希尔伯特矩阵H性能更好');disp(A/B); elsedisp('B\A='); disp(' 两个矩阵性能相同'); disp(B\A); end disp('[A,B]='); T3:disp([A,B]); a=1:25;disp('[A([1,3],:);B A2]='); A=reshape(a,5,5) disp([A([1,3],:);B A2]);disp(' 行列式的值:'); T3: disp(det(A)); z=1:25; disp(' 矩阵的秩:');A=reshape(z,5,5)'; disp(rank(A)); B=[3,0,16;17,-6,9;0,23,- 4;9,7,0;4,13,11]; disp(' 矩阵的迹:');1disp(trace(A)); enddisp(' 矩阵的范数:'); if (s>=90&s<=100);disp('A'); disp(norm(A));T4: elseif(s>=80&s<90); A=[-29,6,18;20,5,12;-8,8,5] disp('B'); [V,D]=eig(A)elseif(s>=70&s<80); T5: disp('C'); A=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6]elseif(s>=60&s<70); B=[0.95,0.67,0.52]' disp('D'); X1=A\B elseB(3)=0.53 disp('E'); X2=A\B enddisp('系数矩阵A的条件数:');T2-switch:disp(cond(A)); s=input('please enter the score:');T6: while (s<0||s>100) a=1:25; disp('the score is not reasonable');A=reshape(a,5,5) s=input('please enter the score:');disp('B1=sqrtm(A)'); endB1=sqrtm(A) switch fix(s/10) disp('B2=sqrt(A)'); case{9,10}B2=sqrt(A) disp('A');disp('B1*B1'); case{8}B1*B1 disp('B');disp('B2.*B2'); case{7}B2.*B2 disp('C');实验三: case{6}T1: disp('D');x=-5.0:2:5.0 case{0,1,2,3,4,5} for i=1:length(x); disp('E');if (x(i)<0)&(x(i)~=-3) endy(i)=x(iF2+x(i)-6; T3:elseif t=input(' 请输入工时time=');(x(i)>=0)&(x(i)<5)&(x(i)~=2)&(x(i)~=3); if t>120 y(i)=x(i)A2-5*x(i)+6; w=120*84+(t-120)*1.15*84;else elseif t<60y(i)=x(i)A2-x(i)-1; w=t*84-700;end elseend w=84*t; y endT2-if: disp(' 应发工资为:'); s=input('please enter the score:');disp(w);while (s<0||s>100) T4:disp('the score is not reasonable'); a=10+floor(rand(1)*89)s=input('please enter the score:'); b=10+floor(rand(1)*89)2s=i nput('请输入+ 或-或* 或/','s'); for i=1: n;while(s~='+'&&s~='-'&&s~='*'&&s~='/') y=y+1/(2*i-1);if y>=3 disp(' 输入的符号错误,请重新输入');s=input('请输入+ 或-或*或/','s'); disp(' 最大n 值为:');end i-1switch s disp(' 对应的y 值为:');case{'+'} y-1/(2*i-1)c=a+b; break;case{'-'} endend c=a-b;T3: case{'*'}c=a*b; format longa=input(' 请输入a:'); case{'/'}b=input(' 请输入b:'); c=a/b;x(1)=a/(1.0+b);i=1;x(2)=a/(x(i)+b);end while (abs(x(i+1)-x(i))>0.00001&i<500)i=i+1; cx(i+1)=a/(x(i)+b); T5:A=rand(5,6) endn=input('请输入n:'); r1=(-b+sqrt(b A2+4*a))/2;r2=(-b-sqrt(b A2+4*a))/2; while (n <1)disp(['x',num2str(i+1),'=',num2str(x(i+1),8)]); disp(' 输入的n 有误,请重新输入');n=input(' 请输入n:'); disp(['x',num2str(i),'=',num2str(x(i),8)]);end disp(['r1=',num2str(r1,8),',r2=',num2str(r2,8)])if n>5 ;B=A(5,:) format shortelse T4:B=A(n,:) f(1)=1;f(2)=0;f(3)=1;i=4; End while(i<=100) f(i)=f(i-1)-实验四: 2*f(i-2)+f(i-3);T1: i=i+1;n=input(' 请输入n:'); endm=0; fmax=max(f)for i=1:n; fmin=min(f)m=m+1/i A2; fsum=su m(f)end fp=length(find(f>0)) pii=sqrt(6*m) fn=length(find(f<0)) T1-2:f0=length(find(f==0)) n=input(' 请输入n:'); T5:m=1./(1:n).A2; j=0;s=0;s=sum(m); for i=3:50pii=sqrt(6*s) m=i*(i-1)-1; T2: if isprime(m)==1 n=1000;y=0; m3s=s+m; s(n)=10*rem(m(t),10)+fix(m(t)/10); %j=j+1; 挑选出的素数进行位置交换if isprime(s(n))==1 % 再挑选出交换endend 绝对素数disp([' 亲密数的对数:',num2str(j)]); r(k)=m(t);disp([' 所有亲密素数之和:',num2str(s)]); k=k+1;实验五: endfn1: n=n+1;function f=fn1(n) endf=n+10*log( n. A2+5); disp(['所有两位绝对素数:',num2str(r)]) fn2: T5: function f=fn2(n) y1=fn1(40)/(fn1(30)+fn1(20)) % 函数调用f=0;y2=fn2(40)/(fn2(30)+fn2(20)) for i=1:n 实验六:f=f+i*(i+1); T1:end x=linspace(0,2*pi,101); fx: y=(0.5+3*sin(x)./(1+x.A2)).*cos(x);function f=fx(x) plot(x,y);f=1./((x-2).A2+0.1)+1./((x-3).A4+0.01); T2:T1: x=linspace(0,2*pi,100); x=input(' 请输入一个复数:'); y1=x.A2;fe=exp(x) y2=cos(2*x);flg=log(x) y3=y1.*y2;fsin=sin(x) subplot(2,2,1);fcos=cos(x) plot(x,y1,'r:',x,y2,'y-',x,y3,'b-.'); T2: subplot(2,2,2);m1=input(' 请输入m1:'); plot(x,y1,'r:');m2=input(' 请输入m2:'); subplot(2,2,3);t=input(' 请输入theta:'); plot(x,y2,'y-');A=[m1*cos(t),-m1,-sin(t),0;m1*sin(t),0,... subplot(2,2,4);cos(t),0;0,m2,-sin(t),0;0,0,-cos(t),1] plot(x,y3,'b-.');B=[0,m1*9.8,0,m2*9.8]' T2-3:disp('[a1,a2,N1,N2]='); x=linspace(0,2*pi,10); disp([A\B]'); y1=x.A2;T3: y2=cos(2*x);j=1;n=1;k=1; y3=y1.*y2;for i=10:99 % 挑选出1 0~99中所subplot(3,4,1);有的素数bar(x,y1,'r');axis([0,7,0,40]);if isprime(i)==1 subplot(3,4,2);m(j)=i; stairs(x,y1,'y');axis([0,7,0,40]);j=j+1; subplot(3,4,3);end stem(x,y1,'b');axis([0,7,0,40]); end subplot(3,4,4);for t=1:length(m); fill(x,y1,'g');axis([0,7,0,40]);4subplot(3,4,5); theta=0:0.001:2*pi; bar(x,y2,'r');axis([-1,7,-1,1]); y=a.*sin(b+n.*theta);polar(theta,y); subplot(3,4,6);stairs(x,y2,'y');axis([-1,7,-1,1]); T5:subplot(3,4,7); x=linspace(-5,5,21); stem(x,y2,'b');axis([-1,7,-1,1]); y=linspace(0,10,31); subplot(3,4,8); [x,y]=meshgrid(x,y);fill(x,y2,'g');axis([-1,7,-1,1]); z=cos(x).*cos(y).*exp(- sqrt(x.A2+y.A2)/4);subplot(3,4,9); subplot(1,2,1); bar(x,y3,'r');axis([0,7,-30,50]); surf(x,y,z);subplot(3,4,10); subplot(1,2,2); stairs(x,y3,'y');axis([0,7,-30,50]); contour3(x,y,z); subplot(3,4,11); T6:stem(x,y3,'b');axis([0,7,-30,50]); s=0:pi/2;subplot(3,4,12); t=0:3*pi/2; fill(x,y3,'g');axis([0,7,-30,50]);[s,t]=meshgrid(s,t); T3: x=cos(s).*cos(t); x=linspace(-5,5,100);y=cos(s).*sin(t); y=[]; z=sin(s);for x0=x; surf(x,y,z);if x0<=0; shading interp;y=[y,(x0+sqrt(pi))/exp(2)]; 实验八:else T1:y=[y,1/2*log(xO+sqrt(1+xOA2))]; A=ra nd(1,30000);end disp(' 均值为 :');end mean(A)subplot(1,2,1); disp(' 标准方差为 :'); plot(x,y); std(A) disp(' 最大元素为 :'); max(A)disp(' 最小元素为 :'); for i=1:length(x) min(A) if x(i)<=0 k=find(A>0.5); y(i)=(x(i)+sqrt(pi))/exp(2); b=length(k);else disp(' 大于 0.5 的随机数个数占总数的百分y(i)=1/2*log(x(i)+sqrt(1+x(i)A 2)); 比:');end sprintf('%f%%', b/300) end T2:subplot(1,2,2); P=45+50*rand(100,5) plot(x,y); disp(' b=input(' 请输入 b:'); [Y1,U1]=min(P,[],1) n=input(' 门课平均分 :');mean(P,1) i=i+1;disp(' 每门课的标准方差 :'); x=x+0.01;end std(P,0,1)s=sum(P,2); dx=diff(g)/0.01; disp(' 总分最高分 :'); dx(1)[Y2,U2]=max(s,[],1) dx(101)disp(' 总分最低分 :'); dx(length(g)-1) [Y3,U3]=min(s,[],1) T2:[zcj,xsxh]=sort(s,1,'descend') %descend f1=i nli ne('sqrt(cos(t42)+4*si n(2*t)42+1)')序 f2=i nli ne('log(1+x)丿(1+X.A2)')T3: I1=quad(f1,0,2*pi) h=6:2:18; I2=quad(f2,0,2*pi) 最高分及序号 :');T4: [Y,U]=max(P,[],1) a=input(' 请输入 a:'); disp(' 最低分及序号 :'); 请输入 n:'); disp(' 每t1=[18.0,20.0,22.0,25.0,30.0,28.0,24.0]; T3:t2=[15.0,19.0,24.0,28.0,34.0,32.0,30.0]; A=[6,5,-2,5;9,-1,4,- 1;3,4,2,-2;3,-9,0,2];t=6.5:2:17.5; B=[-4,13,1,11]'; T1=interp1(h,t1,t,'spline') x1=A\BT2=interp1(h,t2,t,'spline') [L,U]=lu(A); T4: x2=U\(L\B)x=1:10:101; [Q,R]=qr(A); y=log10(x); x3=R\(Q\B)p=polyfit(x,y,5) fun:x1=1:0.01:101; function F=fun(X); y1=log10(x1); x=X(1); y2=polyval(p,x1);y=X(2);plot(x1,y1,'r-',x1,y2,'b-.'); z=X(3);T5: F(1)=si n(x)+yA2+log(z)-7; P仁[1,2,4,0,5]; F(2)=3*x+2A y-z A3+1;P2=[0,0,0,1,2]; F(3)=x+y+z-5; P3=[0,0,1,2,3]; T5:P4=conv(P2,P3); f=inline('3*x+sin(x)-exp(x)');sp1=length(P1); fzero(f,1.5) sp2=length(P4); X=fsolve('fun',[1 11]',optimset('Display','off'))P=[zeros(1,sp2-sp1),P1]+P4 实验十:x=roots(P) T1:A=[-1,1.2,-1.4;0.75,2,3.5;0,5,2.5]; x=sym('6'); Ax=polyval(P,A)y=sym('5'); AA=polyvalm(P,A) z=(x+1)/(sqrt(3+x)-sqrt(y)) 实验九: T2: T1: syms x y;f=inlin e('det([x x A2 x A3;1 2*x 3*x A2;0 2 t=sym('5135'); 6*x])'); factor(x A4-y A4) i=1;x=1; factor(t)while x<=3.01 T3:g(i)=f(x); syms beta1 beta2 x;6simplify(sin(beta1)*cos(beta2)-cos(beta1)*sinsyms n x ;(beta2)) S1=symsum(1/(2*n-1),n,1,10)S2=symsum(nA2*xA(n-1),n,1,inf) simplify((4*xA2+8*x+3)/(2*x+1))T4: S3=symsum(nA2/5An,n,1,inf) syms a b c d e f g h k; T2:p1=[0,1,0;1,0,0;0,0,1]; x=sym('x');p2=[1,0,0;0,1,0;1,0,1]; f=log(x);A=[a,b,c;d,e,f;g,h,k]; taylor(f,x,6,1)B=p1*p2*A T3:B1=inv(B) x1=solve('log(1+x)-5/(1+sin(x))=2') B1*B;x2=solve('xA2+9*sqrt(x+1)-1=0') tril(B) x3=solve('3*x*exp(x)+5*sin(x)- 78.5=0') det(B) [x4,y4]=solve('sqrt(xA2+yA2)-100=0','3*x+5*y-T5: 8=0')syms x t a y T4:f1=(x*(exp(sin(x))+1)-2*(exp(tan(x))-1))/sin(x)dsolve('D2y+4*Dy+29*y=0','y(0)=0','Dy(0)=15'A3; ,'x')limit(f1,x,0) %(1) T5:f2=(sqrt(pi)-sqrt(acos(x)))/sqrt(x+1); [x,y,z]=dsolve('Dx=2*x- 3*y+3*z','Dy=4*x-5*y+limit(f2,x,-1,'right') %(2) 3*z','Dz=4*x-4*y+2*z','t') f3=(1-cos(2*x))/x;diff(f3,x,1) %(3)diff(f3,x,2)A=[a A x,t A3;t*cos(x),log(x)];diff(A,x,1) &(4)diff(A,t,2)diff(diff(A,x,1),t,1)f5=(xA2-2*x)*exp(-xA2-yA2-x*y);yx=-diff(f5,x,1)/diff(f5,y,1) %(5)fxy=diff(diff(f5,x,1),y,1)x=sym('0');y=sym('1');eval(fxy)T6:x=sym('x');f1=1/(1+xA4+xA8);int(f1,x)f2=1/(asin(x))A2/sqrt(1-xA2);int(f2,x)f3=(xA2+1)/(xA4+1);int(f3,x,0,inf)f4=exp(x)*(1+exp(x))A2;int(f4,x,0,log(2))实验十一:T1: 7。
MATLAB程序设计与应用(刘卫国编)课后实验答案
实验一MATLAB运算基础之迟辟智美创作1. 先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保管全部变量.(1)0 122sin851ze =+(2)21ln( 2z x=+,其中2120.455i x+⎡⎤=⎢⎥-⎣⎦(3)0.30.330.3sin(0.3)ln, 3.0, 2.9,,2.9,3.0 22a ae e az a a--+=++=--(4)2242011122123t tz t tt t t⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t解:M文件:z1=2*sin(85*pi/180)/(1+exp(2))x=[2 1+2*i;-.45 5];z2=1/2*log(x+sqrt(1+x^2))a=-3.0:0.1:3.0;z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2)t=0:0.5:2.5;z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1) 运算结果:z1=2*sin(85*pi/180)/(1+exp(2))x=[2 1+2*i;-.45 5];z2=1/2*log(x+sqrt(1+x^2))a=-3.0:0.1:3.0;z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2)t=0:0.5:2.5;z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1) z1 =z2 =z3 =Columns 1 through 4Columns 5 through 8Columns 9 through 12Columns 13 through 16Columns 17 through 20Columns 21 through 24Columns 25 through 28-1.8436 + 3.1416i -2.2727 + 3.1416i -2.9837 + 3.1416i -37.0245 Columns 29 through 32-3.0017 -2.3085 -1.8971 -1.5978Columns 33 through 36-1.3575 -1.1531 -0.9723 -0.8083Columns 37 through 40-0.6567 -0.5151 -0.3819 -0.2561Columns 41 through 44-0.1374 -0.0255 0.0792 0.1766Columns 45 through 480.2663 0.3478 0.4206 0.4841Columns 49 through 520.5379 0.5815 0.6145 0.6366Columns 53 through 560.6474 0.6470 0.6351 0.6119Columns 57 through 600.5777 0.5327 0.4774 0.4126Column 610.3388z4 =2. 已知:求下列表达式的值:(1) A+6*B和A-B+I(其中I为单元矩阵)(2) A*B和A.*B(3) A^3和A.^3(4) A/B及B\A(5) [A,B]和[A([1,3],:);B^2]解:M 文件:A=[12 34 -4;34 7 87;3 65 7];B=[1 3 -1;2 0 3;3 -2 7]; A+6.*BA-B+eye(3)A*BA.*BA^3A.^3A/BB\A[A,B][A([1,3],:);B^2]运算结果:A=[12 34 -4;34 7 87;3 65 7];B=[1 3 -1;2 0 3;3 -2 7];A+6.*BA-B+eye(3)A*BA.*BA^3A.^3A/BB\A[A,B][A([1,3],:);B^2]ans =18 52 -1046 7 10521 53 49ans =12 31 -332 8 840 67 1ans =68 44 62309 -72 596154 -5 241ans =12 102 468 0 2619 -130 49ans =37226 233824 48604247370 149188 60076678688 454142 118820ans =1728 39304 -6439304 343 65850327 274625 343ans =ans =ans =12 34 -4 1 3 -134 7 87 2 0 33 65 7 3 -2 7ans =12 34 -43 65 74 5 111 0 1920 -5 403. 设有矩阵A和B(1) 求它们的乘积C.(2) 将矩阵C的右下角3×2子矩阵赋给D.(3) 检查MATLAB工作空间的使用情况.解:. 运算结果:E=(reshape(1:1:25,5,5))';F=[3 0 16;17 -6 9;0 23 -4;9 7 0;4 13 11]; C= E*FH=C(3:5,2:3)C =93 150 77258 335 237423 520 397588 705 557753 890 717H =520 397705 557890 7174. 完成下列把持:(1) 求[100,999]之间能被21整除的数的个数.(2) 建立一个字符串向量,删除其中的年夜写字母.解:(1) 结果:m=100:999;n=find(mod(m,21)==0);length(n)ans =43(2). 建立一个字符串向量例如:ch='ABC123d4e56Fg9';则要求结果是:ch='ABC123d4e56Fg9';k=find(ch>='A'&ch<='Z');ch(k)=[]ch =123d4e56g9实验二 MATLAB矩阵分析与处置1. 设有分块矩阵33322322E RAO S⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E、R、O、S分别为单元矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS AO S+⎡⎤=⎢⎥⎣⎦.解: M文件如下;输出结果:S =1 00 2A =0 0 0 1.0000 0a =0 0 0 1.0000 0 ans =0 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 0由ans,所以22E R RS AO S+⎡⎤=⎢⎥⎣⎦2. 发生5阶希尔伯特矩阵H和5阶帕斯卡矩阵P,且求其行列式的值Hh和Hp以及它们的条件数Th和Tp,判断哪个矩阵性能更好.为什么?解:M文件如下:输出结果:H =P =1 1 1 1 11 2 3 4 51 3 6 10 151 4 10 20 351 5 15 35 70Hh =Hp =1Th =4.7661e+005Tp =8.5175e+003因为它们的条件数Th>>Tp,所以pascal矩阵性能更好.3. 建立一个5×5矩阵,求它的行列式值、迹、秩和范数.解: M文件如下:输出结果为:A =17 24 1 8 1523 5 7 14 164 6 13 20 2210 12 19 21 311 18 25 2 9d =5070000t =65c1 =c2 =cinf =4. 已知求A的特征值及特征向量,并分析其数学意义.解:M文件如图:输出结果为:V =D =-25.3169 0 00 -10.5182 0数学意义:V的3个列向量是A的特征向量,D的主对角线上3个是A 的特征值,特另外,V的3个列向量分别是D的3个特征值的特征向量.5. 下面是一个线性方程组:(1) 求方程的解.(2) 将方程右边向量元素b3改为0.53再求解,并比力b3的变动和解的相对变动.(3) 计算系数矩阵A的条件数并分析结论.解: M文件如下:输出结果:X =X2 =C =1.3533e+003由结果,X和X2的值一样,这暗示b的微小变动对方程解也影响较小,而A的条件数算得较小,所以数值稳定性较好,A是较好的矩阵.6. 建立A矩阵,试比力sqrtm(A)和sqrt(A),分析它们的区别.解:M文件如下:运行结果有:A =16 6 1820 5 129 8 5b1 =b2 =b =分析结果知:sqrtm(A)是类似A的数值平方根(这可由b1*b1=A的结果看出),而sqrt(A)则是对A中的每个元素开根号,两则区别就在于此.实验三选择结构法式设计一、实验目的1. 掌握建立和执行M文件的方法.2. 掌握利用if语句实现选择结构的方法.3. 掌握利用switch语句实现多分支选择结构的方法.4. 掌握try语句的使用.二、实验内容1. 求分段函数的值.用if语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0时的y值.解:M文件如下:运算结果有:f(-5)y =14>> f(-3)y =11>> f(1)y =2>> f(2)y =1>> f(2.5)y =>> f(3)y =5>> f(5)y =192. 输入一个百分制成果,要求输出成果品级A、B、C、D、E.其中90分~100分为A,80分~89分为B,79分~79分为C,60分~69分为D,60分以下为E.要求:(1) 分别用if语句和switch语句实现.(2) 输入百分制成果后要判断该成果的合理性,对分歧理的成果应输出犯错信息.解:M文件如下试算结果:score=88grade =Bscore=123毛病:输入的成果不是百分制成果3. 硅谷公司员工的工资计算方法如下:(1) 工作时数超越120小时者,超越部份加发15%.(2) 工作时数低于60小时者,扣发700元.(3) 其余按每小时84元计发.试编程按输入的工号和该号员工的工时数,计算应发工资.解:M文件下4. 设计法式,完成两位数的加、减、乘、除四则运算,即发生两个两位随机整数,再输入一个运算符号,做相应的运算,并显示相应的结果.解:M文件如下;运算结果例:a =38b =33输入一个运算符:^c =falsea =92b =40输入一个运算符:+c =1325. 建立5×6矩阵,要求输出矩阵第n行元素.当n值超越矩阵的行数时,自动转为输出矩阵最后一行元素,并给出犯错信息.解:M文件如下:运算结果如下:输入一个5行6列矩阵A=[1 2 3 4 5 5;2 3 4 5 7 6;2 2 2 2 2 3;11 2 3 9 7 3;2 3 4 5 6 7]输入一正整数n=411 2 3 9 7 3输入一个5行6列矩阵A=[1 2 3 4 5 5;2 3 4 5 7 6;2 2 2 2 2 3;11 2 3 9 7 3;2 3 4 5 6 7]输入一正整数n=62 3 4 5 6 7ans =Error using ==> dispToo many input arguments.实验四循环结构法式设计一、实验目的1. 掌握利用for语句实现循环结构的方法.2. 掌握利用while语句实现循环结构的方法.3. 熟悉利用向量运算来取代循环把持的方法.二、实验内容1. 根据2222211116123nπ=++++,求π的近似值.当n分别取100、1000、10000时,结果是几多?要求:分别用循环结构和向量运算(使用sum函数)来实现.解:M文件如下:运行结果如下:K>> %循环结构计算pi值y=0;n=input('n=');for i=1:ny=y+1/i/i;endpi=sqrt(6*y)n=100pi =n=1000pi =n=10000pi =%向量方法计算Pi值n=input('n=');i=1./(1:n).^2;s=sum(i);pi=sqrt(6*s)n=100pi =n=1000pi =n=100002. 根据11113521yn=++++-,求:(1) y<3时的最年夜n值.(2) 与(1)的n值对应的y值.解:M—文件如下:运行结果如下:K>> y=0;n=0;while y<3n=n+1;y=y+1/(2*n-1);endynif y>3n=n-1;endny =n =57n =563. 考虑以下迭代公式:其中a 、b 为正的学数.(1) 编写法式求迭代的结果,迭代的终止条件为|x n+1-x n |≤10-5,迭代初值x 0=1.0,迭代次数不超越500次.(2) 如果迭代过程收敛于r ,那么r 的准确值是2b -±,当(a,b)的值取(1,1)、(8,3)、(10,0.1)时,分别对迭代结果和准确值进行比力.解:M 文件如下:运算结果如下;请输入正数a=1请输入正数b=1x =r =r =s =请输入正数a=8请输入正数b=3x =r =r =s =0.0请输入正数a=10x =r =r =s =4. 已知求f 1~f 100中:(1) 最年夜值、最小值、各数之和.(2) 正数、零、负数的个数.解:M—文件以下是运算结果:max(f)=437763282635min(f)=-899412113528sum(f)=-742745601951c1=49c2=2c3=495. 若两个连续自然数的乘积减1是素数,则称这两个边境自然数是亲密数对,该素数是亲密素数.例如,2×3-1=5,由于5是素数,所以2和3是亲密数,5是亲密素数.求[2,50]区间内:(1) 亲密数对的对数.(2) 与上述亲密数对对应的所有亲密素数之和.解:M文件:运算结果为:j =29s =23615实验五函数文件一、实验目的1. 理解函数文件的概念.2. 掌握界说和调用MATLAB函数的方法.二、实验内容1. 界说一个函数文件,求给定复数的指数、对数、正弦和余弦,并在命令文件中调用该函数文件.解:M文件如下:函数fushu.M文件:function [e,l,s,c] = fushu(z)%fushu 复数的指数,对数,正弦,余弦的计算%e 复数的指数函数值%l 复数的对数函数值%s 复数的正弦函数值%c 复数的余弦函数值e=exp(z);l=log(z);s=sin(z);c=cos(z);命令文件M:z=input('请输入一个复数z=');[a,b,c,d]=fushu(z)运算结果如下:z=input('请输入一个复数z=');[a,b,c,d]=fushu(z)请输入一个复数z=1+ia =b =c =d =2. 一物理系统可用下列方程组来暗示:从键盘输入m1、m2和θ的值,求a1、a2、N1和N2的值.其中g取9.8,输入θ时以角度为单元.要求:界说一个求解线性方程组AX=B的函数文件,然后在命令文件中调用该函数文件.解: M文件函数fc.M文件:function X= fc(A,B)%fc fc是求解线性方程的函数%A A是未知矩阵的系数矩阵X=A\B;命令M文件:clc;m1=input('输入m1=');m2=input('输入m2=');theta=input('输入theta=');x=theta*pi/180;g=9.8;A=[m1*cos(x) -m1 -sin(x) 0m1*sin(x) 0 cos(x) 00 m2 -sin(x) 00 0 -cos(x) 1];B=[0;m1*g;0;m2*g];X=fc(A,B)运算结果:输入m1=1输入m2=1输入theta=30X =3. 一个自然数是素数,且它的数字位置经过任意对调后仍为素数.例如13是绝对素数.试求所有两位绝对素数.要求:界说一个判断素数的函数文件.解:M文件:function [p] = prime(p)% 输入p的范围,找出其中的素数m=p(length(p));for i=2:sqrt(m)n=find(rem(p,i)==0&p~=i);p(n)=[];%将p中能被i整除,而却不即是i的元素,即下标为n的元素剔除,其余的即为素数endp;命令文件:clc;p=10:99;p=prime(p); %找出10到99内的所有素数p=10*rem(p,10)+(p-rem(p,10))/10;%将p素数矩阵每个元素个位十位调换顺序p=prime(p)%再对对调后的素数矩阵找出所有的素数运算结果:。
MATLAB程序设计与应用(刘卫国编)课后实验答案
真验一MATLAB运算前提之阳早格格创做1. 先供下列表白式的值,而后隐现MATLAB处事空间的使用情况并保存局部变量.(1)0 122sin851ze =+(2)21ln( 2z x=+,其中2120.455i x+⎡⎤=⎢⎥-⎣⎦(3)0.30.330.3sin(0.3)ln, 3.0, 2.9,,2.9,3.0 22a ae e az a a--+=++=--(4)2242011122123t tz t tt t t⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t解:M文献:z1=2*sin(85*pi/180)/(1+exp(2))x=[2 1+2*i;-.45 5];z2=1/2*log(x+sqrt(1+x^2))a=-3.0:0.1:3.0;z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2)t=0:0.5:2.5;z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1) 运算截止:z1=2*sin(85*pi/180)/(1+exp(2))x=[2 1+2*i;-.45 5];z2=1/2*log(x+sqrt(1+x^2))a=-3.0:0.1:3.0;z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2)t=0:0.5:2.5;z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1) z1 =z2 =z3 =Columns 1 through 4Columns 5 through 8Columns 9 through 12Columns 13 through 16Columns 17 through 20Columns 21 through 24Columns 25 through 28-1.8436 + 3.1416i -2.2727 + 3.1416i -2.9837 + 3.1416i -37.0245 Columns 29 through 32-3.0017 -2.3085 -1.8971 -1.5978Columns 33 through 36-1.3575 -1.1531 -0.9723 -0.8083Columns 37 through 40-0.6567 -0.5151 -0.3819 -0.2561Columns 41 through 44-0.1374 -0.0255 0.0792 0.1766Columns 45 through 480.2663 0.3478 0.4206 0.4841Columns 49 through 520.5379 0.5815 0.6145 0.6366Columns 53 through 560.6474 0.6470 0.6351 0.6119Columns 57 through 600.5777 0.5327 0.4774 0.4126Column 610.3388z4 =2. 已知:供下列表白式的值:(1) A+6*B战A-B+I(其中I为单位矩阵)(2) A*B战A.*B(3) A^3战A.^3(4) A/B及B\A(5) [A,B]战[A([1,3],:);B^2]解:M 文献:A=[12 34 -4;34 7 87;3 65 7];B=[1 3 -1;2 0 3;3 -2 7]; A+6.*BA-B+eye(3)A*BA.*BA^3A.^3A/BB\A[A,B][A([1,3],:);B^2]运算截止:A=[12 34 -4;34 7 87;3 65 7];B=[1 3 -1;2 0 3;3 -2 7];A+6.*BA-B+eye(3)A*BA.*BA^3A.^3A/BB\A[A,B][A([1,3],:);B^2]ans =18 52 -1046 7 10521 53 49ans =12 31 -332 8 840 67 1ans =68 44 62309 -72 596154 -5 241ans =12 102 468 0 2619 -130 49ans =37226 233824 48604247370 149188 60076678688 454142 118820ans =1728 39304 -6439304 343 65850327 274625 343ans =ans =ans =12 34 -4 1 3 -134 7 87 2 0 33 65 7 3 -2 7ans =12 34 -43 65 74 5 111 0 1920 -5 403. 设有矩阵A战B(1) 供它们的乘积C.(2) 将矩阵C的左下角3×2子矩阵赋给D.(3) 查看MATLAB处事空间的使用情况.解:. 运算截止:E=(reshape(1:1:25,5,5))';F=[3 0 16;17 -6 9;0 23 -4;9 7 0;4 13 11]; C= E*FH=C(3:5,2:3)C =93 150 77258 335 237423 520 397588 705 557753 890 717H =520 397705 557890 7174. 完毕下列支配:(1) 供[100,999]之间能被21整除的数的个数.(2) 修坐一个字符串背量,简略其中的大写字母.解:(1) 截止:m=100:999;n=find(mod(m,21)==0);length(n)ans =43(2). 修坐一个字符串背量比圆:ch='ABC123d4e56Fg9';则央供截止是:ch='ABC123d4e56Fg9';k=find(ch>='A'&ch<='Z');ch(k)=[]ch =真验二MATLAB矩阵分解与处理1. 设有分块矩阵33322322E RAO S⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E、R、O、S分别为单位矩阵、随机矩阵、整矩阵战对于角阵,试通过数值估计考证22E R RS AO S+⎡⎤=⎢⎥⎣⎦.解: M文献如下;输出截止:S =1 00 2A =0 0 0 1.0000 0a =0 0 0 1.0000 0 ans =0 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 0由ans,所以22E R RS AO S+⎡⎤=⎢⎥⎣⎦2. 爆收5阶希我伯特矩阵H战5阶帕斯卡矩阵P,且供其止列式的值Hh战Hp以及它们的条件数Th战Tp,推断哪个矩阵本能更佳.为什么?解:M文献如下:输出截止:H =P =1 1 1 1 1123d4e56g91 2 3 4 51 3 6 10 151 4 10 20 351 5 15 35 70Hh =Hp =1Th =4.7661e+005Tp =8.5175e+003果为它们的条件数Th>>Tp,所以pascal矩阵本能更佳.3. 修坐一个5×5矩阵,供它的止列式值、迹、秩战范数.解: M文献如下:输出截止为:A =17 24 1 8 1523 5 7 14 164 6 13 20 2210 12 19 21 311 18 25 2 9d =5070000t =65c1 =c2 =cinf =4. 已知供A的特性值及特性背量,并分解其数教意思.解:M文献如图:输出截止为:V =D =-25.3169 0 00 -10.5182 0数教意思:V的3个列背量是A的特性背量,D的主对于角线上3个是A的特性值,特别的,V的3个列背量分别是D的3个特性值的特性背量.5. 底下是一个线性圆程组:(1) 供圆程的解.(2) 将圆程左边背量元素b3改为0.53再供解,并比较b3的变更妥协的相对于变更.(3) 估计系数矩阵A的条件数并分解论断.解: M文献如下:输出截止:X =X2 =C =1.3533e+003由截止,X战X2的值一般,那表示b的微弱变更对于圆程解也做用较小,而A的条件数算得较小,所以数值宁静性较佳,A是较佳的矩阵.6. 修坐A矩阵,试比较sqrtm(A)战sqrt(A),分解它们的辨别.解:M文献如下:运止截止有:A =16 6 1820 5 129 8 5b1 =b2 =b =分解截止知:sqrtm(A)是类似A的数值仄圆根(那可由b1*b1=A的截止瞅出),而sqrt(A)则是对于A中的每个元素启根号,二则辨别便正在于此.真验三采用结构步调安排一、真验手段1. 掌握修坐战真止M文献的要领.2. 掌握利用if语句真止采用结构的要领.3. 掌握利用switch语句真止多分支采用结构的要领.4. 掌握try语句的使用.二、真验真质1. 供分段函数的值.用if语句真止,分别输出x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0时的y值.解:M文献如下:运算截止有:f(-5)y =14>> f(-3)y =11>> f(1)y =2>> f(2)y =1>> f(2.5)y =>> f(3)y =5>> f(5)y =192. 输进一个百分造结果,央供输出结果等第A、B、C、D、E.其中90分~100分为A,80分~89分为B,79分~79分为C,60分~69分为D,60分以下为E.央供:(1) 分别用if语句战switch语句真止.(2) 输进百分造结果后要推断该结果的合理性,对于分歧理的结果应输出堕落疑息.解:M文献如下试算截止:score=88grade =Bscore=123过失:输进的结果没有是百分造结果3. 硅谷公司职工的人为估计要领如下:(1) 处事时数超出120小时者,超出部分加收15%.(2) 处事时数矮于60小时者,扣收700元.(3) 其余按每小时84元计收.试编程按输进的工号战该号职工的工时数,估计应收人为.解:M文献下4. 安排步调,完毕二位数的加、减、乘、除四则运算,即爆收二个二位随机整数,再输进一个运算标记,干相映的运算,并隐现相映的截止.解:M文献如下;运算截止例:a =38b =33输进一个运算符:^c =falsea =92b =40输进一个运算符:+c =1325. 修坐5×6矩阵,央供输出矩阵第n止元素.当n值超出矩阵的止数时,自动转为输出矩阵末尾一止元素,并给出堕落疑息.解:M文献如下:运算截止如下:输进一个5止6列矩阵A=[1 2 3 4 5 5;2 3 4 5 7 6;2 2 2 2 2 3;11 2 3 9 7 3;2 3 4 5 6 7]输进一正整数n=411 2 3 9 7 3输进一个5止6列矩阵A=[1 2 3 4 5 5;2 3 4 5 7 6;2 2 2 2 2 3;11 2 3 9 7 3;2 3 4 5 6 7]输进一正整数n=62 3 4 5 6 7ans =Error using ==> dispToo many input arguments.真验四循环结构步调安排一、真验手段1. 掌握利用for语句真止循环结构的要领.2. 掌握利用while语句真止循环结构的要领.3. 认识利用背量运算去代替循环支配的要领.二、真验真质1. 根据2222211116123nπ=++++,供π的近似值.当n分别与100、1000、10000时,截止是几?央供:分别用循环结媾战背量运算(使用sum函数)去真止.解:M文献如下:运止截止如下:K>> %循环结构估计pi值y=0;n=input('n=');for i=1:ny=y+1/i/i;endpi=sqrt(6*y)n=100pi =n=1000pi =n=10000pi =%背量要领估计Pi值n=input('n=');i=1./(1:n).^2;s=sum(i);pi=sqrt(6*s)n=100pi =n=1000pi =n=100002. 根据11113521yn=++++-,供:(1) y<3时的最大n值.(2) 与(1)的n值对于应的y值.解:M—文献如下:运止截止如下:K>> y=0;n=0;while y<3n=n+1;y=y+1/(2*n-1);endynif y>3n=n-1;endny =n =57n =563. 思量以下迭代公式:其中a、b为正的教数.(1) 编写步调供迭代的截止,迭代的末止条件为|x n+1-x n|≤10-5,迭代初值x0=1.0,迭代次数没有超出500次.(2) 如果迭代历程支敛于r,那么r(a,b)的值与(1,1)、(8,3)、(10,0.1)时,分别对于迭代截止战准确值举止比较.解:M文献如下:运算截止如下;请输进正数a=1请输进正数b=1x =r =r =s =请输进正数a=8请输进正数b=3x =r =r =s =0.0请输进正数a=10x =r =r =s =4. 已知供f1~f100中:(1) 最大值、最小值、各数之战.(2) 正数、整、背数的个数.解:M—文献以下是运算截止:max(f)=437763282635min(f)=-899412113528sum(f)=-742745601951c1=49c2=2c3=495. 若二个连绝自然数的乘积减1是素数,则称那二个边陲自然数是亲稀数对于,该素数是亲稀素数.比圆,2×3-1=5,由于5是素数,所以2战3是亲稀数,5是亲稀素数.供[2,50]区间内:(1) 亲稀数对于的对于数.(2) 与上述亲稀数对于对于应的所有亲稀素数之战.解:M文献:运算截止为:j =29s =23615真验五函数文献一、真验手段1. 明白函数文献的观念.2. 掌握定义战调用MATLAB函数的要领.二、真验真质1. 定义一个函数文献,供给定复数的指数、对于数、正弦战余弦,并正在下令文献中调用该函数文献.解:M文献如下:函数fushu.M文献:function [e,l,s,c] = fushu(z)%fushu 复数的指数,对于数,正弦,余弦的估计%e 复数的指数函数值%l 复数的对于数函数值%s 复数的正弦函数值%c 复数的余弦函数值e=exp(z);l=log(z);s=sin(z);c=cos(z);下令文献M:z=input('请输进一个复数z=');[a,b,c,d]=fushu(z)运算截止如下:z=input('请输进一个复数z=');[a,b,c,d]=fushu(z)请输进一个复数z=1+ia =b =c =d =2. 一物理系统可用下列圆程组去表示:从键盘输进m1、m2战θ的值,供a1、a2、N1战N2的值.其中g与9.8,输进θ时以角度为单位.央供:定义一个供解线性圆程组AX=B的函数文献,而后正在下令文献中调用该函数文献.解: M文献函数fc.M文献:function X= fc(A,B)%fc fc是供解线性圆程的函数%A A是已知矩阵的系数矩阵X=A\B;下令M文献:clc;m1=input('输进m1=');m2=input('输进m2=');theta=input('输进theta=');x=theta*pi/180;g=9.8;A=[m1*cos(x) -m1 -sin(x) 0m1*sin(x) 0 cos(x) 00 m2 -sin(x) 00 0 -cos(x) 1];B=[0;m1*g;0;m2*g];X=fc(A,B)运算截止:输进m1=1输进m2=1输进theta=30X =3. 一个自然数是素数,且它的数字位子通过任性对于换后仍为素数.比圆13是千万于素数.试供所有二位千万于素数.央供:定义一个推断素数的函数文献.解:M文献:function [p] = prime(p)% 输进p的范畴,找出其中的素数m=p(length(p));for i=2:sqrt(m)n=find(rem(p,i)==0&p~=i);p(n)=[];%将p中能被i整除,而却没有等于i的元素,即下标为n的元素剔除,其余的即为素数endp;下令文献:clc;p=10:99;p=prime(p); %找出10到99内的所有素数p=10*rem(p,10)+(p-rem(p,10))/10;%将p素数矩阵每个元素个位十位变更程序p=prime(p)%再对于对于换后的素数矩阵找出所有的素数运算截止:。
Matlab程序设计与应用(刘卫国 第二版)答案
%y1 蓝色实线,y2 红色虚线,y3 绿色点画线
%分四个子图(先画 2 行 2 列第 1 块)
%y1 的四种图形
%y2 %条形图 %阶梯图 %杆图 %填充图,注意必须加填充颜色 %y3
subplot(3,4,11); stem(x,y3); subplot(3,4,12); fill(x,y3,'b'); 3 clear; x=-5:0.1:5; if x<=0 y=(x+sqrt(pi)/exp(2)); else y=0.5.*log(x+sqrt(1+x.^2)); end plot(x,y); 4 M 文件,假设文件名为 Untitled6 a=input('a='); b=input('b='); %b 单位为 pi/4 b=b*pi/4; n=input('n='); q=linspace(-2*pi,2*pi,100); p=a*sin(b+n*q); plot(q,p); hold on; %保持图形 命令窗口调用情况 >> Untitled6 a=1 b=1 n=1 >> Untitled6 a=2 b=2 n=2
n=input('n='); m=1:n; y=(6*sum(1./m.^2))^(1/2) 2:y=0; k=0; while 1 k=k+1; y=y+1/(2*k-1); if y>=3 break end end format long y=y-1/(2*k-1) k=k-1 3:a=input('a='); b=input('b='); n=1; x0=1; x1=a/(x0+b); while abs(x0-x1)>=10^(-5)|n<=500 k=a/(x1+b); x0=x1; x1=k; n=n+1; end x1 4:f(1)=1; f(2)=0; f(3)=1; for n=4:100 f(n)=f(n-1)-2*f(n-2)+f(n-3); end zuidazhi=max(f) zuixiaozhi=min(f) sn=sum(f) a=find(f>0); b=find(f<0); c=find(f==0); zhengshu=length(a) fushu=length(b) ling=length(c)
第04章_MATLAB程序设计_参考解答
第 4 章:MATLAB 程序设计
第4章
教材 P81 习题四
MATLAB 程序设计
1. 从键盘上输入一个 4 位整数, 按如下规则加密后输出。 加密规则: 每位数字都加上 7, 然后用和除以 10 的余数取代该数字;再把第一位与第三位交换,第二位与第四位交换。 答:程序设计: clear all; close all; clc; a=input('请输入一个 4 位整数:'); while (a<1000|a>9999) a=input('输入错误,不是一个 4 位整数,请输入一个 4 位整数:'); end b=fix(a/1000); %千位数字(第四位数字) c=rem(fix(a/100),10); %百位数字(第三位数字) d=rem(fix(a/10),10); %十位数字(第二位数字) e=rem(a,10); %个位数字(第一位数字) b=rem(b+7,10); %该位数字加 7,然后用和除以 10 的余数取代该数字 c=rem(c+7,10); %该位数字加 7,然后用和除以 10 的余数取代该数字 d=rem(d+7,10); %该位数字加 7,然后用和除以 10 的余数取代该数字 e=rem(e+7,10); %该位数字加 7,然后用和除以 10 的余数取代该数字 g=c;c=e;e=g; %将第一位和第三位交换 g=b;b=d;d=g; %将第二位和第四位交换 a=1000*b+100*c+10*d+e; %a 为加密后的整数 disp(['加密后:', num2str(a)]) 2. 分别用 if 语句和 switch 语句实现以下计算,其中 a,b,c 的值从键盘输入。 ⎧ ⎪ax 2 + bx + c, 0.5 ≤ x < 1.5 ⎪ ⎪ y = ⎨a sin c b + x, 1.5 ≤ x < 3.5 ⎪ c ⎪ln b + , 3.5 ≤ x < 5.5 x ⎪ ⎩ 答:程序设计: (1) 用 if 语句来实现: clear all; close all; clc; a=input('请输入 a: '); b=input('请输入 b: '); c=input('请输入 c: '); for x=0.5:1:5.5 if x>=0.5 & x<1.5 y=a.*(x.^2)+b.*x+c elseif x>=1.5 & x<3.5 y=a*(sin(b)^c)+x elseif x>=3.5 & x<5.5
MATLAB程序设计与应用(刘卫国编)课后实验答案
实验一 MATLAB 运算基础1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。
(1) 0122sin851z e =+ (2) 221ln(1)2z x x =++,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦ (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+=++=-- (4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:0.5:2.5 解:M 文件:z1=2*sin(85*pi/180)/(1+exp(2))x=[2 1+2*i;-.45 5];z2=1/2*log(x+sqrt(1+x^2))a=-3.0:0.1:3.0;z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2)t=0:0.5:2.5; z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1)运算结果:z1=2*sin(85*pi/180)/(1+exp(2))x=[2 1+2*i;-.45 5];z2=1/2*log(x+sqrt(1+x^2))a=-3.0:0.1:3.0;z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2)t=0:0.5:2.5;z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1)z1 =0.2375z2 =0.7114 - 0.0253i 0.8968 + 0.3658i0.2139 + 0.9343i 1.1541 - 0.0044iz3 =Columns 1 through 40.7388 + 3.1416i 0.7696 + 3.1416i 0.7871 + 3.1416i 0.7913 + 3.1416iColumns 5 through 80.7822 + 3.1416i 0.7602 + 3.1416i 0.7254 + 3.1416i 0.6784 + 3.1416iColumns 9 through 120.6196 + 3.1416i 0.5496 + 3.1416i 0.4688 + 3.1416i 0.3780 + 3.1416iColumns 13 through 160.2775 + 3.1416i 0.1680 + 3.1416i 0.0497 + 3.1416i -0.0771 + 3.1416iColumns 17 through 20-0.2124 + 3.1416i -0.3566 + 3.1416i -0.5104 + 3.1416i -0.6752 + 3.1416iColumns 21 through 24-0.8536 + 3.1416i -1.0497 + 3.1416i -1.2701 + 3.1416i -1.5271 + 3.1416iColumns 25 through 28-1.8436 + 3.1416i -2.2727 + 3.1416i -2.9837 + 3.1416i -37.0245 Columns 29 through 32-3.0017 -2.3085 -1.8971 -1.5978 Columns 33 through 36-1.3575 -1.1531 -0.9723 -0.8083 Columns 37 through 40-0.6567 -0.5151 -0.3819 -0.2561 Columns 41 through 44-0.1374 -0.0255 0.0792 0.1766 Columns 45 through 480.2663 0.3478 0.4206 0.4841 Columns 49 through 520.5379 0.5815 0.6145 0.6366 Columns 53 through 560.6474 0.6470 0.6351 0.6119 Columns 57 through 600.5777 0.5327 0.4774 0.4126 Column 610.3388z4 =0 0.2500 0 1.2500 1.0000 2.25002. 已知:1234413134787,2033657327A B --⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦求下列表达式的值:(1) A+6*B 和A-B+I (其中I 为单位矩阵)(2) A*B 和A.*B(3) A^3和A.^3(4) A/B 及B\A(5) [A,B]和[A([1,3],:);B^2]解:M 文件:A=[12 34 -4;34 7 87;3 65 7];B=[1 3 -1;2 0 3;3 -2 7]; A+6.*BA-B+eye(3)A*BA.*BA^3A.^3A/BB\A[A,B][A([1,3],:);B^2]运算结果:A=[12 34 -4;34 7 87;3 65 7];B=[1 3 -1;2 0 3;3 -2 7];A+6.*BA-B+eye(3)A*BA.*BA^3A.^3A/BB\A[A,B][A([1,3],:);B^2]ans =18 52 -1046 7 10521 53 49ans =12 31 -332 8 840 67 1ans =68 44 62309 -72 596154 -5 241ans =12 102 468 0 2619 -130 49ans =37226 233824 48604247370 149188 60076678688 454142 118820ans =1728 39304 -6439304 343 65850327 274625 343ans =16.4000 -13.6000 7.600035.8000 -76.2000 50.200067.0000 -134.0000 68.0000ans =109.4000 -131.2000 322.8000-53.0000 85.0000 -171.0000-61.6000 89.8000 -186.2000ans =12 34 -4 1 3 -134 7 87 2 0 33 65 7 3 -2 7ans =12 34 -43 65 74 5 111 0 1920 -5 403. 设有矩阵A 和B1234530166789101769,111213141502341617181920970212223242541311A B ⎡⎤⎡⎤⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥==-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦ (1) 求它们的乘积C 。
Matlab程序设计教程(第二版)课后参考答案
Matlab程序设计教程(第二版)课后参考答案第一章实验1.实验一第1题2.自己验证总结Matlab的主要优点3.实验一第2题4.实验一第3题5.网站思考练习1.启动见书P5 退出见书P62.Matlab主要功能见书P2 4种功能3.分行输入行末尾加续行符,即三个点“…”4.见书P115.直接在命令窗口输入fac第二章实验1.(1) w=sqrt(2)*(1+0.34245*10^(-6))w = 1.4142(2) a=3.5;b=5;c=-9.8;x=(2*pi*a+(b+c)/(pi+a*b*c)-exp(2))/(tan(b+c)+a)x =0.9829(3) a=3.32;b=-7.9;y=2*pi*a^2*((1-pi/4)*b-(0.8333-pi/4)*a)y = -128.4271(4) t=[2,1-3i;5,-0.65];z=0.5*exp(2*t)*log(t+sqrt(1+t.*t))z =1.0e+004 *0.0048 + 0.0002i 0.0048 - 0.0034i1.58992.0090 - 1.3580i2.实验二第1题3.实验二第2题4. H=hilb(5);P=pascal(5);Hh=det(H)Hh = 3.7493e-012Hp=det(P)Hp = 1Th=cond(H)Th = 4.7661e+005Tp=cond(P)Tp = 8.5175e+003条件数越趋近于1,矩阵的性能越好,所以帕斯卡矩阵性能更好。
5. A=[-29,6,18;20,5,12;-8,8,5]A =-29 6 1820 5 12-8 8 5[V,D]=eig(A)V =0.7130 0.2803 0.2733-0.6084 -0.7867 0.87250.3487 0.5501 0.4050D =-25.3169 0 00 -10.5182 00 0 16.8351V为A的特征向量,D为A的特征值。
matlab程序设计与应用(刘卫国编)课后实验答案36886()
实验一 MATLAB 运算基础1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。
(1) 0122sin851z e =+ (2) 221ln(1)2z x x =++,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦ (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+=++=-- (4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:0.5:2.5 解: M 文件:z1=2*sin(85*pi/180)/(1+exp(2))x=[2 1+2*i;-.45 5];z2=1/2*log(x+sqrt(1+x^2))a=-3.0:0.1:3.0;z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2)t=0:0.5:2.5;z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1) 运算结果:z1=2*sin(85*pi/180)/(1+exp(2))x=[2 1+2*i;-.45 5];z2=1/2*log(x+sqrt(1+x^2))a=-3.0:0.1:3.0;z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2)t=0:0.5:2.5;z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1) z1 =0.2375z2 =0.7114 - 0.0253i 0.8968 + 0.3658i0.2139 + 0.9343i 1.1541 - 0.0044iz3 =Columns 1 through 40.7388 + 3.1416i 0.7696 + 3.1416i 0.7871 + 3.1416i 0.7913 + 3.1416iColumns 5 through 80.7822 + 3.1416i 0.7602 + 3.1416i 0.7254 + 3.1416i 0.6784 + 3.1416iColumns 9 through 120.6196 + 3.1416i 0.5496 + 3.1416i 0.4688 + 3.1416i 0.3780 + 3.1416iColumns 13 through 160.2775 + 3.1416i 0.1680 + 3.1416i 0.0497 + 3.1416i -0.0771 + 3.1416iColumns 17 through 20-0.2124 + 3.1416i -0.3566 + 3.1416i -0.5104 + 3.1416i -0.6752 + 3.1416iColumns 21 through 24-0.8536 + 3.1416i -1.0497 + 3.1416i -1.2701 + 3.1416i -1.5271 + 3.1416iColumns 25 through 28-1.8436 + 3.1416i -2.2727 + 3.1416i -2.9837 + 3.1416i -37.0245Columns 29 through 32-3.0017 -2.3085 -1.8971 -1.5978Columns 33 through 36-1.3575 -1.1531 -0.9723 -0.8083Columns 37 through 40-0.6567 -0.5151 -0.3819 -0.2561Columns 41 through 44-0.1374 -0.0255 0.0792 0.1766Columns 45 through 480.2663 0.3478 0.4206 0.4841Columns 49 through 520.5379 0.5815 0.6145 0.6366Columns 53 through 560.6474 0.6470 0.6351 0.6119Columns 57 through 600.5777 0.5327 0.47740.4126Column 610.3388z4 =0 0.2500 0 1.2500 1.0000 2.25002. 已知:求下列表达式的值:(1) A+6*B和A-B+I(其中I为单位矩阵)(2) A*B和A.*B(3) A^3和A.^3(4) A/B及B\A(5) [A,B]和[A([1,3],:);B^2]解:M 文件:A=[12 34 -4;34 7 87;3 65 7];B=[1 3 -1;2 0 3;3 -2 7]; A+6.*BA-B+eye(3)A*BA.*BA^3A.^3A/BB\A[A,B][A([1,3],:);B^2]运算结果:A=[12 34 -4;34 7 87;3 65 7];B=[1 3 -1;2 0 3;3 -2 7]; A+6.*BA-B+eye(3)A*BA.*BA^3A.^3A/BB\A[A,B][A([1,3],:);B^2]ans =18 52 -1046 7 10521 53 49ans =12 31 -332 8 840 67 1ans =68 44 62309 -72 596154 -5 241ans =12 102 468 0 2619 -130 49ans =37226 233824 48604247370 149188 60076678688 454142 118820 ans =1728 39304 -6439304 343 65850327 274625 343 ans =16.4000 -13.6000 7.600035.8000 -76.2000 50.200067.0000 -134.0000 68.0000ans =109.4000 -131.2000 322.8000-53.0000 85.0000 -171.0000-61.6000 89.8000 -186.2000ans =12 34 -4 1 3 -134 7 87 2 0 33 65 7 3 -2 7ans =12 34 -43 65 74 5 111 0 1920 -5 403. 设有矩阵A和B(1) 求它们的乘积C。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章
1 求下列表达式的值。
(1)
w=sqrt(2)*(1+0.34245*10^(-6))
(2)
a=3.5;
b=5;
c=-9.8;
x=(2*pi*a+(b+c)/(pi+a*b*c)-exp(2))/tan(b+c)+a
(3)
a=3.32;
b=-7.9;
y=2*pi*a^(2)*[(1-pi/4)*b-(0.8333-pi/4)*a]
(4)
t=[2,1-3*i;5,-0.65];
z=1/2*exp(2*t)*log(t+sqrt(1+t^(2)))
2 求下列表达式
A=[-1,5,-4;0,7,8;3,61,7];
B=[8,3,-1;2,5,3;-3,2,0];
(1)
A+6*B A^2-B+eye
(2)
A*B A.*B B.*A
(3)
A/B B\A
(4)
[A,B] [A([1,3],:);B^2]
3 根据已知,完成下列操作
(1)
A=[23,10,-0.778,0;41,-45,65,5;32,5,0,32;6,-9.54,54,3.14]; K=find(A>10&A<25);
A(K)
(2)
A=[23,10,-0.778,0;41,-45,65,5;32,5,0,32;6,-9.54,54,3.14]; B=A(1:3,:) C=A(:,1:2) D=A(2:4,3:4) E=B*C
(3)
E<D E&D E|D ~E|~D
第三章
1 从键盘输入一个3位数,将它反向输出,如输入639,出数936。
f=input('输入一个数:','s');
f(end :-1:1)
2 用if语句
score=input('请输入成绩:');
if score>=90&&score<=100
disp('A');
elseif score>=80&&score<=89
disp('B');
elseif score>=70&&score<=79
disp('C');
elseif score>=60&&score<=69;
disp('D');
elseif score<60&&score>=0;
disp('E');
else
disp('出错');
end
用switch语句
score=input('请输入成绩:');
switch fix(score/10)
case {9,10}
disp('A');
case {8}
disp('B');
case {7}
disp('C');
case {6}
disp('D');
case {0,1,2,3,4,5}
disp('E');
otherwise
disp('出错');
end
第四章1题
1) X=0:10;
Y=x-x.^3/6;
P lot(x,y)
2) t=0:0.01:2*pi;
x=8.*cos(t);
y=4*sqrt(2).*sin(t);
plot(x,y)
2题
M文件:
t=-pi:pi/10:pi;
y=1./(1+exp(-t));
subplot(2,2,1);bar(t,y,'b');
title('bar(t,y,''b'')');axis([-5,5,-3,3]); subplot(2,2,2);stairs(t,y,'k');
title('stairs (t,y,''k'')');axis([-5,5,-3,3]); subplot(2,2,3);stem(t,y,'m');
title('stem (t,y,''m'')');axis([-5,5,-3,3]); subplot(2,2,4);loglog(t,y,'g');
title('loglog(t,y,''g'')');axis([-5,5,-3,3]);
3题
1)t=0:pi/100:2*pi;
y=5*cos(t)+4;
polar(t,y,'-*')
2)t=-pi/3:pi/100:pi/3;
r=5*sin(t).^2./cos(t);
polar(t,r,'-*')
4题
1)
t=0:pi/100:2*pi;
x=exp(-t/20).*cos(t);
y=exp(-t/20).*sin(t);
z=t;
plot3(x,y,z)
第五章:
1题
A=randn(10,5)
1) X=mean(A)
Y=std(A,0,1)
2) max(max(A))
min(min(A))
3) B=sum(A,2)
sum(B)
4) sort(A);
sort(A,2,'descend')
2题
1)t=0:15:90;
x1=[0,0.2588,0.5000,0.7071,0.8660,0.9659,1.0000];
a1=0:1:90;
y1=interp1(t,x1,a1,'spline')
x2=[0,0.2679,0.5774,1.0000,1.7320,3.7320,NaN]; a2=0:1:75;
y2= interp1(t,x2,a2,'spline')
p1=polyfit(t,x1,5);
z1=polyval(p1,a1)
p2=polyfit(t,x2,5);
z2=polyval(p2,a2)
4题
P=[2,-3,5,13];
Q=[1,5,8];
p=polyder(P)
p1=polyder(P,Q)
[p,q]= polyder(P,Q)
5题
P1=[1,2,4,0,5];
P2=[1,0];
P3=[1,2,3];
1) P4=conv(P2,P3)
P4=[0,1,2,3,0];
P=P1+P4
2) x=roots(P)
3) A=[-1,1.2,-1.4;0.75,2,3.5;0,5,2.5];
Y=polyval(P,A)
4) Z=polyvalm(P,A)
第8章
1.分解因式. (2)factor(sym(‘5135’))
(1)syms A x y;
A=x^4-y^4;
factor(A)
2.求函数的极限
(1)syms x; (2)syms x;
limit((x-2)/(x^2-4),x,2)
f=(sqrt(pi)-sqrt(acos(x)))/sqrt(x+1);
limit(f,x,-1,'right')
3.求函数的符号导数。
(1)syms x y (2)sym x;
f=sin(1/x); f=(1-cos(2*x))/x;
diff(f) diff(f,x,2) diff(f) diff(f,x,2)
4.求积分
(1)x=sym(‘x’) (2)sym(‘y’)
f=sqrt(exp(x)+1) f=x/(x+y)
int(f) int(f)
(3) (4)
f=exp(x).*(1+exp(x))^2; f=x .*log(x)
int(f,0,log(2)) int(f,1,exp(1))
5.求下列级数之和
syms n;
s=symsum((-1)^(n+1)/n,1,inf)
x=sym(‘x');
syms n;
s=symsum(x^(2*n-1)/(2*n-1),x,inf)
6.求函数在x=x.处的泰勒展开式
(1)syms x (2) syms x
f1= (exp(x)+exp(-x))/2 f1=sqrt(x^3-2*x+1) taylor(f1,x,5) taylor(f1,x,6)
7.求非线性方程的符号解
(1)syms x a y
X=slove(‘x^3+a*x+1’,’x’)。