2015 - Matlab - 复习资料 16页

  • 354.51 KB
  • 2022-07-29 发布

2015 - Matlab - 复习资料

  • 16页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
  4. 网站客服QQ:403074932
一、简述下列命令在MATLAB中的作用1.clf清除图对象2.clear清除工作空间内的所有变量3.clc清除当前屏幕上显示的所有内容,但不清除工作空间中的数据4.ceil沿+∞方向取整。5.factor符号计算的因式分解。6.pow22的幂。7.digits(d)设置当前的可变算术精度的位数为整数d位。8.vpa(pi,100)设置当前pi的小数位数为1009.boxon打开框状坐标轴开10.gridoff网格关11.logspace创建对数刻度分度等间隔行向量12.linspace创建等间隔行向量13.cat串接成高维数组14.sym2poly符号多项式转变为双精度多项式系数向量15.poly2sym双精度多项式系数转变为向量符号多项式16.plot3三维线图17.poly2str以习惯方式显示多项式18.bar二维直方图19.pie二维饼图20.zoomon打开图形缩放模式21.editM文件编辑22.whos对当前工作空间变量的信息进行列表23.figure生成图形窗口24.cart2sph直角坐标变为球坐标25.pol2cart极或柱坐标变为直角坐标26.diff数值差分、符号微分27.dsolve符号计算解微分方程28.ezplot3画三维曲线的简捷指令29.fix向零取整30.factor符号计算的因式分解二、填空题1、标点符号;可以使命令行不显示运算结果,%用来表示该行为注释行。2、x为0~4pi,步长为0.1pi的向量,使用命令x=0:0.1*pi:4*pi创建。3、输入矩阵A=,使用全下标方式用A(2,2)取出元素“-5”,使用单下标方式用A(5)取出元素“-5”。4、符号表达式sin(2*a+t)+m中主变量为t。5、M脚本文件和M函数文件的主要区别是M脚本文件没有函数定义和M函数文件有函数定义。6、设x是一维数组,x的倒数第3个元素表示为x(end-2);设y为二维数组,要删除y的第34行和48列,可使用命令y(34,:)=[],y(:,48)=[]\n7、将变量x以Ascii文本格式存储到文件fname.txt,应使用命令savex。8、在while表达式语句体End循环语句中,表达式的值非零时表示循环条件为真,语句体将被执行,否则跳出该循环语句。9、要从键盘读入一个字符串并赋值给变量x,且给出提示“Whoisshe?”,应使用命令x=input(‘Whoisshe?’,’s’)。10、设A=和B=和C=均为m*n矩阵,且存在于WorkSpace中,要产生矩阵D=,可用命令D=(A-C)/B.^C,计算可用命令det(inv(A’*B)。11、在MATLAB命令窗口中的“>>”标志为MATLAB的命令行提示符,“│”标志为输入提示符。12、已知A=[123;450;789];B=[103;150;012];写出下列各指令运行的结果。A+Bans=[2,2,6;5,10,0;7,9,11];A.*Bans=[1,0,9;4,25,0;0,8,18];A==Bans=[1,0,1;0,1,1;0,0,0];13、已知A是矩阵,求A的对角矩阵函数是diag,求A的下三角矩阵函数是tril。14、MATLAB的程序文件的扩展名是.m。15、MATLAB最基本的绘图函数为plot()。16、执行A=[1,2,3;4,5,6];A(:,[1,3])=[];语句后,A=[2;5]。17、fix(-1.5)=-1,round(-1.5)=-2。18、已知A=[13;46];C=[A,eye(size(A));A,ones(size(A))]则C=[1310;4601;1311;4611]。19、若A=[1,2,3;4,5,6];则A(4)=5,A(2,3)=6。20、若A=[1,2;3,4];B=[1,0;0,1];则A*B=[12;34],A.*B=[10;04]。21、若A=[123;654];则reshape(A,3,2)=[15;63;24]。22、若A=[1,2;3,1];B=[1,0;0,1];则A~=B=[01;10]。23、若A=[1,2,3;1,4,9;1,7,27];triu(A,-1)=[123;149;0727]。(triu为提取矩阵上三角矩阵的函数,-1表示为主对角线下一条对角线以下的数全变为0)。24、若A=[4,15,-45,10,6;56,0,17,-45,0];则find(A>=10&A<=20)=367。25、已知A=[096;130];B=[143;150];写出下列各指令运行的结果:A&Bans=[011;110]。A./Bans=[02.252;10.6NaN]。26、产生4阶全0方阵的命令为zeros(4);产生3阶全1方阵的命令为ones(3)。27、A=rand(2,5);b=size(A);c=length(A);则b和c的值分别为[25]和5。28、用if判断语句判断80≥x>60,在MATLAB中if语言后的判断应写为:ifx<=80&x>60。29、为了使两个plot的图形在同一个坐标显示,可以使用holdon命令进行图形保持;可以使用gridon命令为图形添加网格。30、MATLAB的工作空间中有三个变量v1,v2,v3,写出把它们保存到文件my_data.mat中的指令savemy_date。\n31、MATLAB提供了两种运行方式,是按F5和把*.m文件copy到matlab里成批执行。32、MATLAB的含义为矩阵实验室(MatrixLaboratory)。33、MATLAB中,都包括哪些工具箱,举例不少于6个:偏微分方程工具箱、最优化工具箱、插值运算工具箱、数理统计工具箱、信号处理工具箱、通信工具箱、滤波设计工具箱。34、在MATLAB中,plot命令用于画曲线。35、size命令的功能,用于确定阵列的长度。36、a=[122],求a的转置:a=[1;2;2]。37、在线形图型格式的设置中,字符r表示什么颜色。(红色)38、在MATLAB中,矩阵的秩由函数_______来实现。(rank)39、在MATLAB中,单位矩阵由函数_______来实现。(eye)40、在MATLAB中,二维饼图由函数_______来实现。(pie)41、在线形图型格式的设置中,字符b表示什么颜色。(蓝色)42、MATLAB表达式3*2^3^2的结果是____。(192)43、条形图由函数_______来实现。(bar)44、对x进行赋值,从5到25,间隔是0.1,命令为:x=5:0.1:25。45、对x进行赋值,从2到20,中间间隔100个点,命令为:x=linspace(2,20,100)。46、MATLAB命令窗口中可用clear命令清除工作区中的变量;用clc命令可以清除命令窗口中的内容。47、MATLAB中运算符包括数学运算符、字符串运算符、矩阵(数组)运算符。48、MATLAB中的M文件有命令文件和函数文件。49、MATLAB中的函数类型有嵌套函数、子函数、内联函数、私有函数和匿名函数。50、MATLAB中的系统预定义的特殊变量argin表示函数输入参数个数。51、MATLAB中的系统预定义的特殊变量inf表示无穷大。52、MATLAB中holdon命令打开图形保持功能。53、MATLAB中inv函数完成矩阵的求逆运算,用det求矩阵的行列式。一、选择题1.下列变量中的最大数是(C)。A.epsB.realminC.realmaxD.-pi2.下列表示可以作为MATLAB的变量的是(D)。A.abcd-2B.xyz_2#C.@hD.X_1_a如果x=1:2:8,则x(1)和x(4)分别是(B)。A.1,8B.1,7C.2,8D.2,73.下列变量中比0大的最小数是(B)A.iB.realminC.realmaxD.pi4.在MATLAB中下列数值的表示不正确的是(B)A.+99B.1.3e-5C.2-3*e^2D.3-2*pi5.下列表示可以作为MATLAB的变量的是(B)A.abcd-2B.xyz_2aC.@hD.3hour6.如果x=1:-2:-8,则x(1)和x(5)分别是(D)A.1,-8B.-1,-7C.-1,-8D.1,-77.MATLAB表达式2*2^3^2的结果是(A)\nA.128B.4096C.262144D.2561.下列哪个变量的定义是不合法的(A)。A.abcd-3B.xyz_3C.abcdefD.x3yz2.指出下列错误的指令(B)。A.symsab;B.symsa,b;C.syms(‘a',‘b');D.syms(‘a','b','positive');3.下列哪条指令是求矩阵的行列式的值(C)。A.invB.diagC.detD.eig4.清空Matlab工作空间内所有变量的指令是(C)。A.clcB.clsC.clearD.clf5.下列变量名中(A)是合法的。A.char_1B.x*yC.x\yD.end6.以下哪个说法是正确的(D)。A.Matlab进行数值计算的表达精度与其指令窗口中的数值显示精度相同。B.Matlab指令窗口中显示的数值有效位数不能超过7位。C.输入二维数值数组时,需要用到逗号和分号,它们可以在中文状态下输入。D.历史指令窗口所记录的内容与diary指令所产生“日志”内容是不同的。7.产生四维单位矩阵的语句为(B)。A.ones(4)B.eye(4)C.zeros(4)D.rand(4)8.求解线性方程组Ax=b,当det(A)≠0时,方程的解是(a)。A.A\bB.b/AC.b\AD.A/b9.运行如下程序后,输入9回车,命令窗口显示的结果为(a)。c=input('请输入一个字符','s');ifc>='A'&c<='Z'disp(setstr(abs(c)+abs('a')-abs('A')));elseifc>='a'&c<='z'disp(setstr(abs(c)-abs('a')+abs('A')));elseifc>='0'&c<='9'disp(abs(c)-abs('0'));elsedisp(c);endA.9B.8C.7D.610.运行下面的代码后,输入:1回车,2回车,1回车,则输出结果为(c)。a=input('a=?');b=input('b=?');c=input('c=?');d=b*b-4*a*c;x=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)];disp(['x1=',num2str(x(1)),',x2=',num2str(x(2))]);A.x1=num2str(1),x2=num2str(1)B.x1=num2str(-1),x2=num2str(1)C.x1=-1,x2=-1D.x1=1,x2=-111.清除工作空间中变量的命令是(b)A.clc;B.clear;C.clf;D.delete;12.运行如下程序后,输入9回车,命令窗口显示的结果为(d)\nx=input('请输入x的值:');ifx==10y=cos(x+1)+sqrt(x*x+1);elsey=(3^(1/2))*sqrt(x+sqrt(x));endyA.9B.8C.7D.61.运行如下程序后,命令窗口显示的结果为(b)s=0;a=[12,13,14;15,16,17;18,19,20];fork=as=s+k;enddisp(s');A.144B.394857C.145D.4548512.运行如下程序后,命令窗口显示的结果为(b)。k=0;forn=100:200ifrem(n,21)~=0k=k+1;continueendbreak;endkA.105B.5C.4D.1013.图形窗口显示网格的命令是(b)A.axisonB.gridonC.boxonD.holdon4.已知函数文件如下,则factor(4)=(c)。functionf=factor(n)ifn<=1f=1;elsef=factor(n-1)*n;endendA.4B.12C.24D.485.运行如下程序后,命令窗口显示的结果为(d)A=[13,-56,78;25,63,-735;78,25,563;1,0,-1];y=max(max(A))A.y=564B.y=9C.y=-735D.y=5636.在图形指定位置加标注命令是(c)A.title(x,y,’y=sin(x)’);B.xlabel(x,y,’y=sin(x)’);\nC.text(x,y,’y=sin(x)’);D.legend(x,y,’y=sin(x)’);1.i=2;a=2i;b=2*i;c=2*sqrt(-1);程序执行后;a,b,c的值分别是多少?(c)A.a=4,b=4,c=2.0000iB.a=4,b=2.0000i,c=2.0000iC.a=2.0000i,b=4,c=2.0000iD.a=2.0000i,b=2.0000i,c=2.0000i2.在循环结构中跳出循环,但继续下次循环的命令为(C).A.return;B.break;C.continue;D.keyboard3.已知a=2:2:8,b=2:5,下面的运算表达式中,出错的为(C)A.a'*bB.a.*bC.a*bD.a-b4.下列哪个变量的定义是不合法(A)A.abcd-3B.xyz_3C.abcdefD.x3yz5.下列哪条指令是求矩阵的行列式的值(C)A.invB.diagC.detD.eig6.在循环结构中跳出循环,执行循环后面的代码的命令为(B)A.returnB.breakC.continueD.keyboard7.清空MATLAB工作空间内所有变量的指令是(C)A.clcB.clsC.clearD.clf8.用round函数四舍五入对数组[2.486.393.938.52]取整,结果为(C)A.[2638]B.[2648]C.[2649]D.[3749]9.角度x=[304560],计算其正弦函数的运算为(D)A.SIN(deg2rad(x))B.SIN(x)C.sin(x)D.sin(deg2rad(x))10.下面程序执行后array的值为(A)fork=1:10ifk>6break;elsearray(k)=k;endendA.array=[1,2,3,4,5,6]B.array=[1,2,3,4,5,6,7,8,9,10]C.array=6D.array=10一、综合题:1.MATLAB有几种建立矩阵的方法?各有什么优点?。2.MATLAB提供编程语言,请辨析M文件编程中的命令文件与函数文件两种形式。3.判断下列一段程序的错误,并进行改正。x=-2:0.2:2;y=x.^2;plot(x,y)str1=num2str(min(x));%数字转化为字符串str2=num2str(max(x));%数字转化为字符串out=[Valueofffrom'str1'to'str2'];xlabel(out)改正:out=['Valueofffrom'str1'to'str2];\n或out=['Valueofffromstr1tostr2'];1.MATLAB系统包括哪些窗口,各个窗口功能是什么?2.分析下面程序运行后s1,n1,s2,n2,m的值。s1=0;s2=0;n1=0;n2=0;x=[1,-4,-8,3,10,-9,7,-3,10,8,-5,-2,2,0];m=length(x);fori=1:mifx(i)<0s1=s1+x(i);n1=n1+1;elses2=s2+x(i);n2=n2+1;endends1,n1,s2,n2,m答:-31.00,6.00,41.00,8.00,14.003.A=[12;34];B=[12;14];写出下面几条指令的运行结果:C=A*BD=A+BE=A.*B答:C=310722D=2448E=143164.写出下列程序运行结果mysum=0;i=1;while(i<=100)mysum=mysum+i;i=i+1;endmysum答:mysum=5050\n1.请修改下面的程序,让他们没有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;endend解,程序如下:a=[123;456;789];b=(a<=8&a>=2);a=a.*b2.编写一个函数,使其能够产生如下的分段函数:,并调用此函数,绘制x=[0,+2]范围内的f(x)*f(x+2)的图形。答:functiony=f(x)ifx<=2y=0.5*x;elseifx>6y=0.5;elsey=1.5-0.25*x;endendx=0:0.05:2;y=diag(f(x).*f(x+2));plot(x,y);xlabel('\bfx');ylabel('\bfy');3.A是一个維度m×n的矩阵,写一段程序,计算出A中有多少个零元素。答:A=input('请输入一个矩阵')[m,n]=size(A);sig=0;fori=1:mforj=1:nifA(i,j)==0sig=sig+1;\nendendend1.向量A=[].写一段程序,找出A中的最小元素。答:A=input('请输入一个向量')[m,n]=size(A)min=A(1,n);fori=1:nifA(1,i)<=>=(2)&|~(3)ifa==b&c==0d=1elseifa>b&c==1d=0elsed=3end4.设A=和B=是两个10行10列的矩阵,试说明命令A*B,A/B,A\B,A.*(B.^A),A./B,A.\B和sin(A).*exp(B)的涵义。解:A*B:A,B的矩阵乘法,A/B:矩阵A乘以B的逆A\B:矩阵B乘以A的逆,\nA.*(B.^A):B的每个元素的对应A次幂乘以A对应的每个元素A./B:A的每个元素除以B对应的每个元素,A.\B:B的每个元素除以A对应的每个元素,sin(A).*exp(B):A的每个元素的正弦与B对应的每个元素的指数求积,1.设A为14*17数组,B为一个行数大于3的数组,请给出:(1)删除A的第4、8、12三列的命令;(2)删除B的倒数第3行的命令;解:(1)A(:,[4812])=[](2)B(end-2)=[]2.编写MATALAB程序,完成下列任务:n在区间[0,4*pi]上均匀地取20个点构成向量;n分别计算函数y1=sin(t)与y2=2cos(2t)在向量t处的函数值;n在同一图形窗口绘制曲线y1=sin(t)与y2=2cos(2t),要求y1曲线为黑色点画线,y2曲线为红色虚线圆圈;并在图中恰当位置标注两条曲线的图例;给图形加上标题“y1andy2”。解,程序如下:t=linspace(0,4*pi,20);y1=sin(t);y2=2*cos(2*t);plot(t,y1,'k-.');text(1.2,sin(1.2),'y1\leftarrow','FontSize',12);holdon;plot(t,y2,'r--o');text(6,1.5,'y2\leftarrow','FontSize',12);title('y1andy2')3.编写M函数文件,利用for循环或while循环完成计算函数y=sum(n)=的任务,其中n为输入参数。functiony=sum(n);y=0;m=1;whilem<=n;y=y+m^mm=m+1;end4.请用MATLAB命令产生一个100*5的矩阵,矩阵的每一行都是[12345]。解:repmat(1:5,100,1)5.已知变量:A=’ilovematlab’;B=’matlab’,请用MATLAB命令完成下列任务:\nn找出B在A中的位置。解:strfind(A,B):(strfind(A,B)+length(B)-1)n把B放在A后面,形成C=‘ilovematlabmatlab’。解:C=[A,B]1.叙述MATLAB的主要窗口包括哪些?其作用是什么?(4分)n命令窗口:供输入命令,实现计算或绘图功能。n工作空间窗口:用于列出数据的变量信息,包括变量名、变量字节大小n变量数组大小、变量类型等内容。n当前目录浏览器:显示当前目录下所有文件的文件名、文件夹类型和最后修改时间等内容。n命令历史窗口:显示窗口所有执行过的命令,利用该窗口,可以查看曾经执行过的命令,也可以重复利用这些命令。2.MATLAB的变量命名有什么规则?(4分)n变量名区分大小写;n变量名最多包含63个字符,其后的字符将被忽略;n变量名必须以一个字母开始,其后可以是如意数量的字母、数字或下划线;n变量名中不允许出现标点符号,因为许多标点符号在MATLAB中有特殊意义。3.你知道几种数据矩阵的建立方式?请简述并举例。(6分)n不规则矩阵可直接在命令窗口输入:>>X=[135;7911;368]n规则矩阵的创建,增量矩阵创建方式,一般格式为X=(First:Increment:Last)>>=(0:2:10)4.在命令窗口中输入“a=[2222]”,请问:(4分)n可以用“a”直接表示多项式吗?若能,请写出该多项式的数学表达式.能,n如果输入命令poly(a),则表示什么意思?是求取矩阵特征多项式系数的函数n写出将第2)问的多项式转换成自变量为“x”的符号形式的完整命令。>>poly2sym(a,'x')5.函数M文件的基本结构是什么?各结构部分起什么作用?(4分)1、函数声明行2、H1行%帮助文字的第一行,给出M文件帮助最关键的信息3、帮助文字%对M文件更为详尽的说明4、M文件正文%所实现的功能部分5、注释部分%6.subplot(3,3,[26])表示什么意思?画出该分块图在整个句柄图像中的位置示意图。(4)形式:subplot(m,n,p)或者subplot(mnp)。说明:P也可以是向量表示将P 中指定的小块合并成一个大块创建坐标系,P中指定的小块可以不连续,甚至不相连。比如subplot(2,3,[25])表示将第2和5小块连成一个大块;subplot(2,3,[26])由于2和6不连续也不相连,此时表示将第2、3、5和6四块连成一个大块,相当于subplot(2,3,[2356])\n一、阅读程序指令1.写出下列指令的运行结果。>>a=zeros(3,3)a=000000000>>a(3,4)=5^2a=0000000000025>>a(6)=100a=000000000100025>>a(:,3)ans=000>>a(:,:)ans=000000000100025>>size(a)ans=342.写出下列指令的运行结果。(5分)>>A=1:2:7.5A=1357>>B=1:4B=1234>>C=[B;A]C=12341357>>D=fliplr(C)D=4321\n7531>>E=sort(D)E=432175311.写出下列指令的运行结果。(3分)>>X=[2,0;2,4];Y=[-1-4;10];A=2;>>X.*Yans=-2020>>X*Yans=-2-82-8>>X.*Aans=40482.写出下列指令的运行结果。(4分)>>a=eye(4);>>b=pascal(4)(由杨辉三角形组成的帕斯卡矩阵)b=1111123413610141020>>tril(b,0)ans=100012001360141020>>a>a=ba=1111123413610\n1410201.写出下列指令的运行结果。(3分)>>a=[52-6;678;12108;204030];>>median(a)ans=9.00008.50008.0000>>cumsum(a)ans=52-61192231910435940>>diff(a,2)ans=5-2-14227222.现有下列脚本程序,请分析该“for”循环执行情况并写出该程序运行结果。(4分)form=1:3forn=1:3H(m,n)=m^2+nendend生成三行三列的数组,m=1,n=1,2,3时,依次生成H=[234]m=2,n=1,2,3时,依次生成H=[234;567]最后结果H=2345671011123.写出下列指令的运行结果(3分)>>f=sym('2*x^3+x+20')f=2*x^3+x+20>>p=sym2poly(f)p=20120>>f1=poly2sym(p,’y’)f1=2*y^3+y+204.编写一个脚本程序实现:在同一图上分别用红色虚线和绿色点划线绘制函数y1=sinx和y2=x2+2x-1在区间[-10,10]的曲线,标题为“用作图法求两条函数曲线的交点”,x轴为“自变量x”,y轴为“函数y1、y2的曲线”,并给出图例“‘y1=sinx’,‘y2=x2+2x-1’”。(7分)\n解:x=-10:1:10;y1=sin(x);y2=x.^2+2*x-1;plot(x,y1,'r--');holdonplot(x,y2,'c-.');xlabel('自变量x');ylabel('函数y1、y2的曲线');title('用作图法求两条函数曲线的交点');legend('y1=sin(x)','x^2+2x-1');1.与其他计算机语言相比较,MATLAB语言突出的特点是什么?MATLAB具有功能强大、使用方便、输入简捷、库函数丰富、开放性强等特点。2.MATLAB系统由那些部分组成?lMATLAB系统主要由开发环境、lMATLAB数学函数库、lMATLAB语言、l图形功能l应用程序接口五个部分组成。3.有几种建立矩阵的方法?各有什么优点?可以用四种方法建立矩阵:l直接输入法,如a=[2573],优点是输入方法方便简捷;l通过M文件建立矩阵,该方法适用于建立尺寸较大的矩阵,并且易于修改;l由函数建立,如y=sin(x),可以由MATLAB的内部函数建立一些特殊矩阵;l通过数据文件建立,该方法可以调用由其他软件产生数据。4.创建符号变量有几种方法?MATLAB提供了两种创建符号变量和表达式的函数:sym和syms。sym用于创建一个符号变量或表达式,用法如x=sym(‘x’)及f=sym(‘x+y+z’);syms用于创建多个符号变量,用法如symsxyz。f=sym(‘x+y+z’)相当于symsxyzf=x+y+z5.解方程组。解,命令如下:a=[290;3411;226];b=[1366]';x=a\b6.简述MATALB的应用。

相关文档