MATLAB.docx
《MATLAB.docx》由会员分享,可在线阅读,更多相关《MATLAB.docx(13页珍藏版)》请在冰豆网上搜索。
![MATLAB.docx](https://file1.bdocx.com/fileroot1/2023-4/16/5b084f4d-ed03-4b80-a646-f1e652028c41/5b084f4d-ed03-4b80-a646-f1e652028c411.gif)
MATLAB
2012年春季学期
MATLAB课程考查题
姓名:
张甦学号:
1110100123学院:
电气学院专业:
测控技术与仪器
一、必答题:
1,简述MATLAB组成部分?
答:
MATLAB有五部分组成
(1)开发环境(developmentEnvironment);
(2)MATLAB数学函数库(MathFunctionLibrary);(3)MATLAB语言:
(MATLABLanguage);(4)句柄图形:
(HandleGraphics);(5)应用程序接口:
(AppliedFunctionInterface).
2,说明使用M文件编辑/调试器的方法和优点?
答:
(1)功能强大的数值运算:
在MATLAB环境中,有超过500种数学、统计、科学及工程方面的函数可使用,函数的标示自然,使得问题和解答像数学式子一般简单明了,让使用者可全力发挥在解题方面,而非浪费在电脑操作上。
(2)先进的资料视觉化功能:
MATLAB的物件导向图形架构让使用者可执行视觉数据分析,并制作高品质的图形,完成科学性或工程性图文并茂的文章。
(3)高阶但简单的程序环境:
做为一种直译式的程序语言,MATLAB让使用者在短时间内写完程序,所花的时间约为用FORTRAN或C的几分之一,而且不需要编译(compile)及联结(link)即能执行,同时包含了更多及更容易使用的内建功能。
(4)开放及可延伸的架构:
MATLAB容许使用者接触它大多数的数学原始码,监视运算法,更改现存函数,甚至加入自己的函数使MATLAB成为使用者所须要的环境。
(5)丰富的程序工具箱:
MATLAB拥有多于40种的程序工具箱,这些工具箱将套装前软件的优点,与一个灵活的开放但容易操作的环境融合,提供了使用者在特别应用领域所需之许多函数。
现有工具箱主要有:
符号运算(利用MapleV的计算核心执行)、影像处理、统计分析、讯号处理、神经网路、模拟分析、控制系统、即时控制、系统确认、强建控制、弧线分析、最佳化、模糊逻辑、mu分析及合成、化学计量分析等几大类别。
3,存储在工作空间中的数组能编辑吗?
如何操作?
答:
能。
Matlab在此窗口中设计有专门的内存数组编辑器,实现对数组的相关操作,为了对变量的内容进行观察、编辑与修改,可以用三种方法打开内存数组编辑器(工作空间)。
*双击变量名;*选择该窗口工具栏上的打开图标;*鼠标指向变量名,点击鼠标右键,弹出选择菜单,然后选项操作
4,在MATLAB中有几种获得帮助的途径?
答:
共有五种途径:
1.帮助命令help;2.帮助窗口;3.MATLAB帮助界面;4.打印在线帮助手册;5.MathWorks公司网站。
TheMathWorks,Inc.网址:
5,在进行算术运算时,数组运算和矩阵运算各有什么特点,如何区分两种运算?
左除与右除有什麽区别?
答:
1.数组运算和矩阵运算二者输入形式和书写方法相同,差别仅在于使用不同的运算符号,执行不同的计算过程,数组的运算是对应元素之间的运算,而矩阵运算是根据矩阵的运算规则进行。
2.在加减运算中二者相同,没区分;矩阵运算符的表示方法与一般的运算符相同(*,/,\),数组的表示法就是在矩阵运算符表示法的前面加上“.”即可。
比如说:
“.*”“./”“.\”“.^”。
3.对于矩阵除法,右除与左除的关系为:
(b/a)’=(a’\b’),a\b等效于a矩阵的逆左乘b矩阵,即a\b=inv(a)*b,b/a等效于a矩阵的逆右乘b矩阵,即b/a=b*inv(a);对于数组除法,符号“.\”或“./”,运算结果相同。
6,命令文件与函数文件的主要区别是什么?
答:
函数文件区别于命令文件之处在于命令文件的变量在文件执行完成后保留在工作空间中,而函数文件内定义的变量只在函数文件内起作用,文件执行完后即被清除
7,GUI开发环境中提供了哪些方便的工具?
各有什么用途?
答:
MATLAB可视化的创建图形用户接口(GUI)工具包括:
*布局编辑器(LayoutEdtor)-------在图形窗口中加入及安排对象。
*几何排列工具(AlignmentTool)-----调整各对象相互之间的几何关系和位置
*属性编辑器(PropertyInspector)-----查询并设置属性值
*对象浏览器(ObjectBrowser)-----用于获得当前MATLAB图形用户界面程序中所有的全部对象信息,对象的类型,同时显示控件的名称和标识,在控件上双击鼠标可以打开该控件的属性编辑器。
*菜单编辑器(MenuEditor)-----建立窗口菜单条的菜单和任何构成布局的弹出菜单
8,if语句有几种表现形式?
答:
有三种表现形式:
if-end、if-else-end、if-elseif-end。
9,轴对象是使用的最多的图形对象之一,那么轴对象是哪个对象的子对象,又
是那些对象的父对象?
答:
轴对象是图形窗口的子对象,而其又是计算机屏幕的子对象,轴对象是所有绘图对象的父对象
10,什么是图形句柄?
图形句柄有什么用途?
答:
图形对象的句柄是MATLAB显示图形数据和建立图形用户接口的基础,每个对象从产生时起就被赋予了一个唯一的标识,这种标识就是该对象的句柄。
利用句柄就可以操纵一个已经存在的图形对象的特性(属性)。
比如说:
Set和get函数用于设置和获取指定句柄对象的属性值。
11,已知三维图形视角的缺省值(即默认值)是方位角为-37.5°,仰角为30°,写出将方位角顺时针旋转20角的命令。
答:
view([-67.5,30])
12,什么是Simulink?
简述Simulink的步骤。
答:
Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。
在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。
1.打开Simulink模块2.为待建模型,开启空白模型窗3.根据数学模型,在Simulink的模块库中选择所学的模块,并将其复制到空白模型窗。
3.根据理论数学模型,从系统角度出发,借助鼠标勾画各模块将的信号连线,使之成为系统4.再根据经验或采用默认值的方法,对其各模块的非结构参数进行设置后,对仿真解算器和仿真终止时间进行设置。
5.给兴建的模型起适当的名字加以保存。
5.运行Simulink模块模型,并根据情况进行适当的调试7.保存调试好的Sinulink模型,以供仿真研究使用
13,计算
与
的数组乘积。
a.*b=
12363
84240
14对于
,如果
,
,求解X。
答:
X=A\B
-0.5118
4.0427
1.3318
15,求解多项式x3-7x2+2x+40的根。
答:
①a=[3,-7,2,40]
②r=roots(a)
r=
2.0322+1.8901i
2.0322-1.8901i
-1.7311
16,求解在x=8时多项式(x-1)(x-2)(x-3)(x-4)的值。
答:
a=[1234]
pa=poly(a)
ppa=poly2sym(pa)
得840
17,计算多项式除法(3x3+13x2+6x+8)/(x+4)。
c=[31368];
[q1,r1]=deconv(c,[1,4])
cc=conv(q1,[1,4])
test=((c-r1)==cc)
f=poly2sym(q1)
q1=
312
r1=
0000
cc=
31368
test=
1111
f=
3*x^2+x+2
18,计算多项式
的微分和积分。
答:
>>a=[4-12-1459];
b=polyder(a);
>>f=poly2sym(b)
f=
16*x^3-36*x^2-28*x+5
>>f1=diff(f)
f1=
48*x^2-72*x-28
19,有一正弦衰减数据y=sin(x).*exp(-x/10),其中x=0:
pi/5:
4*pi,用三次样条法进行插值。
例:
有一正弦衰减数据y=sin(x).*exp(-x/10),其中x=0:
pi/5:
4*pi,用三次样条法进行插值。
未插值:
x0=0:
pi/5:
4*pi;
y0=sin(x0).*exp(-x0/10);
plot(x0,y0)
方法1:
x0=0:
pi/5:
4*pi;
y0=sin(x0).*exp(-x0/10);
x=0:
pi/20:
4*pi;
y=spline(x0,y0,x);
plot(x0,y0,'or',x,y,'b')
方法2:
x0=0:
pi/5:
4*pi;
y0=sin(x0).*exp(-x0/10);
x=0:
pi/20:
4*pi;
y=interp1(x0,y0,x,’splin’)
plot(x0,y0,'or',x,y,'b')
20,.符号函数绘图法绘制函数x=sin(3t)cos(t),y=sin(3t)sin(t)的图形,t的变化范
围为[0,2]。
答:
symst
x=sin(3*t)*cos(t);
y=sin(3*t)*sin(t);
ezplot(x,y,[0,2*pi])
21,有一组测量数据满足
,t的变化范围为0~10,用不同的线型和标记点画出a=0.1、a=0.2和a=0.5三种情况下的曲线,并添加标题
,用箭头线标识出各曲线a的取值,添加标题
和图例框。
。
答:
>>t=0:
pi/100:
10;
y=exp(-0.1*t);
y2=exp(-0.2*t);
y3=exp(-0.5*t);
plot(t,y,'--',t,y2,'*',t,y3,':
')
>>title('y=e^-at')
>>text(5,exp(-0.1*5),'\leftarrowy=e^-0.1*t')
>>text(5,exp(-0.2*5),'\leftarrowy=e^-0.2*t')
>>text(5,exp(-0.5*5),'\leftarrowy=e^-0.5*t')
22,建立一个简单模型,用信号发生器产生一个幅度为2V、频率为0.5Hz的正弦
波,并叠加一个0.1V的噪声信号,将叠加后的信号显示在示波器上并传送到
工作空间。
23编制一个解数论问题的函数文件:
取任意整数,若是偶数,则用2除,否则乘3加1,重复此过程,直到整数变为1。
答:
functionz=shu(x)
whilex>1
ifrem(x,2)==0
x=x/2;
else
x=x*3+1;
end
end
z=x;
24,矩阵
,计算a的行列式和逆矩阵。
det(a)=-64
inv(a)=-0.45310.6562-0.5937
0.7969-0.84370.9062
-0.20310.1562-0.0937
25用符号函数法求解方程at2+b*t+c=0。
答:
>>symsabct
>>f=a*t*t+b*t+c
>>result=solve(f)
result=
1/2/a*(-b+(b^2-4*a*c)^(1/2))
1/2/a*(-b-(b^2-4*a*c)^(1/2))
二、选答题(在下列题中选答5题):
1.有一组测量数据如下表所示,数据具有y=x2的变化趋势,用最小二乘法求
解y。
2.
,用符号微分求df/dx。
3.
,当x和y的取值范围均为-2到2时,用建立子窗口的方法在同
一个图形窗口中绘制出三维线图、网线图、表面图和带渲染效果的表面图。
4.用subplot语句在一个图形窗口上开多个大小不等的子窗口进行绘图并添加注
释,见图。
图形具体内容及各图所占位置可自选。
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倍的结果合成
一个二维数组,用数字显示器显示出来。
7.用Matlab编制一个解决你所在学科内某小问题的应用程序。