MATLAB复习题.docx
- 文档编号:25623884
- 上传时间:2023-06-10
- 格式:DOCX
- 页数:18
- 大小:56.89KB
MATLAB复习题.docx
《MATLAB复习题.docx》由会员分享,可在线阅读,更多相关《MATLAB复习题.docx(18页珍藏版)》请在冰豆网上搜索。
MATLAB复习题
Matlab复习题:
一、选择题
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.486.393.938.52]取整,结果为(C)
(A)[2638](B)[2648](C)[2649](D)[3749]
6.下面的程序执行后array的值为(A)
fork=1:
10
ifk>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
7.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
8.下列关于MATLAB关于变量和运算的说法不正确的是:
C
(A)每个变量代表一个矩阵,变量中的每个元素都看做复数
(B)临时变量ans的作用是暂存结果,下一次运算将前一次结果冲销
(C)系统提供了一些常用的常量(如pi),程序不允许对其值进行改变
(D)程序中使用的变量名对大小写敏感
9.下列关于MATLAB关于向量和矩阵的说法不正确的是:
B
(A)从数学的角度看,向量就是1×N或者N×1的矩阵
(B)两个矩阵能够进行乘法运算的条件是其阶数必须完全相同
(C)关系运算和初等数学函数可进行元素群运算,其自变量可为任意阶矩阵
(D)两个进行关系运算的矩阵必须有相同的阶数,输出的结果也是同阶矩阵
10.若X=D-1*B则X在MATLAB中的值可表示为:
B
(A)X=D/B(B)X=D\B
(C)X=D.\B(D)X=D./B
11.设p为某2×2矩阵,赋值语句u=p|~p,则u为C
(A)全0阵(B)对角阵
(C)全1阵(D)p的逆矩阵
12.下列关于MATLAB关于变量和运算的说法不正确的是:
B
(A)函数中的全局变量应在程序的起始部分注明
(B)变量名中第一个字符可以是英文字母,数字或其他符号
(C)MATLAB运算和存储时的数据仅有双精度(即64位)二进制
(D)一般数组的每一个元素都属于同一种数据类型
13.下列关于plot(x,y)命令的说法不正确的是:
D
(A)数组x和y必须具有相同长度
(B)在输入变量组的后面,在引号内部放入线型和颜色的标志符
(C)可以使用图形窗口的工具进行标注
(D)两次使用plot命令时,程序默认先后打开两个图形窗,分别进行绘图
14.a和b分别为两个多项式a(x)和b(x)的系数向量,实现两个多项式相乘运算的命令为:
C
(A)a*b(B)a.*b
(C)conv(a,b)(D)cross(a,b)
15.若X=B*D-1则X在MATLAB中的值可表示为A
(A)X=D/B(B)X=D\B
(C)X=D.\B(D)X=D./B
16.以下哪个说法是正确的(D)
(A)Matlab进行数值计算的表达精度与其指令窗口中的数值显示精度相同。
(B)Matlab指令窗口中显示的数值有效位数不能超过7位。
(C)输入二维数值数组时,需要用到逗号和分号,它们可以在中文状态下输入。
(D)历史指令窗口所记录的内容与diary指令所产生“日志”内容是不同的。
17.在图形指定位置加标注命令是(C)
A.title(x,y,’y=sin(x)’);B.xlabel(x,y,’y=sin(x)’);
C.text(x,y,’y=sin(x)’);D.legend(x,y,’y=sin(x)’);
18.下列哪个函数为插值函数(B)
A.P=polyfit(X,Y,3)B.Y1=interp1(X,Y,X1,’method’)
C.[Y,I]=sort(A,dim)D.R=corrcoef(X)
19.在循环结构中跳出循环,但继续下次循环的命令为(C)
A.return;B.break;C.continue;D.keyboard;
20.在循环结构中跳出循环,但继续下次循环的命令为(C)。
(A)return;(B)break(C)continue(D)keyboad
二、填空题
1.设x是一维数组,x的倒数第3个元素表示为x(end-2)
2.设y为二维数组,要删除y的第34行和48列,可使用的命令为
y(34,:
)=[];y(:
48)=[];
3.在while表达式,语句体,End循环语句中,表达式的值(非零)时表示循环条件为真,语句体将被执行,否则跳出该循环语句;
4.标点符号(分号;)可以使命令行不显示运算结果,(百分号%)用来表示该行为注释行。
5.产生4阶全0方阵的命令为zeros(4);产生3阶全1方阵的命令为ones(3)。
6.A=rand(2,5);b=size(A);c=length(A);则b和c的值分别为25和5。
7.用if判断语句判断80≥x>60,在MATLAB中if语言后的判断应写为ifx<=80&x>60。
8.为了使两个plot的图形在同一个坐标显示,可以使用holdon命令进行图形保持;可以使用gridon命令为图形添加网格。
9.MATLAB的工作空间中有三个变量v1,v2,v3,写出把它们保存到文件my_data.mat中的指令savemy_data;写出把my_data.mat文件中的变量读取到MATLAB工作空间内的指令loadmy_data。
10.MATLAB是“矩阵实验室(MatrixLaboratory)”的缩写,它是一种以矩阵运算为基础的交互式程序语言,是专门针对科学和工程中计算和绘图的需求而开发的。
11.在MATLAB桌面系统的各个窗口中,命令窗口是用户与MATLAB进行人机对话的主要环境。
它的提示符是>>,可以在提示符后键入MATLAB的各种命令并读出相应的结果。
12.MATLAB中的变量或常量都代表矩阵。
MATLAB启动时,就已在内部设定的复数的虚数部分用i或j表示。
13.现有赋值语句a=2+2==4,b=0:
3,则a的值为1,b的值为[0123]。
14.MATLAB的函数文件必须由function起头,所有MATLAB程序文件的后缀名为m。
15.MATLAB中,保持当前图形窗内容的命令为hold,关闭当前图形窗的命令为close。
16.给出矢量x(数组),Matlab提供了一个近似计算其微分的函数diff,它计算数组中元素间的差分。
对函数y=f(x),计算导数dy/dx的命令为diff(y)./diff(x)。
17.现有语句S=quad('2*x+1',0,3),则S的值为12。
18.MATLAB新建一个图形窗的命令为figure,清除当前图形窗的内容的命令是clf。
19.逻辑量只能取0(假)和1(真)两个值。
20.语句x=1:
-0.5:
-1,则x的值为[10.50-0.5-1],它是一个行向量(行或列)。
21.赋值语句a1=[12;45;89],则a1(2,:
)的值为[45]。
22.向量a=[230],语句b=polyval(a,2i),则b的值为-8+6i。
23.语句x=-1:
1;y=2*x;z=(y>=0).*y,则z的值为[002]。
24.语句a=2+2==4,则a的值为1。
25.变量str=‘PHYS’,则size(str)=[14],它是一个行向量(行或列)。
26.矩阵data=[384269;852031;472037],则max(data)的值为[854269]。
27.语句x=linspace(1,2,3),则x的值为[1.00001.50002.0000],它是一个行向量(行或列)。
28.设x=3+4i,则real(x)=3,imag(x)=4,conj(x)=3-4i。
29.分别使用梯形法和矩形法求函数的数值积分,采用的步长相同时,两种方法梯形法的精度高。
30.设有变量s1='a=2',s2='b=3',变量str=[s1;s2],则size(str)=[23]。
31.已知size(x)=8,则size(diff(x,4))=4。
32.a为多项式a(x)=2x3+4x2+6x+8的系数向量,求其根c的命令为roots(a),变量c的大小size(c)=3。
33.命令fplot('Phys',[0,2])完成的功能是画出函数Phys在[02]间的曲线。
34.三维图形视角(view)的缺省值是:
方位角为-37.5o,仰角为30o。
35.x为0~4pi、步长为0.1pi的向量,使用命令x=0:
0.1*pi:
4*pi创建。
36.输入矩阵
,使用全下标方式用A(2,2)取出元素“-5”,使用单下标方式用A(5)取出元素“-5”。
37.产生4阶全0方阵的命令为zeros(4);产生3阶全1方阵的命令为ones(3)。
38.在线形图型格式的设置中,字符r表示红色(颜色),字符字符b表示蓝色(颜色)。
39.在MATLAB中,矩阵的秩由函数rank来实现,单位矩阵由函数eye来实现。
40.MATLAB表达式3*2^3^2的结果是192。
41.条形图由函数bar来实现。
42.倘若要是对x进行赋值,从5到25,间隔是0.1,输入命令是x=5:
0.1:
25。
43.倘若要是对x进行赋值,从2到20,中间间隔100个点,输入命令是x=linspace(2,20,100)。
44.求逆矩阵的命令是inv,矩阵对角元素的提取和创建对角阵的命令是diag,求平方根的命令是sqrt,求绝对值的命令是abs,求行列式的值的命令是det,计算矩阵A的特征值和特征向量的函数命令是eig,用来清除图形的命令是clf。
45.MATLAB中Inf或inf表示无穷大,NaN或nan表示不是一个数。
46.MATLAB实现将全下标转换为单下标的指令为Sub2ind,据单下标换算出全下标的指令为Ind2sub。
47.Matlab中clf用于清除图形窗,clc用于清除指令窗中显示内容,clear用于清除MATLAB工作空间中保存的变量。
三、简答及编程题:
1.
(1)写出关系运算符中的等号、不等号、小于号、大于号、小于等于号和大于等于号
==~=<><=>=
(2)写出逻辑操作中逻辑“与”、逻辑“或”及逻辑“非”的符号
&|~
(3)并用语句表达“如果a等于b且c等于0就让d等于3,否则如果a大于b且c=1让d等于0,其余情况让d等于3”
ifa==b&c==0
d=3
elseifa>b&c==1
d=0
else
d=3
end
2.设
和
是两个10行10列的矩阵(数组),试说明命令A*B,A/B,A\B,A.*(B.^A),A./B,A.\B和sin(A).*exp(B)的涵义。
A*B:
A,B的矩阵乘法,
A/B:
矩阵A乘以B的逆,
A\B:
矩阵B乘以A的逆,
A.*(B.^A):
B的每个元素的对应A次幂乘以A对应的每个元素,
A./B:
A的每个元素除以B对应的每个元素,
A.\B:
B的每个元素除以A对应的每个元素,
sin(A).*exp(B):
A的每个元素的正弦与B对应的每个元素的指数求积。
3.设A为
数组,B为一个行数大于3的数组,请给出
(1)删除A的第4、8、12三列的命令;
(2)删除B的倒数第3行的命令;
(1)A(:
[4812])=[]
(2)B(end-2,:
)=[]
4.写出以下问题的命令,求下列联立方程的解,不需要给出解。
3x+4y-7z-12w=4
5x-7y+4z+2w=-3
x+8z-5w=9
-6x+5y-2z+10w=-8
(1)求系数矩阵的秩;
(2)求出方程组的解
a=[3,4,-7,-12;5,-7,4,2;1,0,8,-5;-6,5,-2,10];
c=[4;-3;9;-8];
b=rank(a)
d=a\c
5.设y=cos[0.5+((3sinx)/(1+x^2))],把x=0~2π间分为101点,画出以x为横坐标,y为纵坐标的曲线
x=linspace(0,2*pi,101);
y=cos(0.5+3.*sin(x)./(1+x.*x));
plot(x,y)
6.在[-10,10;-10,10]范围内画出以下函数的三维图形。
[X,Y]=meshgrid(-10:
0.5:
10);
a=sqrt(X.^2+Y.^2)+eps;
Z=sin(a)./a;
mesh(X,Y,Z);
7.简述MATLAB命令窗的主要作用。
命令窗口是MATLAB的主要交互窗口,用于输入命令并显示除图形以外的所有执行结果。
是MATLAB提供给用户使用的管理功能的人机界面,其管理功能包括:
管理工作空间中的变量、数据的输入输出的方式和方法,开发、调试、管理M文件和M函数的各种工具。
8.简述MATLAB如何解释命令窗口输入的指令。
分配变量空间;调用函数;运算;返回结果;打印显示
9.简述MATLAB函数的基本结构。
函数的基本结构包括函数名,输入变量,输出变量,函数体等
matlab的函数的基本结构是:
function输出变量=函数名(输入变量)
函数体
10.简述绘制二维图形的一般步骤。
绘制二维图形的一般步骤为:
曲线数据准备、选定图形窗及子图位置、调用二维曲线绘图指令、设置轴的范围、坐标分格线、图形注释、图形的精细操作。
11.MATLAB的变量命名有什么规则?
能用”NaN”来作为变量名吗,为什么?
变量可以包括数字、字母、下划线,必须以字母开头。
可以,因为符合变量名命名规则。
12.现有下列脚本程序,请分析该“for”循环执行情况并写出该程序运行结果
form=1:
4
forn=1:
4
H(m,n)=m^2+n^2
end
end
可知循环16次
H=251017
581320
10131825
17202532
13.简述M脚本文件和M函数文件的主要区别。
M脚本文件没有参数传递功能,但M函数文件有此功能。
M函数文件的格式有严格规定,它必须以“function”开头,其格式如下:
Function输出变量=函数名称(输入变量)
语句;
end;
当函数输入变量为向量输入(多输入)时,输入形式为[x1,x2,x3...]的一元向量形式;输出同理。
M函数文件的命名必须是其函数名,不可改变。
M脚本文件则为完成一固定功能的模块,其运行时产生的变量均为全局变量,区别于M函数的局部变量,并且没有参数传递。
14.简述绘制一个三维曲面所需步骤。
第一步:
定义x轴和y轴的取值范围;
第二步:
利用meshgrid函数将x轴和y轴取值范围内的X-Y平面离散化为一系列网格点;
第三步:
求得函数在X-Y平面这些离散点上的函数值;
第四步:
利用mesh或surf函数绘制三维曲面。
15.在MATLAB中,对于一元高次代数多项式:
如何表示?
如果x的某次幂的系数为零,如何处理?
在MATLAB中可以用它的系数向量a=[a
(1),a
(2),…,a(n),a(n+1)]来表示多项式。
如果x的某次幂的系数为零,这个零必须列入系数向量。
16.如果使用命令x=fzero('qx',-3)求解方程:
写出函数文件qx的内容。
functiony=qx(x)
y=x.*sin(x)+cos(x.^2)-3*sin(x).^2.*cos(x);
17.简述对两个矩阵A和B的运算,A.*B与A*B,A./B与A/B有何不同。
A.*B为元素群组的乘法运算,对各对应元素进行相乘差;
A*B为矩阵相乘;
A./B为元素群组的除法运算,对各对应元素进行相除;
A/B为矩阵除法。
18.在MATLAB中,命令[t,y]=ode23('odefun',tspan,y0)能够实现什么功能?
其中odefun,tspan,y0各代表什么意义?
该命令用来求一阶微分方程组在给定初始值时的解;
各参数的意义为:
odefun:
描述导数的函数f(t,y)
tspan:
自变量的初值和终值数组
y0:
输出变量的初值
19.在MATLAB中,p=polyfit(x,y,n)用于实现什么功能?
其中x,y,n及结果p代表什么意义?
该命令用来进行多项式曲线拟合。
其中x,y是已知的N个数据点坐标向量;
n是用来拟合的多项式次数;
p是求出的多项式的系数。
20.设t为时间数组0到4π,y是一个随t作衰减振荡的变量:
现以0.5为时间间隔,做出以时间t为横坐标,y为纵坐标的曲线。
t=0:
0.5;4*pi;
y=exp(-0.1*t).*sin(t) ;
plot(t,y)
21.简述MATLAB提供的两种为等间隔数组赋值的命令,并说明命令的使用格式。
两种方式分别为:
t=[初值:
增量:
终值]
t=linspace(起始数,结束数,数量)
22.在MATLAB中,命令x=fzero('fun',x0)能够实现什么功能?
fun,x0,x各项代表什么意义?
该命令用来求单变量函数等于零时变量的根。
各项的意义为:
x找到的零点,函数值在此会改变符号;
fun用M文件或指令建立的单变量函数
x0猜测的初始值或搜寻零点的区间[x0
(1),x0
(2)]
23.求100的阶乘:
prd=100*99*98*97*…*1
prd=1;
n=100;
fork=1:
n
prd=prd*k;
end
prd
24.现有两个多项式a(x)=2x3+4x2+6x+8和b(x)=3x2+6x,写出将两个多项式相加和相乘的MATLAB命令。
a=[2,4,6,8];
b=[0,3,6,0];
c=a+b
d=conv(a,b)
25.二次曲面方程
,在已有的程序基础上,编程画出该曲面。
clear,clf,holdon
a=3;b=4;c=1;N=500;
xgrid=linspace(-abs(a),abs(a),N);
ygrid=linspace(-abs(b),abs(b),N);
......(请将程序补充完整)
[x,y]=meshgrid(xgrid,ygrid);%自变量x,y矩阵
z=c*sqrt(1-y.*y/b/b-x.*x/a/a);
z1=real(z);%取z的实部z1(去掉虚数)
surf(x,y,z1),surf(x,y,-z1);
26.说明MATLAB命令yi=interp1(x,y,xi,′method′)的功能,以及参量x、y、method、yi的意义。
该命令用来进行多项式插值。
x,y为已知数据点集,同长度。
xi为所求插值范围内的x坐标集,长度任意
yi是插值计算后得到的对应数据点集x的y坐标
‘method’为插值函数的类型选项
27.现有两个矢量A=2i+3j+6k和B=8i+9j+2k,写出将两个矢量进行矢量积和标量积的命令。
a=[2,3,6];b=[8,9,2];
cross(a,b)%矢量积
dot(a,b)%标量积
29.求y=sin(x)在[-π,π]上的导数,画出原函数曲线和导函数曲线,x的间隔为0.01π。
x=-pi:
0.01*pi:
pi;%在[-π,π]上每隔0.01π取一个值
y=sin(x);%建立函数关系
dy=diff(y)./diff(x);%计算各点上的导数
plot(x,y);%画出原函数曲线
holdon%图形控制,不抹掉旧图
x(length(x)-1)=[];%将x的最后一个元素去掉
plot(x,dy,'r.')%绘制导函数曲线
30.写出矩形法求解数值积分的基本思路。
用矩形法求数值积分,设x向量的长度为n,即将积分区间分为n-1段,各段长度为Δxi(i=1,2,…,n-1)。
步长的变化用循环语句实现。
算出各点的yi(i=1,2,…,n+1),数值积分公式为
31.计算
与
的数组乘积。
a=[6,9,3;2,7,5];
b=[2,4,1;4,6,8];
c=a.*b
32.对于
,如果
,
,求解
。
A=[4,9,2;7,6,4;3,5,7];
B=[37;26;28];
X=A\B
33.求解多项式
的根。
a=[1-7240];
x=roots(a)
34.矩阵
,计算a的行列式和逆矩阵。
a=[4,2,-6;7,5,4;3,4,9];
deta=det(a)
inva=inv(a)
35.简述MATLAB历史指令窗的主要作用。
历史指令窗记录着用户在MATLAB指令窗中所输入过的所有指令。
历史记录包括:
每次开启MATLAB的时间,每次开启MATLAB后在指令窗中运行过的所有指令。
应用功能有单行或多行指令的复制和运行、生成M文件等。
36.数组运算和矩阵运算的运算符有什么区别?
在加、减运算时数组运算和矩阵运算的运算符相同,乘、除和乘方运算时,在矩阵运算的运算符前加一个点即为数组运算,如a*b为矩阵乘
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 复习题
![提示](https://static.bdocx.com/images/bang_tan.gif)