《matlab基础练习题(带答案).docx》由会员分享,可在线阅读,更多相关《matlab基础练习题(带答案).docx(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Matlab基础练习题常量、变量、表达式1、 MATLAB中,下面哪些变量名是合法的?()(A) _num (B) num_ (C) num- (D) -num在MATLAB中,要给出一个复数z的模,应该使用()函数。(A) mod(z) (B) abs(z) (C) double(z) (D) angle(z)3、下面属于MATLAB的预定义特殊变量的是?()(A) eps (B) none (C) zero (D) exp4、判断:a MATLAB的内存工作区中,存放一个英文字符 宣 需要占用1个字节,存放 一个中文字符啊需要占用2个字节。(错,都是2个字节 )5、 判断:MATLAB中,
2、i和j都是虚数单位Q,它们之间没有什么区别。( 对)判断:MATLAB中,pi代表圆周率,它等于3.14。(错,后面还有很多位小数)7、在MATLAB中,假设想计算的yl = 2sin(y)值,那么应该在MATLAB的指令窗中1 + V5输入的 MATLAB 指令是 yl=2*sin(0.3*pi)/(l+sqit(5)。8、 在MATLAB中,a = 1, b = i,那么a占_8一个字节,b占6个字节,c占 字-H- 下。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)在MATLAB中,A是一个字二维数组,要获取A的行数和列数,应该使用的MATLAB 的命令是( )o(A) class(A) (B) sizeof(A) (C) size(A) (D) isa(A)在MATLAB中,用指令x=1 :9生成数组x。现在要把x数组的第二和第七个元素都 赋值为0,应该在指令窗中输入()(A) x(2 7) = (0 0)(B) x(257) = 050(C) x(257) = 0 0(D) x(2 7) = (0 0)在 MATL
4、AB 中,依次执行以下指令:clear;A=ones(3,4);A(:)=-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 -2 1 4在MATLAB中,A= 1:9,现在执行如下指令LI=(A5),那么MATLAB的执行结果应 该是 Ll= 111110000 o2、 在MATLAB中,要求在闭区间0,5上产生50个等距采样的一维数组b,请写出具体 的 MATLAB 指令 linspace(0550) 。3、 在 MATLAB 中,A
5、 = 0:l/2:2*pi,那么 sin(A)= 2 10/01。4、 在 MATLAB 中,A=l,2,3;4,5,6;7,8,0, B=2,l,6;8,5,2;14,2,lo 写出下面 MATLAB 语句 执行的结果:(为节省篇幅,把矩阵写成mat2str的形式) (1)A=B0 0 0; 0 1 0; 0 0 0(2) A.*B22 18;32 25 12;98 160(3) A(:)f147258360(4) A(1,:)*B(:,3)13在MATLAB中,写出下面MATLAB语句执行的结果:(1) clear,A = ones(2,6)A 二11111111(2) A(:)= 1:2
6、:24A 二17211923172119231 5913371115(3) A(l:3:7)ans =713(4) diag(diag(A)ans =007(5) B = A (:,end:-1:1)B =21171392319151110、请编写一段matlab程序,完成以下功能:(1) 生成一个100行,200列的二维随机数组;A=rand( 100,200);(2) 找出数组A中所有大于0.49且小于0.51的元素的单下标;Idx=find(A(:)0.49 & A(:) 一元多项式p = 2/ 3/+4x ,写出表示p的MATLAB语句 p=12 0 -3 4 0,求p = 0的根的M
7、ATLAB语句是 roots(p),求X = 4.3时p的数值的MATLAB语句是polyval(p,4.3)。程序设计1、 M脚本文件和函数文件的有什么区别?最主要的差异是,函数有自己的独立工作区,和外界的信息交换通过输入输出参数实现; 而脚本没有独立工作区,其直接使用宿主程序的工作区,并把结果留在宿主程序中。2、掌握下面程序设计中常用的函数及关键字:input forpausewhilewarning if elseifnargin nargoutelse switch caseotherwisecontinue3、 分别用for和while循环语句计算K = 的程序。还请写出一种防止循环
8、的计算程序。(不要用symsum函数)K=0;for i=0:63K=0; i=0;while i= 10000,所以n = ceil(log(10000/0.06e-3)/log(2)10、编写MATLAB脚本输出“水仙花数”及水仙花数的个数。所谓“水仙花数”是一个3位数,其各位数字的立方和等于该数本身。例如153 = +53 +33。c=0;for n= 100:999m=fix(n/100) fix(mod(n,100)/10) mod(n,10);if n=sum(m.A3),fprintf(%i = %iA3 + %iA3 + %iA3nn,m); c=c+l;endendfprin
9、tf(n共1个水仙花数n;c)输出结果:153 = 1 八3+ 5 八3+ 3 人3370 = 3A3 + 7A3 + 0A3371 = 3八3+ 7八3 + 1A3407 = 4A3 + 0A3 + 7A3共4个水仙花数绘图1、 MATLAB中,绘制三维曲面图的函数是()(A) surf(B) plot(C) subplot(D) plot3MATLAB中,要绘制三维空间曲线,应该使用()函数。(A) polar(B) plot(C) subplot(D) plot3在MATLAB中,A是一个1000行2列的二维数值数组,现在要把A的第一列数据作 为横坐标,把A的第二列数据作为纵坐标,画出一
10、条曲线,试写出相应的MATLAB 语句.plot(A(:, 1 ),A(:,2)o2、 MATLAB绘图指令中的subplol指令允许用户在同一个图形窗里布置几个独立的子 图。5、编写一段matlab程序,绘制出二元函数z =生”吧上三维网线图,要求如下: 孙(1) x, y 的取值范围为9Wx9, -9y =二3x + 3的50阶导数;x syms x y=l/x八2-3*x+3; diff(y,50) ans =A52求函数y = Qsin(/?J + L)在,处的3阶导数; syms t a b cy=asin(b*exp(cAt)+tAa);simple(subs(diff(y,t,3
11、),t,b)8、求不定积分:fl, fl,r Vx2 3 x2 +3ax-ax/axJ sin3 xJ a2-x2J Vx4-9 syms xint(l/sin(x)A3) ans =-1 /2/sin(x)八 2*cos(x)+ l/2*log(csc(x)-cot(x) syms x a int(l/(aA2-xA2) ans 二-1 /2/a*log(a-x)+1 /2/a*log(a+x) syms x int(sqrt(xA2-3)-sqrt(xA2+3)/sqrt(xA4-9)ans =(xA4-9)A(l/2)/(xA2-3)A(l /2)/(xA2+3)A(l /2)*asin
12、h( 1 /3 *3 八(1 /2)*x)-1 /(xA2+3)A(l /2)*(xA4-9)A(1 /2)/(xA2-3)A(l /2)*log(x+(xA2-3)A(l /2)9、9、求定积分及广义积分J-7Csin xcos xdxl2f( syms x a int(sqrt(xA2+a),-2,2)ans =2*(4+a)八(l/2)+l/2*a*k)g(2+(4+a)八(l/2)-l/2*a*log(-2+(4+a)八(1/2) syms x int(sin(x)A2*cos(x)A2,-pi,pi)ans =l/4*pi syms x y int(int(xA2+yA2,y, 1
13、,xA2), 1,2)ans =1006/10510、求下面的积分,给出50位精度的数值:2 工2j j (sin2 a: + sin2 ydydx syms x y J=int(int(sin(x)A2+sin(y)A2,y, 1 ,xA2), 1,2); vpa(J,50)ans = 11、级数求和:En=8Z(3 + l)(zT)(x0) syms z n symsum(z-1 )An/(nA2*2An),n, 1 ,inf) ans =(l/2*z-l/2)*hypergeom(l, 1, 1,2, 2,l/2*z-l/2) syms z n symsum(3*n+1 )*(z-1)八n,n,l,inf)ans =(4*z-4)*(- l/(z-2)+3/4/(z-2)八 2*(z-1) syms z n symsum(n*(-1 )A(n+ l)*zAn,n,l,mf)ans =z/(z+l)A2 syms x positive syms k simple(symsum(2/(2*k+1 )*(x-1 )/(x+1)八(2*k+ l),k,0,inf)ans =log(-(l+(xA2-2*x+ l)/(xA2+2*x+ l)A(l/2)/(-l +(x 八 2-2*x+1 )/(x 八 2+2*x+ l)A(l/2)
限制150内