您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 汽车理论 > matlab基础练习题(带答案)
Matlab基础练习题常量、变量、表达式1、MATLAB中,下面哪些变量名是合法的?()(A)_num(B)num_(C)num-(D)-num2、在MATLAB中,要给出一个复数z的模,应该使用()函数。(A)mod(z)(B)abs(z)(C)double(z)(D)angle(z)3、下面属于MATLAB的预定义特殊变量的是?()(A)eps(B)none(C)zero(D)exp4、判断:在MATLAB的内存工作区中,存放一个英文字符'a'需要占用1个字节,存放一个中文字符‘啊’需要占用2个字节。(错,都是2个字节)5、判断:MATLAB中,i和j都是虚数单位1,它们之间没有什么区别。(对)6、判断:MATLAB中,pi代表圆周率,它等于3.14。(错,后面还有很多位小数)7、在MATLAB中,若想计算的51)3.0sin(21y值,那么应该在MATLAB的指令窗中输入的MATLAB指令是__y1=2*sin(0.3*pi)/(1+sqrt(5))_。8、在MATLAB中,a=1,b=i,则a占_8__个字节,b占_16_个字节,c占________字节。9、在MATLAB中,inf的含义是__无穷大__,nan的含义是__非数(结果不定)___。数组1、在MATLAB中,X是一个一维数值数组,现在要把数组X中的所有元素按原来次序的逆序排列输出,应该使用下面的()指令。(A)X[end:1](B)X[end:-1:1](C)X(end:-1:1)(D)X(end:1)2、在MATLAB中,A是一个字二维数组,要获取A的行数和列数,应该使用的MATLAB的命令是()。(A)class(A)(B)sizeof(A)(C)size(A)(D)isa(A)3、在MATLAB中,用指令x=1:9生成数组x。现在要把x数组的第二和第七个元素都赋值为0,应该在指令窗中输入()(A)x([27])=(00)(B)x([2,7])=[0,0](C)x[(2,7)]=[00](D)x[(27)]=(00)4、在MATLAB中,依次执行以下指令:clear;A=ones(3,4);A(:)=[-6:5];这时,若在指令窗中输入指令b=A(:,2)',那么,MATLAB输出的结果应该是()(A)b=-3-2-1(B)b=-2-101(C)b=-5-13(D)b=-5-2145、在MATLAB中,A=1:9,现在执行如下指令L1=~(A5),则MATLAB的执行结果应该是L1=___111110000___。6、在MATLAB中,要求在闭区间[0,5]上产生50个等距采样的一维数组b,请写出具体的MATLAB指令___linspace(0,5,50)___。7、在MATLAB中,A=[0:1/2:2]*pi,那么sin(A)=___[010-10]_____。8、在MATLAB中,A=[1,2,3;4,5,6;7,8,0],B=[2,1,6;8,5,2;14,2,1]。写出下面MATLAB语句执行的结果:(为节省篇幅,把矩阵写成mat2str的形式)(1)A==B[000;010;000](2)A.*B[2218;322512;98160](3)A(:)'[147258360](4)A(1,:)*B(:,3)139、在MATLAB中,写出下面MATLAB语句执行的结果:(1)clear,A=ones(2,6)A=111111111111(2)A(:)=1:2:24A=1591317213711151923(3)A([1:3:7])ans=1713(4)diag(diag(A))ans=1007(5)B=A(:,end:-1:1)B=211713951231915117310、请编写一段matlab程序,完成以下功能:(1)生成一个100行,200列的二维随机数组;A=rand(100,200);(2)找出数组A中所有大于0.49且小于0.51的元素的单下标;Idx=find(A(:)0.49&A(:)0.51)(3)数组A中满足(2)中的条件的元素有多少个?length(Idx)(4)求出数组A中满足(2)中的条件的元素的和,并求出这些元素的平均值;sum(A(Idx)),m=mean(A(Idx))(5)将(4)求出的平均值赋值给数组A中满足(1)中的条件的每个元素。A(Idx)=m;11、请编写一段matlab程序,完成以下功能:(1)找出100到200之间的所有质数,将这些质数存放在一个行数组里;X=100:200;p=X(isprime(X))(2)求出这些质数之和;sum(p)(3)求出100到200之间的所有非质数之和(包括100和200)。sum(X(~isprime(X)))12、22cos0.7sin(1)xyxx,编写一段matlab程序,要求如下(1)在[0,2]区间,每隔0.01取一x数值,计算出相应的y的函数值;x=0:0.01:2*pi;y=(0.7+2*cos(x)./(1+x.^2)).*sin(x)(2)根据MATLAB计算出的数据,找出在[0,2]内该函数的极小值的坐标。[my,idx]=min(y)x(idx)数值计算1、在MATLAB中,A是一个10×10数组,我们把该数组看成矩阵的话,则此矩阵的行列式值=___det(A)__,此矩阵的逆矩阵(如果存在的话)=_inv(A)___。(用MATLAB的函数表示)2、求解下列方程组:1234234123412343212240xxxxxxxxxxxxxxx34712457423859652108xyzwxyzwxzwxyzwA=[113-1;01-11;1122;1-11-1];b=[2;1;4;0];x=A\bA=[34-7-12;5-742;108-5;-65-210];b=[4;-3;9;-8];xyzw=A\b3、求有理分式3323230.522521xxxRxxxx的商多项式和余多项式n=conv([3010],[3000.5]);d=conv([12-2],[5201]);[q,r]=deconv(n,d)4、一元多项式42234pxxx,写出表示p的MATLAB语句__p=[20-340]__,求0p的根的MATLAB语句是____roots(p)__,求4.3x时p的数值的MATLAB语句是__polyval(p,4.3)___。程序设计1、M脚本文件和函数文件的有什么区别?最主要的差别是,函数有自己的独立工作区,和外界的信息交换通过输入输出参数实现;而脚本没有独立工作区,其直接使用宿主程序的工作区,并把结果留在宿主程序中。2、掌握下面程序设计中常用的函数及关键字:inputpausewarningnarginnargoutforwhileifelseifelseswitchcaseotherwiseendtrycatchbreakcontinueend3、分别用for和while循环语句计算6302iiK的程序。还请写出一种避免循环的计算程序。(不要用symsum函数)K=0;fori=0:63K=K+i;endK=0;i=0;whilei=63K=K+i;i=i+1;endK=sum(2.^(0:63))4、MATLAB提供了两种循环结构,一种是for循环结构,另一种是__while_循环结构。5、编写M函数求和123snfunctions=mysum(n)s=sum(1:n);6、编写M函数求积123pnfunctionp=mysum(n)p=prod(1:n);7、编写M函数列出从整数a到整数b之间能被3整除的奇数。functionr=odds3(a,b)r=a:b;r=r(mod(r,2)==1&mod(r,3)==0)8、编写M脚本列出从100到200不能被3整除同时也不能被7整除的数。X=100:200;X(mod(X,3)~=0&mod(X,7)~=0)9、一张纸厚0.06mm且足够大,试问将纸对折多少次,其厚度将超过10000m?按题意,就是要求2^n*0.06E-3=10000,所以n=ceil(log(10000/0.06e-3)/log(2))10、编写MATLAB脚本输出“水仙花数”及水仙花数的个数。所谓“水仙花数”是一个3位数,其各位数字的立方和等于该数本身。例如333153153。c=0;forn=100:999m=[fix(n/100)fix(mod(n,100)/10)mod(n,10)];ifn==sum(m.^3),fprintf('%i=%i^3+%i^3+%i^3\n',n,m);c=c+1;endendfprintf('\n共%i个水仙花数\n',c)输出结果:153=1^3+5^3+3^3370=3^3+7^3+0^3371=3^3+7^3+1^3407=4^3+0^3+7^3共4个水仙花数绘图1、MATLAB中,绘制三维曲面图的函数是()(A)surf(B)plot(C)subplot(D)plot32、MATLAB中,要绘制三维空间曲线,应该使用()函数。(A)polar(B)plot(C)subplot(D)plot33、在MATLAB中,A是一个1000行2列的二维数值数组,现在要把A的第一列数据作为横坐标,把A的第二列数据作为纵坐标,画出一条曲线,试写出相应的MATLAB语句_____plot(A(:,1),A(:,2))______。4、MATLAB绘图指令中的__subplot_指令允许用户在同一个图形窗里布置几个独立的子图。5、编写一段matlab程序,绘制出二元函数2sinsinxyzxy三维网线图,要求如下:(1)x,y的取值范围为99x,99y;(2)x,y每隔0.5取一个点;(3)图形的线型和颜色由MATLAB自动设定[x,y]=meshgrid((-9:0.5:9)+eps);%加eps避免出现0/0z=2*sin(x).*sin(y)./(x.*y);mesh(x,y,z)6、编写一段matlab程序,绘制出函数11sin(),2sin(2)yxyxx图形的MATLAB语句,要求如下:(1)x的取值范围为33x;(2)x每隔0.01取一个点;(3)y1和y2的图形要画在同一幅图里;(4)图形的线型和颜色由MATLAB自动设定。x=(-3:0.01:3)+eps;%加eps避免出现除0警告y1=x.*sin(1./x);y2=sin(2*x);plot(x,y1,x,y2)符号计算1、在MATLAB中,能正确的把x、y定义成符号变量的指令是()(A)symxy(B)symx,y(C)symsx,y(D)symsxy2、要清除MATLAB工作空间中保存的变量,应该使用_clear_指令。3、在MATLAB中,指令findsym(sym('sin(w*t)'),1)的执行结果是__w__。4、在MATLAB中,写出把x和y定义为符号变量的相应语句__symsxy_。5、求解下列方程组的符号解:1234234123412343212240xxxxxxxxxxxxxxx34712457423859652108xyzwxyzwxzwxyzwA=[113-1;01-11;1122;1-11-1];b=[2;1;4;0];x=sym(A)\bA=[34-7-12;5-742;108-5;-65-210];b=[4;-3;9;-8];xyzw=sym(A)\b6、求极限:(1)求函数11xyx在0x处的极限;symsxlimit((1+x)^(1/x),0)ans=exp(1)(2)求函数sin35xytgx在0x处的极限;s
本文标题:matlab基础练习题(带答案)
链接地址:https://www.777doc.com/doc-1818596 .html