Matlab上机题库及详细答案-Tonyxie

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Matlab上机题库及详细答案_Tonyxie----《matlab程序设计与应用》(第二版)刘卫国主编1.完成下列操作:(P361,T4)(1)求[100,999]之间能被21整除的数的个数。(2)建立一个字符串向量,删除其中的大写字母。clc;clear;%(1)A=100:999;length(A(mod(A,21)==0))%(2)ch='SDFHJI23423bfjdbg';chk=find(ch='Z'&ch='A');ch(k)=[]2.设有分块矩阵33322322ERAOS××××=,其中E、R、O、S分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22ERRSAOS+=。(p362,T1)clc;clear;E=eye(3);R=rand(3,2);O=zeros(2,3);S=diag(1:2);A=[E,R;O,S]B=A^2C=[E,R+R*S;O,S^2]result=isequal(B,C)%isequal(A,B)判断AB两个矩阵是否相等3.下面是一个线性方程组:1231112340.951110.673450.52111456xxx=(1)求方程的解。(2)将方程右边向量元素b3改为0.53再求解,并比较解的相对变化。(3)计算系数矩阵A的条件数并分析结论。clc;clear;%(1)A=1./[234;345;456];b1=[0.95;0.67;0.52];x1=inv(A)*b1%x2=A\b1%(2)b2=[0.95;0.67;0.53];x2=inv(A)*b2x3=x2-x1B1=norm(x1)%x1的2-范数B2=norm(x2)B=B2/B1%(3)条件数:D=cond(A)%A的2-范数下的条件数,该数都大于1,但越接近与1越好。if(D1e3)disp('结论:A的条件数远大于1,为不良矩阵。')end4.求分段函数的值。2226035605231xxxxyxxxxxxx+−≠−=−+≤≠≠−−且且及其他用if语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0时的y值。clc;clear;x=[-5.0-3.01.02.02.53.05.0];if(x3&x~=-3)y=x^2+x-6;elseif(x=0&x5&x~=2&x~=3)y=x^2-5*x+6;elsey=x.^2-x-1;endxy5.输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。其中90分~100分为A,80分~89分为B,79分~79分为C,60分~69分为D,60分以下为E。要求:(1)分别用if语句和switch语句实现。(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。clc;clear;x=input('#if#pleaseinputyourscore:');%useifif(x=90&x=100)y='A'elseifx=80&x=90y='B'elseifx=70&x=80y='C'elseifx=60&x=70y='D'elseifx=0&x=60y='E'elsedisp('ERROR!Pleaseiuputaintegernumber.')disp('')end%usesiwtchx=input('#switch#pleaseinputyourscore:');ifx=0&x=100switchfix(x/10)case{9,10}y='A'case8y='B'case7y='C'case6y='D'case{5,4,3,2,1,0}y='E'endelsedisp('ERROR!Pleaseiuputaintegernumber.')end6.硅谷公司员工的工资计算方法如下:(1)工作时数超过120小时者,超过部分加发15%。(2)工作时数低于60小时者,扣发700元。(3)其余按每小时84元计发。试编程按输入的工号和该号员工的工时数,计算应发工资。clc;clear;number=input('Pleaseinputyourworknumber:');time=input('Pleaseinoutyourworkhours:');iftime120;y=120*84+(time-120)*84*1.15;elseiftime=60&time=120;y=time*84;elseiftime60&time0y=time*84-700;elsey='ERROR!'enddisp('')disp(['ThewagesoftheNo.',num2str(number),'employeeis',num2str(y)])7、设1,1tyteππ−=−≤≤+,在同一图形窗口采用子图的形式绘制不同图形:条形图、阶梯图、杆图和全对数坐标图。clc;clear;t=-pi:0.25:pi;y=1./(1+exp(-t));figure;subplot(2,2,1);bar(t,y);subplot(2,2,2);stairs(t,y);subplot(2,2,3);stem(t,y);subplot(2,2,4);loglog(t,y);8、数值与符号计算(1)求极限limxxxeabe→+∞+(2)求不定积分axxedx∫(3)已知线性方程组Ax=b,其中2111210,12101210120Ab−−−==−−−−−,运用稀疏存储矩阵的方式求其解clc;clear;symsabx;%(1)f=exp(x)./(a+b*exp(x));limit(f,x,inf,'left')%(2)symsalphax;f=x*exp(alpha*x);int(f)%(3)B=[-120;-12-1;-12-1;-12-1;02-1];d=[-1;0;1];A=spdiags(B,d,5,5)%稀疏存储矩阵的方式%A=full(A)全矩阵b=[1;0;0;0;0];x=(inv(A)*b)'%转置9、绘图(1)绘制极坐标图:333sincos,sincos66θθππρθθθ=−≤≤+。(2)绘制曲面图:225(,),3,31fxyxyxy=−≤≤++clc;clear;%(1)thrta=-pi/6:0.1:pi/6;rho=3.*sin(thrta).*cos(thrta)./(sin(thrta).^3+cos(thrta).^3);polar(thrta,rho)%(2)x=-3:0.1:3;y=-3:0.1:3;[x,y]=meshgrid(x);z=-5./(1+x.^2+y.^2);figure;surf(x,y,z)figure[x,y,z]=peaks(40);surf(x,y,z)10、求非线性方程组2291xyxy+=+=,初值003,0xy==的数值解。函数文件:functionF=myfun(X)x=X(1);y=X(2);F(1)=x^2+y^2-9;F(2)=x+y-1;end命令:clc;clear;fsolve('myfun',[3,0],optimset('Display','off'))11、已知某精密仪器的某部件轮廓线的数据如下x035791112131415y01.21.72.02.12.01.81.21.01.6用三次样条插值法求x每改变0.1时的y值。clc;clear;x=[0345791112131415];y=[01.21.72.02.12.01.81.21.01.6];X=0:0.1:15;Y=interp1(x,y,X,'spline')plot(X,Y)12.采用图形用户界面,从键盘输入参数,,abn的值,考察参数对极坐标曲线cos()=+abnρθ的影响。theta=0:pi/100:2*pi;a=input('输入a=');b=input('输入b=');n=input('输入n=');rho=a*cos(b+n*theta);polar(theta,rho,'m')13.设计一个图形用户界面,其中有一个坐标平面和两个按钮,当单击第一个按钮时,在坐标平面上绘制一副图形,当单击第二个按钮时,可以改变界面的背景颜色。figure('name','图形演示系统','numbertitle','off','menubar','none');hplot=uimenu(gcf,'Label','&Plot');uimenu(hplot,'Label','&huatu','Call',['x=0:pi/100:2*pi;','y=sin(x);','plot(x,y);']);hselet=uimenu(gcf,'label','&Selet');uimenu(hselet,'label','&Red','call','set(gcf,color,r);');uimenu(hselet,'label','&Yellow','call','set(gcf,color,y);');14.分别用if语句和switch语句实现以下计算,其中,,abc和x的值从键盘输入。20.51.5sin1.53.5ln3.55.5++≤=+≤+≤caxbxcxyabxxcbxxclc;clear;a=input('Pleaseinputa=');b=input('Pleaseinputb=');c=input('Pleaseinputc=');x=input('Pleaseinputx=');disp('#if#');ifx=0.5&x1.5y=a*x^2+b*x+celseifx3.5&x=1.5y=a*sin(b)^c+xelseifx=3.5&x5.5y=log(abs(b+(c./x)))elsey='ERROR!'enddisp('#switch#')switch(x*10/5)case{12}y=a*x^2+b*x+ccase{3456}y=a*sin(b)^c+xcase{78910}y=log(abs(b+(c./x)))otherwisey='ERROR!'end15.求下列矩阵的主对角线元素、上三角阵、下三角阵、秩、范数、条件数和迹。112351420.43432(1);(2)30528.9421111509−−==−ABclc;clear;A=[1-123;51-42;3052;111509]diag(A)triu(A)tril(A)rank(A)trace(A)norm(A)cond(A)B=[0.43432;-8.9421]diag(B)triu(B)tril(B)rank(B)trace(B)%方阵才有迹。norm(B)cond(B)16.求微分方程组的数值解,并绘制解的曲线。123213312123'''0.51(0)0,(0)1,(0)1==−=−===yyyyyyyyyyyy函数文件functiondy=rigid(t,y)dy=zeros(3,1);dy(1)=y(2)*y(3);dy(2)=-y(1)*y(3);dy(3)=-0.51*y(1)*y(2);end命令:clc;clear[T,Y]=ode45('rigid',[0,20],[0,1,1])plot(T,Y(:,1),'-',T,Y(:,2),'+',T,Y(:,3),'*');17.已知12010100100,010,001101abcPPAdefghk===完成下列运算:(1)B=P1·P2·A;(2)B的逆矩阵并验证结果;(3)包括B矩阵主对角线元素的下三角阵;(4)B的行列式值。clc;clear;p1=sym('[01

1 / 27
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功