1、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中,
2、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(2 7)=(0 0) (B)x(2,7)=0,0(C)x(2,7)=0 0 (D)x(2 7)=(0 0)4、在MATLAB中,依次执行以下指令:clear;A=ones(3,4); A(:)
4、=-6:5;这时,若在指令窗中输入指令b=A(:,2),那么,MATLAB输出的结果应该是( )(A)b=-3-2-1(B)b=-2 -1 0 1 (C)b=-5 -1 3 (D)b = -5-2145、在MATLAB中,A = 1:9,现在执行如下指令L1 = (A5),则MATLAB的执行结果应该是L1 =_1 1 1 1 1 0 0 0 0_。6、在MATLAB中,要求在闭区间0,5上产生50个等距采样的一维数组b,请写出具体的MATLAB指令_linspace(0,5,50) _。7、在MATLAB中,A = 0:1/2:2*pi,那么sin(A) = _0 1 0 -1 0_。8、在
5、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=B0 0 0; 0 1 0; 0 0 0(2)A.*B2 2 18;32 25 12;98 16 0(3)A(:)1 4 7 2 5 8 3 6 0(4)A(1,:)*B(:,3)139、在MATLAB中,写出下面MATLAB语句执行的结果:(1)clear,A = ones(2,6)A = 1 1 1 1 1 1 1 1 1 1 1 1(2)A(:) = 1:2:24A = 1 5 9 13 17 21
6、3 7 11 15 19 23(3)A(1:3:7)ans = 1 7 13(4)diag(diag(A)ans = 1 0 0 7(5)B = A(:,end:-1:1)B = 21 17 13 9 5 1 23 19 15 11 7 310、请编写一段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)中的条件的元
7、素的和,并求出这些元素的平均值;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、,编写一段matlab程序,要求如下(1)在区间,每隔0.01取一数值,计算出相应的的函数值;x=0:0.01:2*pi;
8、y=(0.7+2*cos(x)./(1+x.2).*sin(x)(2)根据MATLAB计算出的数据,找出在内该函数的极小值的坐标。my,idx=min(y)x(idx)数值计算1、在MATLAB中,A是一个1010数组,我们把该数组看成矩阵的话,则此矩阵的行列式值 = _det(A)_,此矩阵的逆矩阵(如果存在的话) = _inv(A)_。(用MATLAB的函数表示)2、求解下列方程组:A=1 1 3 -1;0 1 -1 1;1 1 2 2;1 -1 1 -1;b=2;1;4;0;x=AbA=3 4 -7 -12;5 -7 4 2;1 0 8 -5;-6 5 -2 10;b=4;-3;9;-8
9、;xyzw=Ab3、求有理分式的商多项式和余多项式n=conv(3 0 1 0,3 0 0 0.5);d=conv(1 2 -2,5 2 0 1);q,r=deconv(n,d)4、一元多项式,写出表示的MATLAB语句_p=2 0 -3 4 0_,求的根的MATLAB语句是_roots(p)_,求时的数值的MATLAB语句是_polyval(p,4.3)_。程序设计1、M脚本文件和函数文件的有什么区别?最主要的差别是,函数有自己的独立工作区,和外界的信息交换通过输入输出参数实现;而脚本没有独立工作区,其直接使用宿主程序的工作区,并把结果留在宿主程序中。2、掌握下面程序设计中常用的函数及关键字
10、:input pause warning nargin nargoutfor while if elseif else switch case otherwise end trycatch break continue end3、分别用for和while循环语句计算的程序。还请写出一种避免循环的计算程序。(不要用symsum函数)K=0;for i=0:63K=K+i;endK=0; i=0;while i= 10000,所以n = ceil(log(10000/0.06e-3)/log(2)10、编写MATLAB脚本输出“水仙花数”及水仙花数的个数。所谓“水仙花数”是一个3位数,其各位数字的
11、立方和等于该数本身。例如。c=0;for n=100:999m=fix(n/100) fix(mod(n,100)/10) mod(n,10);if n=sum(m.3),fprintf(%i = %i3 + %i3 + %i3n,n,m);c=c+1;endendfprintf(n共%i个水仙花数n,c)输出结果:153 = 13 + 53 + 33370 = 33 + 73 + 03371 = 33 + 73 + 13407 = 43 + 03 + 73共4个水仙花数绘图1、MATLAB中,绘制三维曲面图的函数是( )(A)surf (B)plot (C)subplot (D)plot32
12、、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程序,绘制出二元函数三维网线图,要求如下:(1),的取值范围为,;(2),每隔0.5取一个点;(3)图形的线型和颜色由MATLAB自动设定x,y=
13、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.01:3)+eps; % 加eps避免出现除0警告y1=x.*sin(1./x);y2=sin(2*x);plot(x,y1,x,y2)符号计算1、在MATLAB中,能正确的把x、y定义成符号变量的指令是( )(A)sym
14、x y (B)sym x , y(C)syms x , y (D)syms x y2、要清除MATLAB工作空间中保存的变量,应该使用_clear_指令。3、在MATLAB中,指令findsym(sym(sin(w*t),1)的执行结果是_w_。4、在MATLAB中,写出把x和y定义为符号变量的相应语句_syms x y_。5、求解下列方程组的符号解:A=1 1 3 -1;0 1 -1 1;1 1 2 2;1 -1 1 -1;b=2;1;4;0;x=sym(A)bA=3 4 -7 -12;5 -7 4 2;1 0 8 -5;-6 5 -2 10;b=4;-3;9;-8;xyzw=sym(A)b
15、6、求极限:(1)求函数在处的极限; syms x limit(1+x)(1/x),0) ans = exp(1)(2)求函数在处的极限; syms x limit(sin(3*x)/tan(5*x),0) ans = 3/5(3)求函数在趋向正无穷处的极限; syms x n limit(n*x/3x,inf) ans = 0 (4)求函数在趋向正无穷处的极限; syms x limit(log(x)2/x3,inf) ans = 07、求导数:(1)求函数的50阶导数; syms x y=1/x2-3*x+3; diff(y,50) ans = 1551118753287382280224
16、243016469303211063259720016986112000000000000/x52(2)求函数在处的3阶导数;syms t a b cy=a*sin(b*exp(ct)+ta);simple(subs(diff(y,t,3),t,b)8、求不定积分: syms x int(1/sin(x)3) ans = -1/2/sin(x)2*cos(x)+1/2*log(csc(x)-cot(x) syms x a int(1/(a2-x2) ans = -1/2/a*log(a-x)+1/2/a*log(a+x) syms x int(sqrt(x2-3)-sqrt(x2+3)/sqr
17、t(x4-9)ans = (x4-9)(1/2)/(x2-3)(1/2)/(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、求定积分及广义积分 syms x a int(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) syms x int(sin(x)2*cos(x)2,-pi,pi) ans = 1/4*pi syms x y int(int(x2+
18、y2,y,1,x2),1,2) ans = 1006/10510、求下面的积分,给出50位精度的数值: syms x y J=int(int(sin(x)2+sin(y)2,y,1,x2),1,2); vpa(J,50) ans = 2.154045958970531626599750175576200104849866417691611、级数求和: syms z n symsum(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) syms z n symsum(3*n+1)*(z-1)n,n,1,inf) ans = (4*z-4)*(-1/(z-2)+3/4/(z-2)2*(z-1) syms z n symsum(n*(-1)(n+1)*zn,n,1,inf) ans = z/(z+1)2 syms x positive syms k simple(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-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1