1.已知A=[096;130];B=[143;150];写出下列各指令运行的结果。A&B的运行结果ans=;A./B的运行结果ans=。2.产生4阶全0方阵的命令为zeros(4);产生3阶全1方阵的命令为ones(3)。3.A=rand(2,5);b=size(A);c=length(A);则b和c的值分别为和[2,5],[5]。4.标点符号分号可以使命令行不显示运算结果,百分号用来表示该行为注释行。5.用if判断语句判断80≥x60,在MATLAB中if语言后的判断应写为ifx=80&x60。6.P,Q分别是个多项式的系数矢量,求P对应的多项式的积分(对应的常数项为K),使用的命令是polyint(P,K);求P/Q的解,商和余数分别保存在k和r,使用的命令是[k,r]=deconv(P,Q);7.为了使两个plot的图形在同一个坐标显示,可以使用holdon命令进行图形保持;可以使用gridon命令为图形添加网格。8.MATLAB的工作空间中有三个变量v1,v2,v3,写出把它们保存到文件my_data.mat中的指令savemy_data;写出把my_data.mat文件中的变量读取到MATLAB工作空间内的指令loadmy_data。二、选择题(每空2分,总共20分)1.下列哪个变量的定义是不合法的A(A)abcd-3(B)xyz_3(C)abcdef(D)x3yz2.下列哪条指令是求矩阵的行列式的值C(A)inv(B)diag(C)det(D)eig3.在循环结构中跳出循环,执行循环后面代码的命令为B(A)return(B)break(C)continue(D)keyboard4.清空Matlab工作空间内所有变量的指令是C(A)clc(B)cls(C)clear(D)clf5.用round函数四舍五入对数组[2.486.393.938.52]取整,结果为C(A)[2638](B)[2648](C)[2649](D)[3749]6.已知a=2:2:8,b=2:5,下面的运算表达式中,出错的为C(A)a'*b(B)a.*b(C)a*b(D)a-b7.角度604530x,计算其正弦函数的运算为D(A)SIN(deg2rad(x))(B)SIN(x)(C)sin(x)(D)sin(deg2rad(x))8.下面的程序执行后array的值为(A)fork=1:10ifk6break;elsearray(k)=k;endend(A)array=[1,2,3,4,5,6](B)array=[1,2,3,4,5,6,7,8,9,10](C)array=6(D)array=10.9.i=2;a=2i;b=2*i;c=2*sqrt(-1);程序执行后;a,b,c的值分别是多少?(A)a=4,b=4,c=2.0000i(C)(B)a=4,b=2.0000i,c=2.0000i(C)a=2.0000i,b=4,c=2.0000i(D)a=2.0000i,b=2.0000i,c=2.0000i10.求解方程x4-4x3+12x-9=0的所有解(A)1.0000,3.0000,1.7321,-1.7321(B)1.0000,3.0000,1.7321i,-1.7321i(C)1.0000i,3.0000i,1.7321,-1.7321(D)-3.0000i,3.0000i,1.7321,-1.7321三、写出程序的执行结果或写出给定要求的指令(总共35分)1.写出执行以下代码后C,D,E的值(6分)A=[1,2,3;4:6;7:9];C=[A;[10,11,12]],D=C(1:3,[23])E=C(2,[12])2.写出执行以下代码后,MATLAB命令窗口上显示的x矩阵的值(5分)x=[0,1,0,2,0,3,0,4];fork=1:8ifx(k)==0x(k)=k;elsex(k)=2*k+1;endenddisp(x);3.创建符号函数并求解,要求写出步骤和运行结果(7分)(1)创建符号函数f=ax2+bx+c(2)求f=0的解4.求解以下线性方程组,要求写出程序代码和运行结果(5分)2x1-3x2+x3+2x4=8x1+3x2+x4=6x1-x2+x3+8x4=17x1+x2-2x3+2x4=55.绘制函数曲线,要求写出程序代码(12分)(1)在区间[0:2π]均匀的取50个点,构成向量π(2)在同一窗口绘制曲线y1=sin(2*t-0.3);y2=3cos(t+0.5);要求y1曲线为红色点划线,标记点为圆圈;y2为蓝色虚线,标记点为星号四、使用MATLAB语言进行编程(15分)打印出所有的水仙花数。所谓“水仙花数”,是指一个三位数,其各位数字立方之和等于该数本身。一、填空题1、ans=011110ans=02.25002.00001.00000.6000NaN2、zeros(4)ones(3)3、[25][5]4、;%5、ifx=80&x606、polyint(P,K)[k,r]=deconv(P,Q)7、holdongridon8、savemy_dataLoadmy_data二、选择题1、A2、C3、B4、C5、C6、C7、D8、A9、C10、A三、写出程序的执行结果或写出给定要求的指令1、c=0+2.0000iD=235689E=452、15395137173、symsabcxs=a*x^2+b*x+c;solve(s)ans=[1/2/a*(-b+(b^2-4*a*c)^(1/2))][1/2/a*(-b-(b^2-4*a*c)^(1/2))]4、symsabcxsymsx1x2x3x4clearsymsx1x2x3x4f=2*x1+3*x2+x3+2*x4-8;g=x1+3*x2+x4-6;h=x1-x2+x3+8*x4-1;i=7*x1+x2-2*x3+2*x4-5;[x1,x2,x3,x4]=solve(f,g,h,i)x1=13/17x2=320/187x3=212/187x4=19/1875、t=linspace(0,2*pi,50);plot(t,y1,'r-o',t,y2,'b--*');四、使用MATLAB语言进行编程fork=100:999a=fix(k/100);b=rem(fix(k/10),10);c=rem(k,10);ifa.^3+b.^3+c.^3==kfprintf(“%u,\t\t”,k);endendMatlab测试二一、填空题1、MATLAB常用操作界面包括命令窗口、工作空间窗口、命令历史窗口、当前目录窗口、内存数组编辑器、M文件编辑/调试器、帮助导航/浏览器、图形窗口等。2、MATLAB中Inf或inf表示无穷大、NaN或nan表示不是一个数、nargout表示函数输出变量数目。3、工作空间浏览器主要用于内存变量的查阅、保持和编辑。4、MATLAB实现将全下标转换为单下标的指令为sub2ind、据单下标换算出全下标的指令为ind2sub。5、MATLAB中clf用于清除图形窗口、clc用于清除指令窗口中显示内容、clear用于清除MATLAB工作空间中保存的变量。二、简答题(每题5分,共20分)1、简述MATLAB历史指令窗的主要作用。答:历史指令窗记录着用户在MATLAB指令窗中所输入过的所有指令。历史记录包括:每次开启MATLAB的时间,每次开启MATLAB后在指令窗中运行过的所有指令。应用功能有单行或多行指令的复制和运行、生成M文件等。2、简述MATLAB函数的基本结构。答:典型M函数文件的结构:函数申明行、H1行、在线帮助文本区、编写和修改记录、函数体。3、简述绘制二维图形的一般步骤。绘制二维图形的一般步骤为:曲线数据准备、选定图形窗及子图位置、调用二维曲线绘图指令、设置轴的范围、坐标分格线、图形注释、图形的精细操作。三、阅读程序并回答问题(每题4分,共28分)1、写出下列指令运行结果。A=zeros(2,4);A(:)=1:8;s=[235];A(s)Sa=[102030]'A(s)=Saans=235Sa=102030A=120307104682、写出下列指令运行结果。A=reshape(1:16,2,8)reshape(A,4,4)s=[13689111416];A(s)=0A=13579111315246810121416ans=15913261014371115481216A=005700131524001012003、写出下列指令运行结果。A=[1,2;3,4];B=[-1,-2;2,1];S=3;A.*Bans=-1-464A*Bans=305-2S.*Aans=36912S*Bans=-3-6634、下面的函数主要完成什么功能?functionf=factor(n)ifn=1f=1;elsef=factor(n-1)*n;end利用函数的递归调用求n!5、写出下列指令运行结果。ch=‘ABc123d4e56Fg9’;subch=ch(1:5)revch=ch(end:-1:1)k=find(ch=‘a’&ch=‘z’);ch(k)=ch(k)-(‘a’-‘A’);char(ch)subch=ABc12revch=9gF65e4d321cBAans=ABC123D4E56FG9ans=46、写出下列指令运行结果。A(1,1)={'thisiscell'};A{1,2}={[123;456]};A{2,1}=[1+2*i];A{2,2}=A{1,2}{1}+(A{1,2}{1}(1,1)+A{1,2}{1}(2,2));celldisp(A)A{1,1}=thisiscellA{2,1}=1.0000+2.0000iA{1,2}{1}=123456A{2,2}=7891011127、下面的程序完成功能是什么?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;绘制图形如下:四、编程题(32分)1、用命令来创建GUI并绘制方程y=ax2+bx+c图形,需要显示绘图结果的坐标系窗口,还能输入a、b、c的值和x的取值范围,同时用命令设置所以对象的属性。2、在同一图上分别用红色实线和绿色虚线绘制y1=sin(x)和y2=cos(x)在区间[0,4*pi]的曲线,并用星号*标出两条曲线的交点以及建立图例。(5分)x=0:0.01:4*pi;y1=sin(x);y2=cos(x);z=find(abs(y1-y2)0.007);plot(x,y1,'r.-','Linewidth',2,'Markersize',1);axis([-1.5,15,-1.5,1.5]);holdonplot(x,y2,'g.:','Linewidth',2,'Markersize',1);n=size(z);plot(x(z),y1(z),'k*','Markersize',15);3、某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price来表示):price200没有折扣200≤price5003%折扣500≤price10005%折扣1000≤price25008%折扣2500≤price500010%折扣5000≤price14%折扣输入所售商品的价格,求其实际销售价格。(5分)price=input('pleaseinputyourprice:');a=0;ifprice200a=1;elseifprice500a=2;elseifprice1000a=3;elseifprice2500a=4;elseifprice5000a=5;elsea=6;endswitchacase0disp('0inputsgiven');case1b=price;case2b=0.9