您好,欢迎访问三七文档
-1-一、填空题1.MATLAB命令中清空workspace的是。2.已知函数的功能,但不确切知道函数名,可使用的搜索命令是。3.语句a=[1234;5678;9101112];a([1end],1:2)=[1020;3040];执行后,a=。4.w=[zeros(3,1)ones(1,3)'(3:5)']的结果是。5.若a=[10;21];c=[3;2],则a*c=。6.与指令a\b等价的运算是。7.语句a(:,3)=[1234]';b=size(a)+length(a);执行后b=。8.把一个图形显示在一个图像窗口的m×n个子图像中的第p个位置的命令是。9.显示图像标题sincose的语句是(其中的用斜体显示)。10.求函数2xe在区间[01]上的零点,可以用一条命令求。11.MATLAB中Inf或inf表示、NaN或nan表示、nargout表示。12.MATLAB预定义变量ans表示、eps表示、nargin表示。13.MATLAB中clf用于、clc用于、clear用于。14.MATLAB命令中清除命令窗口所有内容的是。15.语句c(2,3)=5执行后,c=。16.若x=-3.1,则round(x)的值为。17.指令b\a执行的结果是。18.A=[0110],B=[1100],则X=A&B的显示结果为。19.语句a=[01+7];b=[a(2)7a];执行后b=。20.语句a(:,3)=[1234]';b=size(a)+length(a);执行后b=。21.把一个图形显示在一个图像窗口的m×n个子图像中的第p个位置的命令是。22.求函数cos(x)在区间[0pi]上的零点,可以用一条语句求解。23.title('\thetavariesfrom0\circto90\circ')语句显示的图像标题是。二、阅读程序并回答问题-2-1.请写出下面程序执行后的结果。forii=1:3forjj=3:5ifjj==4;continue;endproduct=ii*jj;fprintf('%d*%d=%d\n',ii,jj,product);endfprintf('Endofinnerloop!\n');endfprintf('Endofouterloop!\n');2.请写出下面程序执行后的结果。forii=1:3forjj=3:5ifjj==4;break;endproduct=ii*jj;fprintf('%d*%d=%d\n',ii,jj,product);endfprintf('Endofinnerloop!\n');endfprintf('Endofouterloop!\n');3.请分别写出下列语句执行后arr1中的内容。(1)arr1=[1234;5678;9101112];mask=mod(arr1,2)==0;arr1(mask)=-arr1(mask);(2)arr1=[1234;5678;9101112];arr2=arr1=5;-3-arr1(arr2)=0;arr1(~arr2)=arr1(~arr2).^2;4.写出下列指令运行结果。A=zeros(2,4);A(:)=1:8;s=[235];A(s)Sa=[102030]'A(s)=Sa5.写出下列指令运行结果。A=zeros(2,5)A(:)=-4:5;L=abs(A)3Islogical(L)X=A(L)6.写出下列指令运行结果。A=[1,2;3,4];B=[-1,-2;2;1];S=3;A.*BA*BS.*AS*B7.下面的函数主要完成什么功能?functionf=factor(n)ifn=1f=1;else-4-f=factor(n-1)*n;end8.写出下列程序的执行结果。A=[123;456];B=[789;101112];tryC=A*B;catchC=A.*B;endC9.下面的程序完成功能是什么?t=0:pi/50:4*pi;y0=exp(-t/3);y=exp(-t/3).*sin(3*t);plot(t,y,'-r',t,y0,':b',t,-y0,':b')xlabel(‘\bf\itt’);ylabel(‘\bf\ity’);gridon;10.请产生一个100*5的矩阵,矩阵的每一行都是[12345].11.写出能产生以下图形的代码:-5-12.请修改下面的程序,让他们没有for循环语句!A=[123;456;789];[rc]=size(A);fori=1:1:rforj=1:1:cif(A(i,j)8|A(i,j)2)A(i,j)=0;endendend13.请分别写出下列循环执行的次数和最后ires的值。(1)ires=1;whilemod(ires,10)~=0ires=ires+1;end(2)ires=2;whileires=200ires=ires^2;end(3)ires=2;whileires200ires=ires^2;end-6-三、改错题1.下面的语句用来判断一个人的体温是否处于危险状态(华氏温度),请找出错误并改正。temp=input('Entertemperature:')iftemp97.5disp('Temperaturebelownormal');elseiftemp97.5disp('Temperaturenormal');elseiftemp99.5disp('Temperatureslightlyhigh');elsetemp103.0disp('Temperaturedangerouslyhigh');end2.下面的语句用来计算其他当00sinsintttf在区间66,的值,请找出错误并改正。forii=-6*pi:pi/10:6*piifsin(ii)0res(ii)=sin(ii);elseres(ii)=0;end3.下面的语句用来判断电压的高低并给出提示信息,请找出错误并改正。ifvolts105disp('Linevoltageiswithintolerances.');ifvolts125disp('WARNING:Highvoltageonline.');elsedisp('WARNING:Lowvoltageonline.');end四、编程题1.编写matlab语句计算ty的值,t从-9到9每隔0.5取一次值;-7-05305322tttttf要求分别采用两种方法,即一种运用循环和选择语句;一种用向量算法,并用逻辑数组作为掩膜。2.设计函数runstats计算平均值与标准差,要求被统计数据在提示下依次输入,动态计算,并具有reset功能。3.设计函数deri完成对f(x)求导的功能,并画出f(x)及其导函数的图形。4.创建一个函数的函数quickplot,它能够画出任意的单一自变量MATLAB函数在指定范围内的图像。5.在邮局发一个包裹,不超过两英磅的收费为10美元。超过两英磅每英磅按3.75美元来计费,如果包裹的重量超过了70英磅,还要加收10美元的附加费。如果超过了100英磅则拒绝邮递。编写一个程序,输入包裹的重量,输出它的邮费,拒绝邮递的要输出提示信息。6.编写一个程序允许使用者输入一个字符串,这个字符必须是一个星期中的某一天(即Sunday,Monday,Tuesday等),应用switch结构把这些字符串转化为相应的数字,以星期天为第一天,以星期六为最后一天。如果输入不是这七个字符串中的一个,那么输出提示信息。7.设计函数random0产生均匀分布的随机数,随机数的范围在[0,1)。当函数有一个输入参数n时,生成大小为nn的随机数组;当函数有两个输入参数n,m时,生成大小为nm的随机数组;随机数利用公式1mod(812128411,134456)iinn生成,并设计函数seed产生随机数的初始值0n。8.设计函数runstats计算平均值与标准差,要求被统计数据在提示下依次输入,动态计算,并具有reset功能。9.设计函数deri完成对f(x)求导的功能,并画出f(x)及其导函数的图形。再编写一个测试程序test_deri,调用函数deri对522xxxf在区间[0,5]进行求导运算10.在同一图上分别用红色实线和绿色虚线绘制y1=sin(x)和y2=cos(x)在区间[0,4*pi]的曲线,并用星号*标出两条曲线的交点以及建立图例。11.分别在同一图形窗的不同子图绘制y=sin(t)sin(9t)和y=sin(t)sin(9t)及其包络线。12.某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price来表示):price200没有折扣200≤price5003%折扣500≤price10005%折扣-8-1000≤price25008%折扣2500≤price500010%折扣5000≤price14%折扣输入所售商品的价格,求其实际销售价格。13.编写程序实现f(n)=f(n-1)+f(n-2)(f(1)=1和f(2)=2)函数。14.编写程序实现从键盘上输入不同的直角坐标,转换为极坐标。15.编写一个函数实现以下功能:a.若没有实参输入变量,则用蓝色实线画出半径为1的圆;b.若有两个实参输入变量N,则用蓝色实线画出外接半径为1的正N多边形;c.若有两个实参输入变量N,R,则用蓝色实线画出外接半径为R的正N多边形;d.若有三个实参输入变量N,R,str,则用str指定的线形颜色画出外接半径为R的正N多边形;e.若有一个实参输出变量,则给出多边形面积S;f.若有两个实参输出变量,则分别输出正多边形的面积S和周长L。如果输入变量多于3个或输出变量多于两个则给出错误提示信息。
本文标题:MATLAB练习题
链接地址:https://www.777doc.com/doc-2882236 .html