matlab试卷合集附答案

更新时间:2023-11-11 13:34:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一、填空题

1、求可逆矩阵A的逆矩阵的指令是 inv(A) 2、A=[0 2 3 0],B=[4 5 0 0],则X=A&B的显示结果为 0 1 0 0 3、求矩阵A的转置矩阵的指令是: A’

4、x=[10 -20 30]; a=sign(x);显示结果为 1 -1 1

5、Notebook是Matlab的文字处理工具,启动Notebook有两种方法,即一种是在 Word 中启动,另一种是在 Matlab 中启动。

6、Matlab7.3提供了非常强大的帮助系统,包括 帮助 命令、 帮助 窗口、HTML格式帮助、pdf格式帮助和帮助演示等。

7、clc命令和clear命令的区别是 clc清除命令窗口所有显示内容; Clear清除所有显示的变量 .

8、命令窗口中的type命令的功能为 显示文件的内容 .

9、matlab7.3提供了三种程序调试的工具,包括直接检测调试、专用调试命令和使用 M文件编辑/调试器 。 10、matlab除了最常用的主函数和子函数外,还提供了嵌套函数、私有函数、重载函数和 匿名函数 。

11、在matlab7.3中,创建句柄图形对象的命令格式为____________ h_obj=funname(‘PropertyName’,PropertyValue,??)_ 12、计算5*e*|cos175°|语句为 5*exp(3)*abs(cos(175*pi/180)). 13、创建随机矩阵的指令用rand,创建稀疏矩阵用sparse

14、为图形添加网格使用grid on,使用legend命令添加图例。 1、MATLAB常用操作界面包括命令窗口、工作空间窗口(浏览器)、 命令历史窗口、当前目录窗口、内存数组编辑器、M文件编辑/调试器、 帮助导航/浏览器、图形窗口等。

2、MATLABInf或inf表示无穷大、NaN或nan表示不是一个数、nargout表示函数输出宗量数目。

3、MATLAB中逗号主要用作要显示计算结果的指令与其后指令的分隔; 用作输入量与输入量之间的分隔符;用作数组元素分隔符号。 4、工作空间浏览器主要用于内存变量的查阅、保存和编辑。

5、MATLAB实现将全下标转换为单下标的指令为Sub2ind、据单下标换算出全 下标的指令为Ind2sub。

6、二维数组的标识有“全下标”标识、“单下标”标识、“逻辑1”标识。 7、在一个元胞数组A中寻访第2行第3列元胞元素用A(2,3);寻访数组第 2行第3列元胞中的内容用A{2,3}。

8、MATLAB中clf用于清除图形窗、clc用于清除指令窗中显示内容、clear 用于清除MATLAB工作空间中保存的变量。

1. 已知A=[0 9 6;1 3 0];B=[1 4 3;1 5 0];写出下列各指令运行的结果。 A & B 的运行结果ans= ; A ./ B 的运行结果ans= 。

2. 产生4阶全0方阵的命令为 ;产生3阶全1方阵的命令为 。 3. A=rand(2,5);b=size(A);c=length(A);则b和c的值分别为 和 。

3

4. 标点符号 可以使命令行不显示运算结果, 用来表示该行为注释行。 5. 用if判断语句判断80≥ x >60,在MATLAB中if语言后的判断应写为 。

6. P, Q分别是个多项式的系数矢量,求P对应的多项式的积分(对应的常数项为K),使用的命令是 polyint(P,K) ;求P/Q的解,商和余数分别保存在k和r,使用的命令是 [k,r]= deconv (P,Q) ;

7. 为了使两个plot的图形在同一个坐标显示,可以使用 命令进行图形保持;可以使用 命令为图形添加网格。

8. MATLAB的工作空间中有三个变量v1, v2, v3,写出把它们保存到文件my_data.mat中的指令 save my_data ;写出把my_data.mat文件中的变量读取到MATLAB工作空间内的指令 Load my_data 。

1、 ans =

0 1 1 1 1 0 ans =

0 2.2500 2.0000

1.0000 0.6000 NaN 2、 zeros(4) ones(3) 3、 [ 2 5 ] [ 5 ] 4、 ; % 5、 if x<= 80 & x>60

6、 polyint(P,K) [k,r]= deconv (P,Q) 7、 hold on grid on

8、 save my_data Load my_data

1.设有程序

A=[2,0,1,0;1,0,1,5;0, 6 ,2, 3];B=[1,2,-1;1,3,1];C=A(1:3,[1,2]); D=size(C)- length(B(2,:));F= C.*B?

