1、maab基础练习题带答案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、 判断:MAT
2、LAB中,i和j都是虚数单位,它们之间没有什么区别。( 对 )6、 判断:MATLAB中,pi代表圆周率,它等于3.14。( 错,后面还有很多位小数 )7、 在MATLAB中,若想计算的值,那么应该在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中的所有元素按原来次序的逆序排列输出,应该使用下面的
3、( )指令。(A)Xend:1 (B)Xend:-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(
4、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=_。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;
5、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(:) (4) A(1,:)*B(:,3) 139、 在MATLAB中,写出下面MATLAB语句执行的结果:(1) clear,A=ones(2,6)A=111111111111(2) A(:)=1:2:24A=(3) A(1:3:7)ans=1713(4) diag(diag(A)ans=1007(5) B=A(:,end:-1:1)B=10、 请编写一段ma
6、tlab程序,完成以下功能:(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之间的所有
7、质数,将这些质数存放在一个行数组里;X=100:200;p=X(isprime(X)(2) 求出这些质数之和;sum(p)(3) 求出100到200之间的所有非质数之和(包括100和200)。sum(X(isprime(X)12、 ,编写一段matlab程序,要求如下(1) 在区间,每隔0.01取一数值,计算出相应的的函数值;x=0:0.01:2*pi;y=(0.7+2*cos(x)./(1+x.2).*sin(x)(2) 根据MATLAB计算出的数据,找出在内该函数的极小值的坐标。my,idx=min(y)x(idx)数值计算1、 在MATLAB中,A是一个1010数组,我们把该数组看成矩阵
8、的话,则此矩阵的行列式值=_det(A)_,此矩阵的逆矩阵(如果存在的话)=_inv(A)_。(用MATLAB的函数表示)2、 求解下列方程组:A=113-1;01-11;1122;1-11-1;b=2;1;4;0;x=AbA=34 -7 -12;5-742;108-5;-65-210;b=4;-3;9;-8;xyzw=Ab3、 求有理分式的商多项式和余多项式n=conv(3010,3000.5);d=conv(12-2,5201);q,r=deconv(n,d)4、 一元多项式,写出表示的MATLAB语句_p=20-340_,求的根的MATLAB语句是_roots(p)_,求时的数值的MAT
9、LAB语句是_polyval(p,4.3)_。程序设计1、 M脚本文件和函数文件的有什么区别?最主要的差别是,函数有自己的独立工作区,和外界的信息交换通过输入输出参数实现;而脚本没有独立工作区,其直接使用宿主程序的工作区,并把结果留在宿主程序中。2、 掌握下面程序设计中常用的函数及关键字:input pause warning nargin nargoutfor while if elseif else switch case otherwise end trycatch break continue end3、 分别用for和while循环语句计算的程序。还请写出一种避免循环的计算程序。(不
10、要用symsum函数)K=0;fori=0:63 K=K+i;endK=0;i=0;whilei=10000,所以n=ceil(log(10000/0.06e-3)/log(2)10、 编写MATLAB脚本输出“水仙花数”及水仙花数的个数。所谓“水仙花数”是一个3位数,其各位数字的立方和等于该数本身。例如。c=0;forn=100:999m=fix(n/100)fix(mod(n,100)/10)mod(n,10);ifn=sum(m.3),fprintf(%i=%i3+%i3+%i3n,n,m);c=c+1;endendfprintf(n共%i个水仙花数n,c)输出结果:153=13+53+
11、33370=33+73+03371=33+73+13407=43+03+73共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绘图指令中的_subplo
12、t_指令允许用户在同一个图形窗里布置几个独立的子图。5、 编写一段matlab程序,绘制出二元函数三维网线图,要求如下:(1),的取值范围为,;(2),每隔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程序,绘制出函数图形的MATLAB语句,要求如下:(1)的取值范围为;(2)每隔0.01取一个点;(3)y1和y2的图形要画在同一幅图里;(4)图形的线型和颜色由MATLAB自动设定。x=(-3:0.0
13、1: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、 求解下列方程组的符号解:A=113-1;01-11;1122;1-
14、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) 求函数在处的极限;symsxlimit(1+x)(1/x),0)ans=exp(1)(2) 求函数在处的极限;symsxlimit(sin(3*x)/tan(5*x),0)ans=3/5(3) 求函数在趋向正无穷处的极限;symsxnlimit(n*x/3x,inf)ans=0(4) 求函数在趋向正无穷处的极限;symsxlimit(log(x)2/x3,inf)ans=07、 求导数:(1) 求函数的50阶导数;
15、symsxy=1/x2-3*x+3;diff(y,50)ans=(2) 求函数在处的3阶导数;symstabcy=a*sin(b*exp(ct)+ta);simple(subs(diff(y,t,3),t,b)8、 求不定积分:symsxint(1/sin(x)3)ans=-1/2/sin(x)2*cos(x)+1/2*log(csc(x)-cot(x)symsxaint(1/(a2-x2)ans=-1/2/a*log(a-x)+1/2/a*log(a+x)symsxint(sqrt(x2-3)-sqrt(x2+3)/sqrt(x4-9)ans=(x4-9)(1/2)/(x2-3)(1/2)/
16、(x2+3)(1/2)*asinh(1/3*3(1/2)*x)-1/(x2+3)(1/2)*(x4-9)(1/2)/(x2-3)(1/2)*log(x+(x2-3)(1/2)9、 求定积分及广义积分symsxaint(sqrt(x2+a),-2,2)ans=2*(4+a)(1/2)+1/2*a*log(2+(4+a)(1/2)-1/2*a*log(-2+(4+a)(1/2)symsxint(sin(x)2*cos(x)2,-pi,pi)ans=1/4*pisymsxyint(int(x2+y2,y,1,x2),1,2)ans=1006/10510、 求下面的积分,给出50位精度的数值:syms
17、xyJ=int(int(sin(x)2+sin(y)2,y,1,x2),1,2);vpa(J,50)ans=11、 级数求和: symsznsymsum(z-1)n/(n2*2n),n,1,inf)ans=(1/2*z-1/2)*hypergeom(1,1,1,2,2,1/2*z-1/2)symsznsymsum(3*n+1)*(z-1)n,n,1,inf)ans=(4*z-4)*(-1/(z-2)+3/4/(z-2)2*(z-1)symsznsymsum(n*(-1)(n+1)*zn,n,1,inf)ans=z/(z+1)2symsxpositivesymsksimple(symsum(2/(2*k+1)*(x-1)/(x+1)(2*k+1),k,0,inf)ans=log(-(1+(x2-2*x+1)/(x2+2*x+1)(1/2)/(-1+(x2-2*x+1)/(x2+2*x+1)(1/2)
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2