matlab经典习题及解答.doc
《matlab经典习题及解答.doc》由会员分享,可在线阅读,更多相关《matlab经典习题及解答.doc(24页珍藏版)》请在冰豆网上搜索。
第1章MATLAB概论
1.1与其他计算机语言相比较,MATLAB语言突出的特点是什么?
MATLAB具有功能强大、使用方便、输入简捷、库函数丰富、开放性强等特点。
1.2MATLAB系统由那些部分组成?
MATLAB系统主要由开发环境、MATLAB数学函数库、MATLAB语言、图形功能和应用程序接口五个部分组成。
1.4MATLAB操作桌面有几个窗口?
如何使某个窗口脱离桌面成为独立窗口?
又如何将脱离出去的窗口重新放置到桌面上?
在MATLAB操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close按钮,一个是可以使窗口成为独立窗口的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的view菜单中选择Dock……菜单项就可以将独立的窗口重新防止的桌面上。
1.5如何启动M文件编辑/调试器?
在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动。
在命令窗口中键入edit命令时也可以启动M文件编辑/调试器。
1.6存储在工作空间中的数组能编辑吗?
如何操作?
存储在工作空间的数组可以通过数组编辑器进行编辑:
在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。
1.7命令历史窗口除了可以观察前面键入的命令外,还有什么用途?
命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中。
1.8如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别?
当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file菜单中的SetPath菜单项来完成。
在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。
1.9在MATLAB中有几种获得帮助的途径?
在MATLAB中有多种获得帮助的途径:
(1)帮助浏览器:
选择view菜单中的Help菜单项或选择Help菜单中的MATLABHelp菜单项可以打开帮助浏览器;
(2)help命令:
在命令窗口键入“help”命令可以列出帮助主题,键入“help函数名”可以得到指定函数的在线帮助信息;
(3)lookfor命令:
在命令窗口键入“lookfor关键词”可以搜索出一系列与给定关键词相关的命令和函数
(4)模糊查询:
输入命令的前几个字母,然后按Tab键,就可以列出所有以这几个字母开始的命令和函数。
注意:
lookfor和模糊查询查到的不是详细信息,通常还需要在确定了具体函数名称后用help命令显示详细信息。
第2章MATLAB矩阵运算基础
2.1在MATLAB中如何建立矩阵,并将其赋予变量a?
>>a=[573;491]
2.2有几种建立矩阵的方法?
各有什么优点?
可以用四种方法建立矩阵:
①直接输入法,如a=[2573],优点是输入方法方便简捷;
②通过M文件建立矩阵,该方法适用于建立尺寸较大的矩阵,并且易于修改;
③由函数建立,如y=sin(x),可以由MATLAB的内部函数建立一些特殊矩阵;
④通过数据文件建立,该方法可以调用由其他软件产生数据。
2.3在进行算术运算时,数组运算和矩阵运算各有什么要求?
进行数组运算的两个数组必须有相同的尺寸。
进行矩阵运算的两个矩阵必须满足矩阵运算规则,如矩阵a与b相乘(a*b)时必须满足a的列数等于b的行数。
2.4数组运算和矩阵运算的运算符有什么区别?
在加、减运算时数组运算与矩阵运算的运算符相同,乘、除和乘方运算时,在矩阵运算的运算符前加一个点即为数组运算,如a*b为矩阵乘,a.*b为数组乘。
2.5计算矩阵与之和。
>>a=[535;374;798];
>>b=[242;679;836];
>>a+b
ans=
777
91413
151214
2.6求的共轭转置。
>>x=[4+8i3+5i2-7i1+4i7-5i;3+2i7-6i9+4i3-9i4+4i];
>>x’
ans=
4.0000-8.0000i3.0000-2.0000i
3.0000-5.0000i7.0000+6.0000i
2.0000+7.0000i9.0000-4.0000i
1.0000-4.0000i3.0000+9.0000i
7.0000+5.0000i4.0000-4.0000i
2.7计算与的数组乘积。
>>a=[693;275];
>>b=[241;468];
>>a.*b
ans=
12363
84240
2.8“左除”与“右除”有什么区别?
在通常情况下,左除x=a\b是a*x=b的解,右除x=b/a是x*a=b的解,一般情况下,a\b¹b/a。
2.9对于,如果,,求解X。
>>A=[492;764;357];
>>B=[372628]’;
>>X=A\B
X=
-0.5118
4.0427
1.3318
2.10已知:
,分别计算a的数组平方和矩阵平方,并观察其结果。
>>a=[123;456;789];
>>a.^2
ans=
149
162536
496481
>>a^2
ans=
303642
668196
102126150
2.11,,观察a与b之间的六种关系运算的结果。
>>a=[123;456];
>>b=[8–74;362];
>>a>b
ans=
010
101
>>a>=b
ans=
010
101
>>a
ans=
101
010
>>a<=b
ans=
101
010
>>a==b
ans=
000
000
>>a~=b
ans=
111
111
2.12,在进行逻辑运算时,a相当于什么样的逻辑量。
相当于a=[11011]。
2.13在sin(x)运算中,x是角度还是弧度?
在sin(x)运算中,x是弧度,MATLAB规定所有的三角函数运算都是按弧度进行运算。
2.14角度,求x的正弦、余弦、正切和余切。
>>x=[304560];
>>x1=x/180*pi;
>>sin(x1)
ans=
0.50000.70710.8660
>>cos(x1)
ans=
0.86600.70710.5000
>>tan(x1)
ans=
0.57741.00001.7321
>>cot(x1)
ans=
1.73211.00000.5774
2.15用四舍五入的方法将数组[2.45686.39823.93758.5042]取整。
>>b=[2.45686.39823.93758.5042];
>>round(b)
ans=
2649
2.16矩阵,分别对a进行特征值分解、奇异值分解、LU分解、QR分解及Chollesky分解。
>>[v,d]=eig(a,b)
v=
-0.4330-0.2543-0.1744
-0.56570.9660-0.6091
-0.70180.04720.7736
d=
13.548200
04.83030
003.6216
>>a=[912;563;827];
>>[u,s,v]=svd(a)
u=
-0.56010.5320-0.6350
-0.4762-0.8340-0.2788
-0.67790.14620.7204
s=
15.523400
04.56480
003.3446
v=
-0.82750.3917-0.4023
-0.3075-0.9156-0.2592
-0.4699-0.09070.8781
>>[l,u]=lu(a)
l=
1.000000
0.55561.00000
0.88890.20411.0000
u=
9.00001.00002.0000
05.44441.8889
004.8367
>>[q,r]=qr(a)
q=
-0.69030.3969-0.6050
-0.3835-0.9097-0.1592
-0.61360.12210.7801
r=
-13.0384-4.2183-6.8260
0-4.8172-1.0807
003.7733
>>c=chol(a)
c=
3.00000.33330.6667
02.42671.1447
002.2903
2.17将矩阵、和组合成两个新矩阵:
(1)组合成一个4´3的矩阵,第一列为按列顺序排列的a矩阵元素,第二列为按列顺序排列的b矩阵元素,第三列为按列顺序排列的c矩阵元素,即
(2)按照a、b、c的列顺序组合成一个行矢量,即
>>a=[42;57];
>>b=[71;83];
>>c=[59;62];
%
(1)
>>d=[a(:
)