将下列命令的运行结果填在横线上0*、0 D = ; F= .

2. A=[2,3,2,1;1,2,2,1; 1,2,3,-2];

A1=sum(A>A(2,1));A(2,:)=[],A2=A.^2-4 A1= ; A2= ;

1. D =

0 -1 F =

2 0 2 0 0 6 2. A1 =

1 3 3 0 A2 =

0 5 0 -3

-3 0 5 0 3.

max(P,[ ],1)=

2 2 5 4

mean(P,2)=

3

2 4.

3.P=[1,2,5,4;2,2,1,3];max(P,[ ],1)= ;mean(P,2)= . 5. 4. a=[ ]; x=0; n=1; for i=1:3; while n<6 for j=1:3; x=n+x; a(i,j)=(i-j)*abs(i-j); n=n+1; end end end x b=a(8)*a 运行结果 运行结果 x= . . b= . 6. 7. x=5,y=-20; function f=price(a) if x<0 switch fix(a/100); x=y-3 case {0,1,2} else y= y+10; rate=0; end otherwise z=400*x-y rate=0.05 end 运行结果 z= . f=a*(1-rate) 运行结果 price (300)= . x=15 5. b =

0 1 4 -1 0 1 -4 -1 0 6.z =2010 7.285

一、选择题(每小题2分,共30分) 1. 在matlab中____C____用于括住字符串。 A., B.; C.‘’ D.“”

2. 在matlab的命令窗口中执行__A_______命令,可将命令窗口中所有变量清空。

A. clear B. clc C. echo off D. cd 3.下列___D____是合法变量。

A. 1_1 B. a/b C.变量1 D. eps

4产生所有元素均为1的2行3列矩阵的命令是_A______。 A. ones(2,3) B.ones(3,2) C.eye(2,3) D.eye(3,2)

?1234??,若要产生a的一个子矩阵?34?,则下 23455.已知数组a=??45???????9876??列命令中错误的是____D____________。

A.a([1 2],[3 4]) B.a(1:2,3:end) C.a(linspace(1,2,2),3:4) D.a(:,:)

6.已知a=0:4,b=1:5,下面的运算表达式出错的是_D_______。 A. a+b B. a./b C. a?*b D. a*b 7. subplot(2,1,2)是指__B_______的子图。

A.两行一列的上图 B.两行一列的下图 C.两列一行的左图 D.两列一行的右图

8.误差条图是用来绘制误差的条形图,显示沿着曲线的误差,绘制误差条

图,则使用___D__函数绘图。 A.error B.bar C.barerror D.errorbar 9. surf函数是____C_____

A.绘制三维曲线图 B.绘制三维表面图并加光照效果 C.绘制 三维表面图 D.绘制三维表面图并加等高线 10.运行以下命令后,变量C的值是__A______

>>A=sym([5 5;6 6]); >>B=sym([1 2;3 4]); >>C=A.*B

A.

[5*1,5*2]?2030? B.? C. D.出错 ?[18,24][6*3,6*4]?2436?[5,10]?0 11.积分表达式?2?cos(x)dtdx的实现使用下面的_B_____命令

A.int(int(cos(x)),0,pi/2) B.int(int(cos(x),’t’),0,pi/2) C.int(int(cos(x)),’t’,0,pi/2) D. int(int(cos(x),’t’,pi/2)

12.matlab的程序运行过程中,如果想知道代码运行的实际时间, 可以使用计时函数,matlab7.3提供了三种函数可以实现计时, 但_C____并不属于这三种。

A. cputime B. tic/toc C.time D.etime 13.运行命令“fhnd=@(x)(exp(x));”,则fhnd是_B______ A.字符串 B.function_handle C.function D.inline 14.运行命令“f=@(x)(1+sin(x));”,则____C_____

A.创建了inline对象 B.创建了主函数 C.创建了匿名函数 D.创建了子函数。

15.在多个句柄对象中,句柄是1的应该是_C_____对象。 A.根对象 B.坐标轴 C.窗口 D.屏幕 1.下列哪个变量的定义是不合法的 A (A) abcd-3 (B) xyz_3 (C) abcdef (D) x3yz 2. 下列哪条指令是求矩阵的行列式的值 C (A) inv (B) diag (C) det (D) eig

3. 在循环结构中跳出循环,执行循环后面代码的命令为 B (A) return (B) break (C) continue (D) keyboard 4. 清空Matlab工作空间内所有变量的指令是 C (A) clc (B) cls (C) clear (D) clf

5. 用round函数四舍五入对数组[2.48 6.39 3.93 8.52]取整,结果为 C (A) [2 6 3 8] (B) [2 6 4 8] (C) [2 6 4 9] (D) [3 7 4 9] 6. 已知a=2:2:8, b=2:5,下面的运算表达式中,出错的为 C (A) a' *b (B) a .*b (C) a*b (D) a-b

7. 角度x??304560?,计算其正弦函数的运算为 D (A) SIN(deg2rad(x)) (B) SIN(x) (C) sin(x) (D) sin(deg2rad(x)) 8. 下面的程序执行后array的值为A for k=1:10

if k>6 break; else

array(k) = k; end end

(A) array = [1, 2, 3, 4, 5, 6] (B) array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] (C) array =6 (D) array =10.

