您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 招聘面试 > MATLAB实验参考答案
1MATLAB程序设计与应用(第二版)实验参考答案%实验一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&t1)+(t.^2-1).*(t=1&t2)+(t.^2-2*t+1).*(t=2&t3)%第二题A=[1234-4;34787;3657];B=[13-1;203;3-27];A+6*BA-B+eye(size(A))A*BA.*BA^3A.^3A/BB\A[A,B][A([1,3],:);B^2]%第三题A=[12345;678910;1112131415;1617181920;2122232425]B=[3016;17-69;023-4;970;41311]C=A*BF=size(C)D=C(F(1)-2:F(1),F(2)-1:F(2))whos%第四题%(1):A=100:999;B=rem(A,21);C=length(find(B==0))%(2):A='lsdhKSDLKklsdkl';k=find(A='A'&A='Z');A(k)=[]%实验二MATLAB矩阵分析与处理%第一题E=eye(3);R=rand(3,2);O=zeros(2,3);S=diag([2,3]);A=[E,R;O,S];A^2B=[E,(R+R*S);O,S^2]%第二题H=hilb(5)P=pascal(5)Hh=det(H)Hp=det(P)Th=cond(H)Tp=cond(P)%第三题:A=fix(10*rand(5))H=det(A)Trace=trace(A)Rank=rank(A)Norm=norm(A)%第四题:A=[-29,6,18;20,5,12;-8,8,5][V,D]=eig(A)%数学意义略%第五题方法一:%(1):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]';x=inv(A)*b2%(2):B=[0.95,0.67,0.53]';x=inv(A)*B%(3):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,4,9;16,25,36;49,64,81]B=sqrtm(A)C=sqrt(A)%sqrtm函数是以矩阵为单位进行计算,sqrt函数是以矩阵中的元素进行计算%实验三选择程序结构设计%第一题程序一x=[-5.0,-3.0,1.0,2.0,2.5,3.0,5.0];y=[];forx0=xifx00&x0~=-3y=[y,x0*x0+x0-6];elseifx0=0&x05&x0~=2&x0~=3y=[y,x0*x0-5*x0+6];elsey=[y,x0*x0-x0-1];endendxyx=[-5.0,-3.0,1.0,2.0,2.5,3.0,5.0];y=[];%建立存放所有y值的矩阵forx0=xifx00&x0~=-3y=[y,x0*x0+x0-6];elseifx0=0&x05&x0~=2&x0~=3y=[y,x0*x0-5*x0+6];elsey=[y,x0*x0-x0-1];endendx%输出所有xy%输出所有y%第一题程序二x=[-5,-3,1,2,2.5,3,5];y=[];fora=1:7ifx(a)0&x(a)~=-3y=[y,(x(a))^2+x(a)-6];elseifx(a)=0&x(a)5&x(a)~=2&x(a)~=3y=[y,(x(a))^2-5*x(a)+6];elsey=[y,x(a)*x(a)-x(a)-1];endend%第二题程序一:score=input('请输入一个分数:');ifscore0&score100disp('输入的分数不合理');elseifscore=90&score=100disp('等级为:A');elseifscore=80&score=89disp('等级为:B');elseifscore=70&score=79disp('等级为:C');elseifscore=60&score=69disp('等级为:D');else3disp('等级为:E');endendx=input('请输入一个百分制成绩:');ifx100|x0disp('您输入的成绩不是百分制成绩,请重新输入。');elseifx=100&x=90disp('A');elseifx=89&x=80disp('B');elseifx=79&x=70disp('C');elseifx=69&x60disp('D');elsedisp('E');endend%第二题程序二:score=input('请输入一个分数:');ifscore0&score100disp('输入的分数不合理');elseswitchfix(score/10)case{9,10}disp('A');case{8}disp('B');case{7}disp('C');case{6}disp('D');otherwisedisp('E');endends=input('请输入一个成绩(0分到100分之间):');%s用于存放成绩while1%判断输入成绩的合理性ifs0|s100disp('输入的成绩需在0到100之间,请重新输入:')s=input('请输入一个成绩(0分到100分之间):');elsebreak;endendswitchfix(s/10)%对成绩做出等级判断case{9,10}disp('A')case8disp('B')case7disp('C')case6disp('D')otherwisedisp('E')end%第三题a=input('工号:');b=input('工时:');ifb120c=120*84+(b-120)*84*(1+0.15);elseifb60c=84*b-700;elsec=84*b;enddisp(['工号为',num2str(a),'的员工的工资为',num2str(c)]);4n=input('请输入员工工号:');h=input('该员工工作时数是:');ifh120x=(h-120)*84*(1+0.15)+120*84;elseifh60x=h*84-700;elsex=h*84;enddisp([num2str(n),'号员工','的应发工资为',num2str(x)]);%第四题(还可以用switch语句实现)a=input('a=');b=input('b=');c=input('输入一个四则运算符号:','s');ifc=='+'d=a+b;elseifc=='-'d=a-b;elseifc=='*'d=a*b;elseifc=='/'d=a/b;enddisp(['结果为:',num2str(d)]);a=fix(10+(99-10)*rand(1,2))%产生两个随机整数x=a(1);y=a(2);t=input('请输入运算符号:','s');ift=='+'z=x+y;elseift=='-'z=x-y;elseift=='*'z=x*y;elseift=='/'z=x/y;enddisp([num2str(x),t,num2str(y),'=',num2str(z)])%输出运算结果%第五题a=rand(5,6);n=input('输出矩阵的第几行:');ifn5disp(['超出了矩阵的行数,输出矩阵的最后一行为:',num2str(a(5,:))]);elsedisp(['矩阵的第',num2str(n),'行为:',num2str(a(n,:))]);enda=rand(5,6)%产生5x6的随机矩阵n=input('请输入您要输出矩阵的第几行:');ifn5disp('超出了矩阵的行数,矩阵的最后一行为:')a(5,:)elsedisp(['矩阵的第',num2str(n),'行为:'])a(n,:)end%实验四循环结构程序设计%第一题程序一s=0;n=input('n=?');fori=1:ns=s+1/i/i;endPI=sqrt(6*s)pi%第一题程序二n=input('n=?');a=1:n;5b=1./a.^2;PI=sqrt(6*sum(b))pi%第二题y=0;n=1;while(y3)y=y+1/(2*n-1);n=n+1;endy=y-1/(2*(n-1)-1)n=n-2%第三题a=input('a=?');b=input('b=?');Xn=1;Xn1=a/(b+Xn);n=0;whileabs(Xn1-Xn)1e-5Xn=Xn1;Xn1=a/(b+Xn);n=n+1;ifn==500break;endendnXn1r1=(-b+sqrt(b*b+4*a))/2r2=(-b-sqrt(b*b+4*a))/2%第四题fori=1:100ifi==1f(i)=1;elseifi==2f(i)=0;elseifi==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;fori=2:49b=i*(i+1)-1;m=fix(sqrt(b));forj=2:mifrem(b,j)==0breakendendifj==mn=n+1;s=s+b;endendns%实验五函数文件%第一题functiony=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*pi/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);6b=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)%第二题程序二functionX=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,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)%第三题functionflag=mat3(x)flag=1;fori=2:sqrt(x)ifrem(x,i)==0flag=0;break;endend%在命令窗口调用该函数文件:fori=10:99j=10*
本文标题:MATLAB实验参考答案
链接地址:https://www.777doc.com/doc-2882096 .html