MATLAB课程考题.docx
- 文档编号:9367877
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:20
- 大小:250.49KB
MATLAB课程考题.docx
《MATLAB课程考题.docx》由会员分享,可在线阅读,更多相关《MATLAB课程考题.docx(20页珍藏版)》请在冰豆网上搜索。
MATLAB课程考题
2012年春季学期
MATLAB课程考查题
一、必答题:
1.简述MATLAB组成部分?
答:
MATLAB系统由5个主要的部分构成:
(1)开发环境(developmentEnvironment):
为MATLAB用户或程序编制员提供的一套应用工具和设施。
由一组图形化用户接口工具和组件集成:
包括MATLAB桌面、命令窗口、命令历史窗口、编辑调试窗口及帮助信息、工作空间、文件和搜索路径等浏览器;
(2)MATLAB数学函数库(MathFunctionLibrary):
数学和分析功能在MATLAB工具箱中被组织成8个文件夹。
elmat初步矩阵,和矩阵操作。
elfun初步的数学函数。
求和、正弦、余弦和复数运算等
specfun特殊的数学函数。
矩阵求逆、矩阵特征值、贝塞尔函数等;
matfun矩阵函数-用数字表示的线性代数。
atafun数据分析和傅立叶变换。
polyfun插值,多项式。
funfun功能函数。
sparfun稀疏矩阵。
(3)MATLAB语言:
(MATLABLanguage)一种高级编程语言(高阶的矩阵/数组语言),包括控制流的描述、函数、数据结构、输入输出及面对对象编程;
(4)句柄图形:
(HandleGraphics)MATLAB制图系统具有2维、3维的数据可视化,图象处理,动画片制作和表示图形功能。
可以对各种图形对象进行更为细腻的修饰和控制。
允许你建造完整的图形用户界面(GUI),以及建立完整的图形界面的应用程序。
制图法功能在MATLAB工具箱中被组织成5个文件夹:
1.graph2d二维数图表。
2.graph3d三维图表。
3.specgraph专业化图表。
4.graphics制图法。
5.uitools图形用户界面工具。
(5)应用程序接口:
(AppliedFunctionInterface)MATLAB的应用程序接口允许用户使用C或FORTRAN语言编写程序与MATLAB连接。
2.说明使用M文件编辑/调试器的方法和优点?
答:
方法:
(1)打开文件编辑器:
(Openingthefileeditor)最简单的方法是在操作桌面的工具栏上选择新建文件键(NewM-File)或打开已有文件键(OpenFile),也可以在命令窗口输入命令edit建立新文件或输入editfilename,打开名为filename的M文件;
(2)编写程序内容:
(Composetheprogramcontent)编写新的文件或修改已有文件;(3)保存文件:
(savefile)文件运行前必须完成保存操作,与一般的文件编辑保存操作相同;(4)运行文件:
(runningfile)在命令窗口输入文件名即可运行。
如要在编辑器中直接完成运行,可在编辑器的Debug菜单下saveandrun选项,或按Run快捷键,最快捷的方法是直接按F5键执行运行。
优点:
具有用法简易、可灵活运用、程序结构强又兼具延展性的优点,具体表现为:
(1)功能强大的数值运算;
(2)先进的资料视觉化功能;(3)高阶但简单的程序环境;(4)开放及可延伸的架构;(5)丰富的程序工具箱
3.存储在工作空间中的数组能编辑吗?
如何操作?
答:
能进行编辑。
Matlab在工作空间窗口中设计有专门的内存数组编辑器,实现对数组的相关操作,为了对变量的内容进行观察、编辑与修改,可以用三种方法打开内存数组编辑器。
(1)双击变量名;
(2)选择该窗口工具栏上的打开图标;(3)鼠标指向变量名,点击鼠标右键,弹出选择菜单,然后选项操作。
4.在MATLAB中有几种获得帮助的途径?
答:
(1)帮助浏览器:
选择view菜单中的Help菜单项或选择Help菜单中的MATLABHelp菜单项可以打开帮助浏览器;
(2)help命令:
在命令窗口键入“help”命令可以列出帮助主题,键入“help函数名”可以得到指定函数的在线帮助信息;(3)lookfor命令:
在命令窗口键入“lookfor关键词”可以搜索出一系列与给定关键词相关的命令和函数;(4)模糊查询:
输入命令的前几个字母,然后按Tab键,就可以列出所有以这几个字母开始的命令和函数。
5.在进行算术运算时,数组运算和矩阵运算各有什么特点,如何区分两种运算?
左除与右除有什麽区别?
答:
数组运算是在数组中对应元素之间进行运算;矩阵运算是将标量当作1×1阶矩阵,一维数组当作一行或一列的矢量(即1×n阶或n×1阶的矩阵),二维数组当作m×n阶矩阵,然后按照矩阵的运算规则进行运算。
区别:
二者输入形式和书写方法相同,差别仅在于使用不同的运算符号,执行不同的计算过程,数组的运算是对应元素之间的运算,而矩阵运算是根据矩阵的运算规则进行。
矩阵除法包括左除和右除,条件:
a矩阵是非奇异方阵,则a\b(左除)和b/a(右除)都可以实现。
a\b等效于a矩阵的逆左乘b矩阵,即a\b=inv(a)*b,b/a等效于a矩阵的逆右乘b矩阵,即b/a=b*inv(a).通常x=a\b是a*x=b的解,x=b/a是x*a=b的解。
一般a\b≠b/a,右除与左除的关系为:
(b/a)’=(a’\b’)
6.命令文件与函数文件的主要区别是什么?
答:
(1)命令文件是一系列命令的组合,函数文件的第一行必须用function说明;
(2)命令文件没有输入参数,也不用返回参数,函数文件可以接受输入参数,也可以返回参数;(3)命令文件处理的变量为工作空间变量,函数文件处理的变量为函数内部的局部变量,也可以处理全局变量。
7.GUI开发环境中提供了哪些方便的工具?
各有什么用途?
答:
MATLAB可视化的创建图形用户接口(GUI)工具包括:
(1)布局编辑器(LayoutEdtor)-------在图形窗口中加入及安排对象。
(2)几何排列工具(AlignmentTool)-----调整各对象相互之间的几何关系和位置
(3)属性编辑器(PropertyInspector)-----查询并设置属性值
(4)对象浏览器(ObjectBrowser)-----用于获得当前MATLAB图形用户界面程序中所有的全部对象信息,对象的类型,同时显示控件的名称和标识,在控件上双击鼠标可以打开该控件的属性编辑器。
(5)菜单编辑器(MenuEditor)-----建立窗口菜单条的菜单和任何构成布局的弹出菜单
8.if语句有几种表现形式?
答:
(1)if表达式
语句体
end
(2)if表达式
语句体1
else
语句体2
end
(3)if表达式1
语句体1
elseif表达式2
语句体2
end(4)if表达式1
语句体1
elseif表达式2
语句体2
else语句体3
end
9.轴对象是使用的最多的图形对象之一,那么轴对象是哪个对象的子对象,又
是那些对象的父对象?
答:
轴对象在图形窗口中定义一个区域,并确定该区域中子对象的方向,轴是图形窗口的子对象,又是图象、灯光、线、块、表面和文字的父对象。
10.什么是图形句柄?
图形句柄有什么用途?
答:
图形对象的句柄是MATLAB显示图形数据和建立图形用户接口的基础,每个对象从产生时起就被赋予了一个唯一的标识,这种标识就是该对象的句柄。
利用句柄就可以操纵一个已经存在的图形对象的特性(属性)。
11.已知三维图形视角的缺省值是方位角为-37.5°,仰角为30°,写出将方位角顺时针旋转20角的命令。
答:
>>view(-57.5,30)
12.什么是Simulink?
简述Simulink的步骤。
答:
Simulink是一个用来对动态系统进行建模、仿真和分析的软件包,它支持连续的、离散的或二者混合的线性和非线性系统,也支持具有多种采样速率的多速率系统。
Simulink的三大步骤(procedureofSimulink):
1、模型创建与定义、(Modelcreatinganddefinition)
2、模型的分析、(Modelanalyzing)
3、模型的修正。
(Modelmodifying)
13.计算
与
的数组乘积。
解:
a=[6,9,3;2,7,5];
b=[2,4;4,6;1,8];
a*b
ans=
51102
3790
14.对于
,如果
,
,求解X。
解:
A=[4,9,2;7,6,4;3,5,7];
B=[37;26;28];
X=inv(A)*B
X=
-0.5118
4.0427
1.331815.
symsx
solve('x^3-7*x^2+2*x+4=0')
15.求解多项式x3-7x2+2x+40的根。
解:
symsx
solve('x^3-7*x^2+2*x+40=0')
ans=
-2
4
5
16.求解在x=8时多项式(x-1)(x-2)(x-3)(x-4)的值。
解:
x=8;
y=(x-1)*(x-2)*(x-3)*(x-4)
y=
840
17.计算多项式除法(3x3+13x2+6x+8)/(x+4)。
解:
symsx
y=3*x^3+13*x^2+6*x+8;
A=factor(y);
B=A/(x+4)
B=
3*x^2+x+218.
18.计算多项式
的微分和积分。
解:
symsx
y=sqrt(4*x^4-12*x^3-14*x^2+5*x+9);
df=diff(y)
df=
-(-16*x^3+36*x^2+28*x-5)/(2*(4*x^4-12*x^3-14*x^2+5*x+9)^(1/2))
symsx
f=4*x^4-12*x^3-14*x^2+5*x+9;
nf=int(f)
nf=
(4*x^5)/5-3*x^4-(14*x^3)/3+(5*x^2)/2+9*x
19.有一正弦衰减数据y=sin(x).*exp(-x/10),其中x=0:
pi/5:
4*pi,用三次样条法进行插值。
答:
>>x=0:
pi/5:
4*pi;
y=sin(x).*exp(-x/10)
x1=0:
0.1:
4*pi;
y1=spline(x,y,x1);
plot(x,y,'or',x1,y1,'k')
y=
Columns1through9
00.55200.83870.78770.45720.0000-0.4032-0.6126-0.5753
Columns10through18
-0.3339-0.00000.29450.44750.42020.24390.0000-0.2151-0.3268
Columns19through21
-0.3069-0.1781-0.0000
20.符号函数绘图法绘制函数x=sin(3t)cos(t),y=sin(3t)sin(t)的图形,t的变化范
围为[0,2]。
解:
t=0.1:
0.1^5*pi:
2*pi;
x=sin(3*t)*cos(t);
y=xin(3*t)*sin(t);
plot(x,y)
21.有一组测量数据满足
,t的变化范围为0~10,用不同的线型和标记点画出a=0.1、a=0.2和a=0.5三种情况下的曲线,并添加标题
,用箭头线标识出各曲线a的取值,添加标题
和图例框。
解:
x=0:
0.01:
10;
y1=exp(-0.1*x);
y2=exp(-0.2*x);
y3=exp(-0.5*x);
plot(x,y1,'b',x,y2,'R',x,y3,'k')
xlabel('x')
ylabel('y')
title('SineandCosineCurve')
gtext('y=exp(-0.1*x)')
gtext('y=exp(-0.2*x)')
gtext('y=exp(-0.5*x)')
22.建立一个简单模型,用信号发生器产生一个幅度为2V、频率为0.5Hz的正弦
波,并叠加一个0.1V的噪声信号,将叠加后的信号显示在示波器上并传送到
工作空间。
解:
t=-2:
0.1^3:
2;
y1=2*sin(t*pi);
y2=2*sin(t*pi)+0.1*sin(t*pi);
plot(t,y1,'r',t,y2,'k')
title('SineandCosineCurve')
gtext('y=2*sin(t*pi)')
gtext('y=2*sin(t*pi)+0.1*sin(t*pi)'
23.编制一个解数论问题的函数文件:
取任意整数,若是偶数,则用2除,否则乘3加1,重复此过程,直到整数变为1。
解:
A=rand(1,1);
a=A(1,1);
fprintf('a=%.0f\n',a);
t=1;
whilet==1
ifmod(a,2)==0;
a=a/2;
fprintf('a=%.0f\n',a);
else
a=a*3+1;
fprintf('a=%.0f\n',a);
end
ifa==1
t=0;
fprintf('a=%.0f\n',a);
else
t=1;
end
end
24.矩阵
,计算a的行列式和逆矩阵。
解:
a=[4,2,-6;7,5,4;3,4,9];
det(a)
inv(a)
ans=
-64
ans=
-0.45310.6562-0.5937
0.7969-0.84370.9062
-0.20310.1562-0.0937
25.用符号函数法求解方程at2+b*t+c=0。
解:
symst
solve('a*t^2+b*t+c=0')
ans=
-(b+(b^2-4*a*c)^(1/2))/(2*a)
-(b-(b^2-4*a*c)^(1/2))/(2*a)
二、选答题(在下列题中选答5题):
1.有一组测量数据如下表所示,数据具有y=x2的变化趋势,用最小二乘法求
解y。
x
1
1.5
2
2.5
3
3.5
4
4.5
5
y
-1.4
2.7
3
5.9
8.4
12.2
16.6
18.8
26.2
答:
>>x=[11.522.533.544.55];%实验数据
y=[-1.42.735.98.412.216.618.826.2];
p=polyfit(x,y,2)%做二阶多项式拟合
x2=1:
0.1:
5;
y2=polyval(p,x2);%根据给定值计算多项式结果
plot(x,y,'o',x2,y2)
p=
0.91950.8898-2.2105
2.
,用符号微分求df/dx。
解:
symsx
f='[a,x^2,1/x;exp(a*x),log(x),sin(x)]';
diff(f,x)
ans=
[0,2*x,-1/x^2]
[a*exp(a*x),1/x,cos(x)]
3.
,当x和y的取值范围均为-2到2时,用建立子窗口的方法在同
一个图形窗口中绘制出三维线图、网线图、表面图和带渲染效果的表面图。
解:
x=-2:
0.1:
2;
y=x;
[x,y]=meshgrid(x,y);
subplot(2,2,1)
z=x*exp(-x^2-y^2);
plot3(x,y,z)
subplot(2,2,2)
mesh(x,y,z)
subplot(2,2,3)
surf(x,y,z)
4.用subplot语句在一个图形窗口上开多个大小不等的子窗口进行绘图并添加注
释,见图。
图形具体内容及各图所占位置可自选。
解:
x=0:
pi/10:
2*pi;
y1=sin(x);
subplot(1,2,1);plot(x,y1,'b')
x=-5:
0.2:
5;y=x;
[x,y]=meshgrid(x,y);
subplot(2,2,2);
mesh(x,y,z)
x=[15,32,58,20,10];
subplot(2,2,4)
explode=[0,0,0,0,1];
pie(x,explode)
5.用单选框做一个如图所示的界面,通过选择不同的单选框来决定使用不同的色
彩图。
提示:
(1)建立坐标轴对象,用于显示图形;
(2)建立建立五个单选框,用于选择不同的色图;
(3)callback函数的内容为:
functionvarargout=radiobutton1_Callback(h,eventdata,handles,varargin)
set(handles.radiobutton1,'value',1)
set(handles.radiobutton2,'value',0)
set(handles.radiobutton3,'value',0)
set(handles.radiobutton4,'value',0)
set(handles.radiobutton5,'value',0)
colormap(jet)
%--------------------------------------------------------------------
functionvarargout=radiobutton2_Callback(h,eventdata,handles,varargin)
set(handles.radiobutton1,'value',0)
set(handles.radiobutton2,'value',1)
set(handles.radiobutton3,'value',0)
set(handles.radiobutton4,'value',0)
set(handles.radiobutton5,'value',0)
colormap(hsv)
%--------------------------------------------------------------------
functionvarargout=radiobutton3_Callback(h,eventdata,handles,varargin)
set(handles.radiobutton1,'value',0)
set(handles.radiobutton2,'value',0)
set(handles.radiobutton3,'value',1)
set(handles.radiobutton4,'value',0)
set(handles.radiobutton5,'value',0)
colormap(hot)
%--------------------------------------------------------------------
functionvarargout=radiobutton4_Callback(h,eventdata,handles,varargin)
set(handles.radiobutton1,'value',0)
set(handles.radiobutton2,'value',0)
set(handles.radiobutton3,'value',0)
set(handles.radiobutton4,'value',1)
set(handles.radiobutton5,'value',0)
colormap(pink)
%--------------------------------------------------------------------
functionvarargout=radiobutton5_Callback(h,eventdata,handles,varargin)
set(handles.radiobutton1,'value',0)
set(handles.radiobutton2,'value',0)
set(handles.radiobutton3,'value',0)
set(handles.radiobutton4,'value',0)
set(handles.radiobutton5,'value',1)
colormap(copper)
6.建立一个简单模型,产生一组常数(1×5),再将该常数与其5倍的结果合成
一个二维数组,用数字显示器显示出来。
解:
a=rand(1,5);
b=5*a;
c=[a;b]
c=
0.81470.90580.12700.91340.6324
4.07364.52900.63494.56693.1618
7.用Matlab编制一个解决你所在学科内某小问题的应用程序。
解:
某工厂利用甲乙两种原料生产A1,A2,A3三种产品。
每月可供应的原料数量(单位:
t),每万件产品所需各种原料的数量及每万件产品的价格如表8-5所示:
原料
每万件产品所需原料(t)
每月原料供应量(t)
A1
A2
A3
甲
4
3
1
180
乙
2
6
3
200
价格(万元/万件)
12
5
4
试制定每月的最优生产计划,使得总收益最大。
解:
设生产A1,A2,A3的产量分别为变量
,则:
程序如下:
c=[-12,-5,-4];
A=[4,3,1;2,6,3];
b=[180;200];
vlb=[0;0;0];
vub=[];
[x,fval]=linprog(c,A,b,[],[],vlb,vub)
运行结果:
x=
34.0000
0.0000
44.0000
fval=
-584.0000
因此A1=34,A2=0,A3=44时受益最大,最大值为584.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 课程 考题