9.i=2; a=2i; b=2*i; c=2*sqrt(-1); 程序执行后;a, b, c的值分别是多少?C (A)a=4, b=4, c=2.0000i (B)a=4, b=2.0000i, c=2.0000i (C)a=2.0000i, b=4, c=2.0000i

(D) a=2.0000i, b=2.0000i, c=2.0000i

10. 求解方程x4-4x3+12x-9 = 0 的所有解A (A)1.0000, 3.0000, 1.7321, -1.7321 (B)1.0000, 3.0000, 1.7321i, -1.7321i (C)1.0000i, 3.0000i, 1.7321, -1.7321 (D)-3.0000i, 3.0000i, 1.7321, -1.7321

1、标点符号 ( ; )可以使命令行不显示运算结果,( % ) 用来表示该行为注释行。

2、下列变量名中 ( A ) 是合法的。

(A) char_1 ; (B) x*y ; (C) x\\y ; (D) end

3、 为 ~ ,步长为 的向量,使用命令 ( 本题题意不清 )创建。 6、M脚本文件和M函数文件的主要区别是 ( 变量生存期和可见性 ) 和( 函数返回值 ) 。 7、在循环结构中跳出循环,但继续下次循环的命令为( C ) 。 (A) return; (B) break ; (C) continue ; (D) keyboad

三、写出程序的执行结果或写出给定要求的指令(总共35分) 1. 写出执行以下代码后C,D,E的值 (6分) A=[1,2,3;4:6;7:9]; C=[A;[10,11,12]], D=C(1:3,[2 3]) E=C(2,[1 2])

2. 写出执行以下代码后,MATLAB命令窗口上显示的x矩阵的值 (5分)

x=[0,1,0,2,0,3,0,4]; for k=1:8

if x(k)==0 x(k)=k; else

x(k)=2*k+1; end end disp(x);

3. 创建符号函数并求解,要求写出步骤和运行结果(7分) (1)创建符号函数f=ax2+bx+c (2)求f=0的解

4. 求解以下线性方程组,要求写出程序代码和运行结果(5分)

2x1- 3x2+ x3+2x4=8 x1+3x2+ x4=6 x1- x2+ x3+8x4=17x1+ x2-2x3+2x4=5

5.绘制函数曲线,要求写出程序代码(12分) (1)在区间[0:2π]均匀的取50个点,构成向量π

(2)在同一窗口绘制曲线y1=sin(2*t-0.3); y2=3cos(t+0.5);要求y1曲线为红色点划线,标记点为圆圈;y2为蓝色虚线,标记点为星号 四、使用MATLAB语言进行编程(15分)

打印出所有的水仙花数。所谓“水仙花数”,是指一个三位数,其各位数字立方之和等于该数本身。

三、写出程序的执行结果或写出给定要求的指令

1、 c =

0 + 2.0000i D =

2 3 5 6 8 9 E =

4 5 2、

1 5 3 9 5 13 7 17 3、

>> syms a b c x

>> s = a*x^2 + b*x + c; >> solve(s)

ans =

[ 1/2/a*(-b+(b^2-4*a*c)^(1/2))] [ 1/2/a*(-b-(b^2-4*a*c)^(1/2))] 4、

>> syms a b c x

>> syms x1 x2 x3 x4 >> clear

>> syms x1 x2 x3 x4

>> f = 2*x1 + 3*x2 + x3 + 2*x4 -8; >> g = x1 + 3*x2 + x4 - 6; >> h = x1 - x2 + x3 + 8*x4 - 1; >> i = 7*x1 + x2 - 2*x3 + 2*x4 -5; >> [x1,x2,x3,x4] = solve(f,g,h,i) x1 = 13/17 x2 = 320/187 x3 = 212/187 x4 = 19/187 5、

