哈工大matlab考查题解答.docx
《哈工大matlab考查题解答.docx》由会员分享,可在线阅读,更多相关《哈工大matlab考查题解答.docx(21页珍藏版)》请在冰豆网上搜索。
![哈工大matlab考查题解答.docx](https://file1.bdocx.com/fileroot1/2022-11/16/73884a48-44ca-4398-8b43-453a84856ac6/73884a48-44ca-4398-8b43-453a84856ac61.gif)
哈工大matlab考查题解答
2013年春季学期
MATLAB课程考查题
一、必答题:
1.matlab常见的数据类型有哪些?
各有什么特点?
(1)numeric(数值):
包括整数和浮点数,缺省状态下matlab将所有的数看作是双精度的浮点数。
(2)char(字符):
字符串必须用单引号括起来,是由多个字符组成的字符行向量。
(3)logical(逻辑):
仅有TRUE和FALSE两个值,一般用于关系运算或逻辑运算。
(4)cell(单元、细胞、元胞):
可以把不同类型的数据纳入到一个变量中,不要求相同的数据类型,下标用大括号括起来。
(5)struct(结构):
结构是包含已命名“数据容器”或字段的数组。
结构中的字段可以包含任何数据。
2.MATLAB中有几种帮助的途径?
(1)帮助浏览器:
选择view菜单中的Help菜单项或选择Help菜单中的MATLABHelp菜单项可以打开帮助浏览器;
(2)help命令:
在命令窗口键入“help”命令可以列出帮助主题,键入“help函数名”可以得到指定函数的在线帮助信息;
(3)lookfor命令:
在命令窗口键入“lookfor关键词”可以搜索出一系列与给定关键词相关的命令和函数
(4)模糊查询:
输入命令的前几个字母,然后按Tab键,就可以列出所有以这几个字母开始的命令和函数。
3.Matlab常见的哪三种程序控制结构及包括的相应的语句?
(1)顺序结构:
数据的输入-A=input(提示信息,选项);
数据的输出-disp(输出项)
程序的暂停-pause(延迟秒数)
(2)选择结构:
if条件语句组;else语句组;end
Switch表达式case值1语句组1;……otherwise语句组n;end
(3)循环结构:
while条件语句组;end
for(条件);end
do语句组while循环语句组;end
4.命令文件与函数文件的主要区别是什么?
答:
(1)命令文件是一系列命令的组合,函数文件的第一行必须用function说明;
(2)命令文件没有输入参数,也不用返回参数,函数文件可以接受输入参数,也可以返回参数;
(3)命令文件处理的变量为工作空间变量,函数文件处理的变量为函数内部的局部变量,也可以处理全局变量。
5.什么是全局变量和局部变量?
答:
全局变量是没有定义存储类型的外部变量,其作用域是从定义点到程序结束,省略了存储类型符,系统将默认为是自动型
局部变量也称为内部变量。
局部变量是在函数内作定义说明的。
其作用域仅限于函数内,离开该函数后再使用这种变量是非法的。
如果一个函数内的变量没有特别声明,那么这个变量只在函数内部使用,即为局部变量,如果两个或多个函数公用一个变量(或者说在子程序中也要用到主程序中的变量,注意不是参数),那么可以用global来将它声明为全局变量。
全局变量的使用可以减少参数传递,合理利用全局变量可以提高程序执行效率。
如果需要用到其他函数的变量,就要利用在主程序与子程序中分别声明全局变量的方式实现变量的传递,否则函数体内使用的都为局部变量。
6.数据插值和曲线拟合区别?
答:
有这样一组数据(Xi,Yi),i=1,2,3,。
。
。
。
。
,寻找Y与X之间的关系Y=F(X),就要根据这组数据求出其近似关系Y=G(X)。
插值与曲线拟合实际上是求这个近似关系的两种方法,不同的是,插值方法求出的插值多项式要求所有的数据点(Xi,Yi)都在曲线上,而拟合求出的插值多项式只要反应数据的基本趋势就可以了,并不要求所有的数据点都在拟合曲线上。
但是,利用插值方法更多的依赖于插值点,比如选择插值点前后N个数值。
。
如果插值点很多,就不好利用插值法了,最好用曲线拟合,这样求出的曲线具有一定的函数关系,只要把要求的数据点代入,就可以得出结果。
7.数值运算与符号运算的区别?
答:
数值运算:
求出具体的数值,不含符号。
(如解方程,求出未知数=1.565656,不是未知数=ab+c)数值计算是MATLAB最基本、最重要的功能,是MATLAB最具代表性的特点。
MATLAB在数值计算过程中以数组和矩阵为基础。
数组是MATLAB运算中的重要数据组织形式。
符号运算:
带有符号变量、表达式的运算称为抽象计算即符号计算,MATLAB借助于MAPLE符号数学特长,建立并发展了强大的符号运算功能。
结果用符号表示。
8.GUI开发环境中提供了哪些方便的工具?
各有什么用途?
答:
开发工具及用途:
布局编辑器(Layout Edtor)-------在图形窗口中加入及安排对象。
布局编辑器是可以启动用户界面的控制面板,上述工具都必须从布局编辑器中访问,用guide命令可以启动,或在启动平台窗口中选择GUIDE来启动布局编辑器。
几何排列工具(Alignment Tool)-----调整各对象相互之间的几何关系和位置 。
属性编辑器(Property Inspector)-----查询并设置属性值 。
对象浏览器Object Browser)-----用于获得当前MATLAB图形用户界面程序中所有的全部对象信息,对象的类型,同时显示控件的名称和标识,在控件上双击鼠标可以打开该控件的属性编辑器。
菜单编辑器(Menu Editor)-----建立窗口菜单条的菜单和任何构成布局的弹出菜单 。
9.简述Simulink建立子系统的两种方法及其子系统封装的4个选项
答:
建立子系统有两种方法:
通过Subsystem模块建立子系统和通过已有的模块建立子系统。
两者的区别是:
前者先建立子系统,再为其添加功能模块;后者先选择模块,再建立子系统。
子系统的封装主要就是对这4页参数进行设置:
Icon、Parameters、Initialization和Documentation。
10.分别采用函数fix、floor、ceil和round对A=[-1.95,-1.25,1.45,1.85]取整,并说明这些取整函数的区别。
答:
A=[-1.95,-1.25,1.45,1.85];
B=fix(A)
B=[-1-111]
Fix函数为取截尾取整。
C=floor(A)
C=[-2-211]
Floor函数为取不超过x 的最大整数(高斯取整)。
D=ceil(A)
D=[-1-122]
Ceil函数为取大于x的最小整数。
E=round(A)
E=[-2-112]
Round函数为取四舍五入取整后的整数。
11.求A=[1,2,3;4,5,6;7,8,9]矩阵的秩,迹,特征值和特征向量、范数和方阵的条件数;并求A和a=magic(5)矩阵行列式,逆矩阵和伪逆矩阵,并说明逆矩阵和伪逆矩阵区别。
答:
A的秩:
rank(A);ans=2
A的迹:
trace(A);ans=15
[V,D]=eig(A)
A的特征向量:
V=
-0.2320-0.78580.4082
-0.5253-0.0868-0.8165
-0.81870.61230.4082
A的特征值为D的对角线元素:
D=
16.116800
0-1.11680
A的范数:
norm(A);ans=16.8481(2阶范数)
方阵的条件数:
rcond(A);ans=1.5420e-018
A的矩阵行列式:
det(A);ans=6.6613e-016
a的矩阵行列式:
a=magic(5);det(a);ans=5.0700e+006
A的逆矩阵:
inv(A)
Warning:
Matrixisclosetosingularorbadlyscaled.
Resultsmaybeinaccurate.RCOND=1.541976e-018.
ans=
1.0e+016*
-0.45040.9007-0.4504
0.9007-1.80140.9007
-0.45040.9007-0.4504
A的伪逆矩阵:
pinv(A)
ans=
-0.6389-0.16670.3056
-0.05560.00000.0556
0.52780.1667-0.1944
a的逆矩阵:
inv(a)
ans=
-0.00490.0512-0.03540.00120.0034
0.0431-0.0373-0.00460.01270.0015
-0.03030.00310.00310.00310.0364
0.0047-0.00650.01080.0435-0.0370
0.00280.00500.0415-0.04500.0111
a的伪逆矩阵:
pinv(a)
ans=
-0.00490.0512-0.03540.00120.0034
0.0431-0.0373-0.00460.01270.0015
-0.03030.00310.00310.00310.0364
0.0047-0.00650.01080.0435-0.0370
0.00280.00500.0415-0.04500.0111
同维数的单位阵,就称A为可逆矩阵(或者称A可逆),并称B是A的逆矩阵,简称逆阵。
(此时的逆称为凯利逆)
矩阵A可逆的充分必要条件是|A|≠0。
伪逆矩阵是逆矩阵的广义形式。
由于奇异矩阵或非方阵的矩阵不存在逆矩阵,但可以用函数pinv(A)求其伪逆矩阵。
基本语法为X=pinv(A),X=pinv(A,tol),其中tol为误差,pinv为pseudo-inverse的缩写:
max(size(A))*norm(A)*eps。
函数返回一个与A的转置矩阵A'同型的矩阵X,并且满足:
AXA=A,XAX=X.此时,称矩阵X为矩阵A的伪逆,也称为广义逆矩阵。
pinv(A)具有inv(A)的部分特性,但不与inv(A)完全等同。
如果A为非奇异方阵,pinv(A)=inv(A),但却会耗费大量的计算时间,相比较而言,inv(A)花费更少的时间。
12.已知:
a=6;A=pascal(4);B=randn(4);求A*B,A.*B,B/A,B./A,B\A,B.\A,A.^a,A^a,并且说明数组和矩阵在上述运算中的区别。
答:
A=pascal(4)
A=
1111
1234
13610
141020
B=randn(4)
B=
-1.06890.3252-0.1022-0.8649
-0.8095-0.7549-0.2414-0.0301
-2.94431.37030.3192-0.1649
1.4384-1.71150.31290.6277
A*B
ans=
-3.3843-0.77100.2884-0.4321
-5.7672-3.91981.62391.0912
-6.7793-10.83304.21724.3328
-4.9821-23.22198.38129.9203
A.*B
ans=
-1.06890.3252-0.1022-0.8649
-0.8095-1.5099-0.7243-0.1202
-2.94434.11091.9152-1.6488
1.4384-6.84613.128612.5541
B/A
ans=
-5.77079.4959-6.28041.4863