40 仿真参数设置中,slover的默认设置是 A.ode45 B.ode23 C.ode15 D.ode4
41.MATLAB系统由MATLAB开发环境、MATLAB语言、MATLAB数学函数库、MATLAB图形处理系统和___C_五大部分组成()
A、MATLAB工具栏 B、MATLAB菜单 C、MATLAB应用程序接口 D、命令窗口 41、 在MATLAB的命令窗口中执行>>x=int8(1.8)其输出结果为(D) A、0.8 B、1 C、1.8 D、2 42、下列变量名组成合法的是(D)
A、1_1 B、if C、a% D、a 43、使用from:step:to方式生成向量,“-3:1:3”,其中-3,1,3分别是:(B) A、步长值,结束值,开始值 B、开始值,步长值,结束值 C、结束值,步长值,开始值 D、开始值,结束值,步长值 44、以下命令是取出图中数组第三列元素4,5和6的是:(D)
数组a
A、a([3;6;9]) B、a(3:9)’ C、a([3,4,6]) D、a([7;8;9]) 45、执行以下命令,其输出图形正确的是(A) x=0:1:5; y=2x; plot(x,y)
10987654321010.80.60.40.20-0.2-0.4-0.6-0.8
A B
00.511.522.533.544.55-105101520253010.80.60.40.20-0.2-0.4-0.6500-50-100-150-200
C D
46、设y是一个m*n矩阵,则plot(y)图像为(A)
A、n条曲线,横坐标为向量1:m B、m条曲线,横坐标为向量1:n C、n条曲线,纵坐标为向量1:m D、m条曲线,纵坐标为向量1:n 47、执行_C_命令可得到A=
[a,b ;c,d] A、A=sym(‘[a,b ;c,d]’) B、A=sym(‘[c,d ;a,b]’) C、A= ‘[a,b ;c,d]’ D、A= ‘(a,b ;c,d)’ 48、符号表达式“f=sym(‘sin(a*b)+cos(c*d)’)”中的自由符号变量是(D) A、a B、b C、c D、d 49、执行一下命令>>syms a x y
>>f=(sin(a*x)+y^2*cos(x)) ; >>dfdx=diff(f) 表示(D)
A、对a求一阶微分 B、对y求一阶微分 C、对x求二阶微分 D、对x求一阶微分
-1051015202530-250051015202530-0.850、if结构开始是“if ”命令,结束是_C___命令 A、End if B、End C、end D、else
51、运行以下命令,for循环的循环次数不是5次的是(D)
A、for n=1:5 B、for n=1:1:5 C、for n=linspace(1,5,5) D、a=eye(5,3);for n=a 52、有一M函数“function c=ex5_8(a b)”保存为“ex_5_7.m”则以下调用该函数正确的命令是(C)
A、z=ex5_8(1,2) B、z=ex5_8 C、z=ex5_7(1,2) D、z=ex5_7(1,2).m 53、关于Simulink模型.mdl文件,下面说法不正确的是(D)
A、.mdl文件是ASCLL文件 B、.mdl文件可以在M文件编辑器窗口中查看
C、.mdl文件可以在模型窗口中查看 D、.mdl文件中的模型可以在图像编辑器中查看 54在MATLAB的命令窗口中执行_C____命令,使数据输出显示为十六进制表示。()
A.format long B.format rat C.format hex D.format short e
55已知x=0:5,则x有___B__个元素。() A.5 B.6 C.7 D.8
56三维图形中默认视角是___C__度。()
A.方位角=0 俯仰角=90 B.方位角=90 俯仰角=0 C.方位角=37.5 仰俯角=30 D.方位角=0 仰俯角=180
57将符号表达式化简为因式分解形式,使用_____函数。(D) A.collect B.expand C.horner D.factor
58 模块名的修改是___C__。() A.在参数设置对话框中实现
B.在模块旁双击鼠标后出现的编辑框中实现 C.在模块的下面或旁边的编辑框中 D.在模块的属性窗口中
59与命令linspace(2,10,5) 产生的向量相同的命令___B___。 A. a=[2 10 5] B. a=2:2:10
C. a=logspace(2,10,5) D. a=2 4 6 8
60 已知数组a =[1 2;4 5 ] ,则a (1,:)是指__B_____。 A. 第一列向量 B. 第一行向量 C. 整个数组 D. 第三行向量
61 f1=(x-1)*(x-2)*(x-3) 要把表达式化简为嵌套的形式,应用____C___指令。 A. collect B. expand C.horner D.factor
62 输入指令f1=sym(‘x+3/2’) 和 [N1,D1]=numden(f1)后,N1=_C____ A. x+3 B. 2 C. 2*x+3 D. 3/2
三、简答题
1.简述MATLAB命令窗的主要作用。
命令窗口是MATLAB的主要交互窗口,用于输入命令并显示除图形以外的 所有执行结果。是MATLAB提供给用户使用的管理功能的人机界面,其管 理功能包括:管理工作空间中的变量、数据的输入输出的方式和方法,开发、 调试、管理M文件和M函数的各种工具。
2.简述MATLAB如何解释命令窗口输入的指令。
分配变量空间;调用函数;运算;返回结果;打印显示
3.简述MATLAB函数的基本结构。
函数的基本结构包括函数名,输入变量,输出变量,函数体等 matlab的函数的基本结构是
function 输出变量=函数名(输入变量) 函数体 例如
function c=mysum(a,b) c=a+b;
4.简述绘制二维图形的一般步骤。
绘制二维图形的一般步骤为:曲线数据准备、选定图形窗及子图位置、调用二 维曲线绘图指令、设置轴的范围、坐标分格线、图形注释、图形的精细操作。
5.MATLAB的变量命名有什么规则?能用”NaN”来作为变量名吗,为什么? 变量可以包括数字、字母、下划线,必须以字母开头 可以,因为符合变量名命名规则
6.M文件有哪两种,各有什么特点? M脚本文件和M函数文件 特点:
M脚本文件:
? 它只是一串按用户意图排列而成的MATLAB指令集合。
? 脚本运行产生的所有变量都驻留在MATLAB基本工乍空间中。 M函数文件:
? 从形式上看,与脚本文件不丗,函数文集件的第一行总是以function引导的函数申
明行。
? MATLAB允许使用比标称贷数目少的输入、输出量,实现对函数的调用。
? 从运行上看,与脚本文件运行不同,每当函数文件运行,MATLAB就会专门为它开辟
一个临时工作空间。
? 函数空间随具体M函数文件的被调用而产生,随调用结束而删除。 ? 假如在函数文件中,发生对某脚本文件的调用,那么该脚本文件运行产生的所有变量
都存放于那 个函数空间之中,而不是放在基本空间之中。
7.现有下列脚本程序,请分析该“for”循环执行情况并写出该程序运行结果 for m=1:4
for n=1:4
H(m,n)=m^2+n^2 end end
可知循环16次
H =
2 5 10 17 5 8 13 20 10 13 18 25 17 20 25 32
8.简述M脚本文件和M函数文件的主要区别。
M脚本文件没有参数传递功能,但M函数文件有此功能。 M函数文件的格式有严格规定,它必须以“ function ”开头,其格式如下: Function 输出变量=函数名称(输入变量) 语句; end; 当函数输入变量为向量输入(多输入)时,输入形式为[x1,x2,x3...]的一元向量形式;输出同
理。
M函数文件的命名必须是其函数名,不可改变。 M脚本文件则为完成一固定功能的模块,其运行时产生的变量均为全局变量,区别于M函数的局部变量,并且没有参数传递。 四、综合题
1、创建一个函数名为ex3_3,的M函数文件,要求输入任意两个参数,能输出这两个参数的成积。并写出能调用该函数的正确命令。
function n=ex3_3(a,b) n=a*b end
z=ex3_3(18,20) n = 360 z = 360
2、在for循环中计算f(x)=3*x,当f(x)>31时程序终止运算。并输出各次运行结果。 x=0:30; for n=x f=3*n; if f>31 break end end
f=3*(0:n) 结果: f =
0 3 6 9 12 15 18 21 24 27 30 33
3、用MATLAB软件编写一个程序。求方程组
(2*x1+3*x2-x3=6; x1-2*x2+4*x3=12; 5*x1-3*x2+x3=8)的解。并输出结果。 解:A=[2,3,-1;1,-2,4;5,-3,1];
B=[6;12;8]; X=A\\B 结果 X =
2.0000 1.8000 3.4000
4、编写程序分别对符号表达式“f=3*x^2+5*y^3-4*x+6*y”的x和y求一阶微分。并写出结果。 解:smys x y
f=3*x^2+5*y^3-4*x+6*y;
dfdx=diff(f)% 对x求一阶微分 dfdx =
6*x-4 %结果
dfdy=diff(f,y)% 对y求一阶微分 dfdy =
15*y^2+6 %结果 阅读下述MATLAB脚本程序
A=[3 5 7 9;0 2 4 1;6 4 4 8]; B=ones(3,3); b=A([1 2],2:3); B(4,4)=5;
A([1,2],:)=[]; C=[A;B(:,1:3)'];
D=reshape(C,2,8); 写出b、A、B、C、D的结果. b =
5 7 2 4 A =
6 4 4 8 B =
1 1 1 0 1 1 1 0 1 1 1 0 0 0 0 5 C =
6 4 4 8
1 1 1 0 1 1 1 0 1 1 1 0 D =
6 1 4 1 4 1 8 0
1 1 1 1 1 1 0 0
4235、已知多项式和a(x)?2x?3x?5b(x)?x?3x?1,编写脚本程序计算
1) 多项式a(x)+b(x) 2) a(x)*b(x)
2) 多项式a(x)/b(x)的部分分式展开。 解:
a=[0,3,0,3,5]; b=[1,0,3,0,1]; c1=a+b;
c2=conv(a,b);
[r,p,k]=residue(a,b)
6、编写MATLAB程序,以0.2为步长绘制正弦曲线sin??t?和余弦曲线cos??t?在[0,2?]之间的图形,分别位于图形窗口的二个子图中,正弦曲线以红色虚线绘制,并且用星号标注每个节点,余弦曲线以红色实线绘制,用圆标注每个节点。
解:
x1=0:0.2:pi; y1=sin(pi*x1); y2=cos(pi*x1);
subplot(1,2,1),plot(x1,y1,’h:r’) subplot(1,2,2),plot(x1,y2,’r-o’)
7、求解在x=8时多项式(x-1)(x-2) (x-3)(x-4)的值,并将程序跟结果写到答卷上。 解: x=8 s=1
for n=1:4
s=s*(x-n) end
8、编写M脚本文件sy2,使用for循环计算f=5^x,当f(x)>500就终止程序,在命令窗口中调用函数文件,求终止程序时f的值和n运行的值分别为多少?并将程序跟结果写到答卷上。 解:
function[y]=f(x) for x=1:00 f=5^x if >500 f=z n=x break end end