《Matlab上机题库和详细答案.docx》由会员分享,可在线阅读,更多相关《Matlab上机题库和详细答案.docx(68页珍藏版)》请在优知文库上搜索。
1、Matlab上机题库及详细答案例1、用一个简单命令求解线性系统3xl+x2-x3=3.6xl+2x2+4x3=2.1-l+4x2+5x3=-1.4解:A=31-1;124;-145;b=3.6;2.1;-1,4;x=Ab%Inv(八)*bX=1.4818-0.46060.3848例2、用简短命令计算并绘制在0x6范围内的sin(2x)、SinX2、sin2x解:x=linspace(0,6)yl=sin(2*x),y2=sin(x.2),y3=(sin(x).2;plot(x,yl,x,y2,x,y3)例3:画出指数衰减曲线yl=exp(-t/指*sin(3*t)和它的包络y2=exp(-t3
2、),t的取值范围是(0,4pi)o解:t=0:pi/100:4*pi;y2=exp(-t3):yl=y2.*sin(3*t);plot(t,yl,-r,t,y2,:b,t,-y2,:b)知识点:1. A(:,j)表示取A矩阵的第j列全部元素;A(i,:)表示A矩阵第i行的全部元素;A(i,j)表示取A矩阵第i行、第j列的元素。2. A(i:i+m,:)表示取A矩阵第ii+行的全部元素;A(:,k:k+m)表示取A矩阵第kk+m列的全部元素,A(i:i+m,k:k+m)表示取A矩阵第ii+m行内,并在第kk+m列中的所有元素。A=l,2,3,4,5:11,12,13,14,15;21,22,23
3、,24,25;31,32,33,34,35;A(2:3,4:5)A(2:3,1:2:5)3. 利用end运算符,end表示某一维的末尾元素下标。A=l,2,3,4,5;11,12,13,14,15;21,22,23,24,25;31,32,33,34,35;A(Cnd,:)先取A最后一行元素A(l,4,3:end)%取A第1、4行中第3列到最后一列元素。4. A(:)将矩阵A的每一列元素堆叠起来,成为一个行向量。例4:使用关系运算和元素的逻辑运算找出大于60小于100的数的位置。解:num=round(rand(l,10)*100);%生成60)&(numl00)n=n.*numReSUlt=
4、find(n)%查找非0位置,按索引方式as=n(result)%显示这些数字例5:产生对角线上全L其余为0的2行3列矩阵的命令是_C。A.ones(2,3)B.ones(3,2)C.eye(2,3)D.eye(3,2)例6:已知a=0:4,b=l:5,下面的运算表达式出错的为_D_。A.a+bB.a.*bC.a,*bD.a*b例7:有一个2行2列的元胞数组c,则c(2)指的是D。A.第1行第2列的元素内容B.第2行第1列的元素内容C.第1行第2列的元素D.第2行第1列的元素例8:已知x=0:10,则X有B个元素。A.10B.11C.9D.12例9:已知数组a=则a(:,end)是指CA.所有
5、元素B.第一行元C.第三列元素D.第三行元素例10:计算X从0到20,y=sin(x)中,0的所有值。解:x=0:20;xl=x.*(xpi)(x0)例11:设A=l23;456为2X3矩阵,分别建立3X3、3X2和与矩阵A同样大小的零矩阵。解:zeros(3);zeros(3,2);A=123;456;zeros(size(八))例12:建立随机矩阵:(1)在区间20,50内均匀分布的5阶随机矩阵。(2)均值为0.6方差为0.1的5阶正态分布随机矩阵解:x=20+(50-20)*rand(5);y=0.6+sqrt(0.l)*randn(5)例13:将101125等25个数填入一个5行5列的
6、表格中,使其每行每列及对角线的和均为565。解:M=100+magic(5)M=117124101108115123105107114116104106113120122HO112119121103111118125102109例14:先建立5X5矩阵A,然后将A的第一行元素乘以1,第二行乘以2,,第五行乘以5。解A=17,0,1,0,15;23,5,7,14,16;4,0,13,0,22;10,12,19,21,3;11,18,25,2,19;D=diag(l:5);D*A%用D左乘A,对A的每行乘以一个指定常数例15:输入x,y的值,并将它们的值互换后输出。程序如下:x=inputCInp
7、utXplease.,);y=input(,Inputyplease.,);z=x;x=y;y=z;disp(x);disp(y);例16::求一元二次方程ax2+bx+c=0的根。程序如下:a=input(,a=?);b=input(b=?);c=inputCc=?);d=b*b-4*a*c;x=(-b+sqrt(d)(2*a),(-b-sqrt(d)/(2*a);disp(,xl=,num2str(x(l),x2-,num2str(x(2);例17:输入一个字符,若为大写字母,则输出其对应的小写字母;若为小写字母,则输出其对应的大写字母;若为数字字符则输出其对应的数值,若为其他字符则原样输
8、出。解:c=input(请输入一个字符,s);ifc=A&c=,a,&c三,0,&c三,9,disp(abs(c)-abs(,0,);elsedisp(c);end例18:某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用PriCe来表示):price200没有折扣200price5003%折扣500price10005%折扣IoOOWPriCe25008%折扣2500price0)Sum;mean=sumcntend例22:求100,200之间第一个能被21整除的整数。程序如下:解:forn=100:200ifrem(n,21)=0Continuejendbreakend例23:若一
9、个数等于它的各个真因子之和,则称该数为完数,如6=1+2+3,所以6是完数。求1,500之间的全部完数。解:form=l:500;S=Ojfork=l:m/2;ifrem(m,k)=0;s=s+k;end;end;ifm=sdisp(m);end;end例24:编写函数文件求半径为r的圆的面积和周长。函数文件如下:解:functions,p=fcircle(r)%CIRCLEcalculatetheareaandperimeterofacircleofradiir%r圆半径%s圆面积%p圆周长s=pi*r*r;p=2*pi*r;例25:利用函数文件,实现直角坐标(x,y)与极坐标(P,)之间的
10、转换。函数文件tran.m:解:functionrho,theta=tran(x,y);rho=sqrt(x*x+y*y);theta=atan(yx);调用tran.m的命令文件InainI.m:在x=input(Pleaseinputx=:);y=input(,Pleaseinputy=:,);rho,the=tran(x,y);rho例26:在0x2区间内,绘制曲线y=2c-0.5XCOS(4冗x)解:程序如下:x=0:pi/100:2*pijy=2*exp(-0.5*x).*cos(4*pi*x);PIot(x,y)例27:用不同标度在同一坐标内绘制曲线yl=O.2e-0.5xcos(
11、4JIX)和y2=2e-0.5xcos(x)o解:x=0:pi/100:2*pi;yl=0.2*exp(-0.5*x).*cos(4*pi*x);y2=2*exp(-0.5*x).*cos(pi*x);Plotyy(x,yl,x,y2);例28:在0xW2九区间内,用不同线型和颜色绘制曲线y=2e-0.5xsin(2n)及其包络线。解:x=(0:pi/100:2*pi)jyl=2*exp(-0.5*x)*l,-1;y2=2*exp(-0.5*x).*sin(2*pi*x);xl=(0:12)/2;y3-2*exp(-0.5*xl).*sin(2*pi*xl);plot(x,yl,k,x,y2,b一,xl,y3,rp)例29:在0WxW2c区间内,绘制曲线yl=2e-0.5x和y2=cos(4n)并给图形添加图形标注。解:x=0:pi/100:2*pijyl=2*exp(-0.5*x);y2=cos(4*pi*x)jplot(x,yl,x,y2);title(,xfrom0to2pi,);%加图形标题XlabelCVariableX);%加X轴说明ylabel(,VariableY);%加Y轴说明text(0.8,1.5,曲线yl=2e-0.5x)%在指定位置添加图形说明text(2.5,L1,曲线y2=cos(4pi