1、matlab期末考试MATLAB程序设计与应用(第二版)实验参考答案%实验一 MATLAB运算基础%第一题%(1)z1=2*sin(85*pi/180)/(1+exp(2)%(2)x=2,1+2i;-0.45,5;z2=0.5*log(x+sqrt(1+x.2)%(3)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)%(4)t=0:0.5:2.5;z4=t.2.*(t=0&t=1&t=2&t=A&A=Z);A(k)=%实验二 MATLAB矩阵分析与处理%第一题E=eye(3);R=rand(3,2);O=
2、zeros(2,3);S=diag(2,2);A=E,R;O,S;ex21=A2ex21=E,(R+R*S);O,S2%第二题H=hilb(5)P=pascal(5)ex22=det(H)ex22=det(P)ex22=cond(H)ex22=cond(P)%第三题:A=fix(10*rand(5)ex23=det(A)ex23=trace(A)ex23=rank(A)ex23=norm(A)%第四题:A=-29,6,18;20,5,12;-8,8,5V,D=eig(A)ex24=Vex24=D%数学意义略%第五题方法一:%(1):A=1/2,1/3,1/4;1/3,1/4,1/5;1/4,1
3、/5,1/6;b=0.95,0.67,0.52;ex25=inv(A)*b%(2):B=0.95,0.67,0.53;ex25=inv(A)*B%(3):ex25=cond(A)%第五题方法二:A=hilb(4)A(:,1)=A(4,:)=B=0.95,0.67,0.52;X=inv(A)*BB1=0.95,0.67,0.53;X1=inv(A)*B1N=cond(B)N1=cond(B1)Na=cond(A) %矩阵A为病态矩阵%第六题A=1,2,3;4,5,6;7,8,9ex26=sqrtm(A)ex26=sqrt(A) %sqrtm函数是以矩阵为单位进行计算,sqrt函数是以矩阵中的元素
4、进行计算%实验三 选择程序结构设计%第一题程序一x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0;y=; %建立存放所有y值的矩阵for x0=x if x0=0&x05&x0=2&x0=3 y=y,x0*x0-5*x0+6; else y=y,x0*x0-x0-1; endendx %输出所有xy %输出所有yex31=xex31=y%第一题程序二x=-5,-3,1,2,2.5,3,5;y=;for a=1:7if x(a)=0&x(a)100|x0disp(您输入的成绩不是百分制成绩,请重新输入。);elseif x=90disp(A);elseif x=80disp(B);
5、elseif x=70disp(C);elseif x60disp(D);elsedisp(E);endend%第二题程序二:s=input(请输入一个成绩(0分到100分之间):); %s用于存放成绩while 1 %判断输入成绩的合理性 if s100 disp(输入的成绩需在0到100之间,请重新输入:) s=input(请输入一个成绩(0分到100分之间):); else break; endendswitch fix(s/10) %对成绩做出等级判断 case 9,10 disp(A) case 8 disp(B) case 7 disp(C) case 6 disp(D) othe
6、rwise disp(E)end%第三题n=input(请输入员工工号:);h=input(该员工工作时数是:);if h120x=(h-120)*84*(1+0.15)+120*84;elseif h5 disp(超出了矩阵的行数,矩阵的最后一行为:) a(5,:)else disp(矩阵的第,num2str(n),行为:) a(n,:)end%实验四 循环结构程序设计%第一题程序一s=0;n=input(n=?);for i=1:n s=s+1/i/i;endPI=sqrt(6*s)pi%第一题程序二n=input(n=?);a=1:n;b=1./a.2;PI=sqrt(6*sum(b)p
7、i%第二题y=0;n=1;while(y1e-5 Xn=Xn1; Xn1=a/(b+Xn); n=n+1; if n=500 break; endendnXn1r1=(-b+sqrt(b*b+4*a)/2r2=(-b-sqrt(b*b+4*a)/2%第四题for i=1:100if i=1f(i)=1;elseif i=2f(i)=0;elseif i=3f(i)=1;elsef(i)=f(i-1)-2*f(i-2)+f(i-3);endendmax(f)min(f)sum(f)length(find(f0)length(find(f=0)length(find(f0)%第五题:s=0;n=0
8、;for i=2:49b=i*(i+1)-1;m=fix(sqrt(b);for j=2:mif rem(b,j)=0breakendendif j=mn=n+1;s=s+b;endendns%实验五 函数文件%第一题function y=mat1(x) %建立函数文件mat1.my=exp(x),log(x),sin(x),cos(x);%在命令窗口调用上述函数文件:y=mat1(1+i)%第二题程序一function a,b,N,M=shiyanwu2(m,n,t)A=m*cos(t*pi/180),-m,-sin(t*pi/180),0;m*sin(t*pi/180),0,cos(t*p
9、i/180),0;0,n,-sin(t*pi/180),0;0,0,-cos(t*pi/180),1;B=0,9.8*m,0,9.8*n;C=inv(A)*B;a=C(1);b=C(2);N=C(3);M=C(4);%在命令窗口调用该函数文件:m1=input(m1=);m2=input(m2=);theta=input(theta=);a1,a2,N1,N2=shiyanwu2(m1,m2,theta)%第二题程序二function X=mat2(m1,m2,t)g=9.8;A=m1*cos(t*pi/180),-m1,-sin(t*pi/180),0;m1*sin(t*pi/180),0,
10、cos(t*pi/180),0;0,m2,-sin(t*pi/180),0;0,0,-cos(t*pi/180),1;B=0;m1*g;0;m2*g;X=inv(A)*B;%在命令窗口调用该函数文件:X=mat2(1,1,60)%第三题function flag=mat3(x)flag=1;for i=2:sqrt(x)if rem(x,i)=0 flag=0; break;endend%在命令窗口调用该函数文件:for i=10:99j=10*rem(i,10)+fix(i/10);if mat3(i)&mat3(j) disp(i)endend%第四题function y=fx(x)y=1
11、./(x-2).2+0.1)+1./(x-3).4+0.01);%在命令窗口调用该函数文件:y=fx(2)a=1,2;3,4;y=fx(a)%第五题%(1)function f1=mat5(n)f1=n+10*log(n*n+5);%在命令窗口中调用该函数文件:y=mat5(40)/(mat5(30)+mat5(20)%(2)方法一function f2=mat6(n)f2=0;for i=1:n f2=f2+i*(i+1);end%在命令窗口中调用该函数文件如:y=mat6(40)/(mat6(30)+mat6(20)%(2)方法二function f2=mat7(n)i=1:n;m=i.*
12、(i+1);f2=sum(m);end%在命令窗口中调用该函数文件如:y=mat7(40)/(mat7(30)+mat7(20)%实验六 高层绘图操作%第一题:x=linspace(0,2*pi,101);y=(0.5+3*sin(x)./(1+x.2).*cos(x);plot(x,y)%第二题:%(1)x=linspace(-2*pi,2*pi,100);y1=x.2;y2=cos(2*x);y3=y1.*y2;plot(x,y1,b-,x,y2,r:,x,y3,y-);text(4,16,leftarrow y1=x2);text(6*pi/4,-1,downarrow y2=cos(2
13、*x);text(-1.5*pi,-2.25*pi*pi,uparrow y3=y1*y2);%(2)x=linspace(-2*pi,2*pi,100);y1=x.2;y2=cos(2*x);y3=y1.*y2;subplot(1,3,1);%分区plot(x,y1);title(y1=x2);%设置标题subplot(1,3,2);plot(x,y2);title(y2=cos(2*x);subplot(1,3,3);plot(x,y3);title(y3=x2*cos(2*x);%(3)x=linspace(-2*pi,2*pi,20);y1=x.2;subplot(2,2,1);%分区
14、bar(x,y1);title(y1=x2的条形图);%设置标题subplot(2,2,2);stairs(x,y1);title(y1=x2的阶梯图);subplot(2,2,3);stem(x,y1);title(y1=x2的杆图);subplot(2,2,4);fill(x,y1,r);%如果少了r则会出错title(y1=x2的填充图);%其他的函数照样做。%第三题x=-5:0.01:5;y=;%起始设y为空向量for x0=xif x0=0 %不能写成x0=0.5n=n+1;endendp=n/30000%第二题%(1)A=45+51*rand(100,5);Y,U=max(A)a,
15、b=min(A)%(2)m=mean(A)s=std(A)%(3)sum(A,2)Y,U=max(ans)a,b=min(ans)%(4)zcj,xsxh=sort(ans)%第三题h=6:2:18;x=6.5:2:17.5;t1=18,20,22,25,30,28,24;t2=15,19,24,28,34,32,30;T1=spline(h,t1,x)T2=spline(h,t2,x)%第四题x=1:0.1:101;y1=log10(x);p=polyfit(x,y1,5)y2=polyval(p,x);plot(x,y1,:,x,y2,-)%第五题%(1)p1=1,2,4,0,5;p2=1
16、,2;p3=1,2,3;p=p1+0,conv(p2,p3) %为使两向量大小相同,所以补0%(2)A=roots(p)%(3)A=-1,1.2,-1.4;0.75,2,3.5;0,5,2.5;polyval(p,A)%(4)polyvalm(p,A)试验九ex91g=inline(det(x x.2 x.3 ; 1 2.*x 3.*x.2; 0 2 6.*x);y=1:0.01:3.01;y1=;for t=y y1=y1,g(t);endy2=diff(y1)/0.01;ex911=y2(1)ex912=y2(101)ex913=y2(201)ex921 a=inline(sqrt(cos(t.2)+4*sin(2*t).2)+1); ex921=quadl(a,0,2*pi)ex93A=6,5,-2,5;9,-1,4,-1;3,4,2,-2;3,-9,0,2; b=-4,13,1,11; ex93=Abex95function f =fz(x)f=3*x+sin(x)-exp(x);fzero(fz ,-1.5)ex97function dy=vdp5(x,y)dy=zeros(2,1)dy(1)=y(2)dy(2)=5*y(2)/x-y(1)/xex97=x,y=ode45(g,x0,xf,0,0)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1