t = linspace(0, 2*pi, 50); plot(t,y1,'r-o' ,t,y2,'b--*');

四、使用MATLAB语言进行编程

for k = 100:999 a = fix(k/100); b = rem(fix(k/10),10); c = rem(k,10); if a.^3 + b.^3 + c.^3 == k fprintf( “%u,\\t\\t”, k ) ; end end

二、(本题满分10分)试编写计算程序画出曲线与曲面图形

3??x?sint(1).?(0?t?2?);3?y?cost?

(2).z?(x2?1)e?x2?y2?x2y,?2?x?2,?2?y?2.

%1 %2

t=0:0.1: 2*pi; [x,y]=meshgrid(-2:0.1:2);

x= sin(t).^3; z=(x.^2+1).* exp(-x.^2- y.^2+)+x.^2.*y; y= cos (t).^3; mesh(x,y,z) plot(x,y)

三、(本题满分12分)编写程序解决下列问题:

(1)试产生100?4阶矩阵使其元素在0—100之间的随机整数,可将此矩阵理解为100名同学的四门课程(课程1, 课程2, 课程3, 课程4)的成绩. (2)计算出每门课程和每位同学的平均成绩; (3)统计出总的优秀人次(90分及以上为优秀);

(4)统计出四门课程成绩至少有两门课程不及格的人数. 解:(1) a=fix((100-0+1)*rand(100,4)); (2) mean(a) mean(a,2) (3)sum(sum(a>=90,2)==4) (4)sum(sum(a<60,2)>=2)

四、(本题满10分)

(?1)k?1设f(x)??sinkx,kk?1n(1)试编写函数式文件程序返回该函数并保存;(程序的第一句为:functiony?fun1(x,n))(2)用子图画出该函数在[0,2?]内图形(分别取n?20,50).

(1). function y=fun1(x,n) (2). x=0:0.1:2*pi;

y=0; y1= fun1 (x,20); for k=1:n y2= fun1 (x,50);

y=y+ ((-1)^(k+1)*sin(k*x))/k; subplot(2,1,1),plot(x,y1) end subplot(2,1,2),plot(x,y2) y

五、(本题满分10分)

试利用微分方程的数值解法写出下列微分方程的求解步骤和MATLAB程序. x???3tx??x?t,x(0)?2,x?(0)?0.(t的变化区间为[0,10]). 第一步:先将高阶微分方程转化为一阶微分方程组: 选择状态变量x1?x?,x2?x,则原方程化为

???3tx1?x2?t,?x1???x1.?x2第二步:建立函数文件fun2.com

function dxdt = fun2(t,x)

dxdt = [-3*t*x(1)+ x(2)+t; x(1)];

第三步:求解微分方程,命令如下: [t,x]=ode45(@fun2,[0,10],[0;2]) 六、运用符号运算功能计算下列各题,:x1(0)?0,x2(0)?2

1.求方程ex?x2?2的根;?xsinx2.生成符号矩阵A???xe??3.计算极限limlnx?dA1?,并计算,?A(x)dx,A2;

dxs?x??cosx?cosx;x?0x(esinx?x)4.用dsolve函数求解微分方程x(4)?x?2et,x(0)?x?(0)?x??(0)?x???(0)?1的解

六、参考程序:

1. solve('exp(x)=x^2+2') 2.syms x s

A=[x*sin(x),log(x);exp(-x),1/(s+x)] diff(A) int(A) A*A 3.syms x

limit((cos(x)-cos(x)^(1/2))/x/(exp(sin(x))-1))

4.dsolve('D4x+x=2*exp(t)','x(0)=1','Dx(0)=1','D2x(0)=1','D3x(0)=1')

七.用fsolve函数以及符号运算功能求解下面的非线性方程组:22??4x1?x2?2x1x2?x2?2?0?22??2x1?x2?3x1x2?3?0

解一:function y=fc(x)

y(1)=4*x(1).^2+x(2).^2+2*x(1).*x(2)-x(2)-2 y(2)=2*x(1).^2+x(2).^2+3*x(1).*x(2)-3 y=[y(1) y(2)];

x0=[1 1];

fsolve(@fc,x0)

解二: syms x1 x2

[x1 x2]=solve(?4*x1^2+ x2^2+2* x1* x2- x2-2=0?,? 2*x1^2+ x2^2+3* x1* x2-3=0?,? x1?,? x2?)

本文来源:https://www.bwwdw.com/article/lykv.html

Top