第2章--MATLAB数据及其运算-习题答案教学内容
第2章 MATLAB数据及其运算

③也可以采用矩阵元素的序号来引用矩阵元素。矩 阵元素按列编号,先第一列,再第二列,依次类 推。 显然,下标(subscrip)与序号(index)是一一对 应的。以m×n矩阵A为例,矩阵元素A(i,j)的序 号为 (j-1)*m+i。其相互转换关系也可利用 sub2ind和ind2sub函数求得 sub2ind(size(A),2,3) %已知行列,求序号 [c,d]=ind2sub(size(A),6) %已知序号,求行 列 还可利用reshape(A,m,n)在矩阵总元素不变的前 提下,将矩阵重排
2、赋值语句
(1) 变量=表达式 (2) 表达式 一般地,运算结果在命令窗口中显示出来。如果在语句的最 后加分号,那么,MATLAB仅仅执行赋值操作,不再显示运 算的结果。 在MATLAB语句后面可以加上注释,注释以%开头,后面 是注释的内容。 例2.1 计算表达式的值,并将结果赋给变量x,然后显示 出结果。 在MATLAB命令窗口输入命令:
linspace(a,b,n)与a:(b-a)/(n-1):b等价。
logspace函数生成从10a到10b之间按对数等分的 n个元素的行向量,n如果省略则默认值为50。
21
2.3.3 矩阵的拆分
1. 矩阵元素
①MATLAB允许用户对一个矩阵的单个元素进行赋 值和操作。例如: A=ones(4);A(3,2)=200 只改变该元素的值,而不影响其他元素的值。 ② 如果给出的行下标或列下标大于原来矩阵的行数 和列数,则MATLAB将自动扩展原来的矩阵,并将 扩展后未赋值得矩阵元素置为0。例如: A(5,6)=10
10
2.2.3 数据的输出格式
MATLAB用十进制数表示一个常数,具体可 采用日常记数法和科学记数法两种表示方法。 在命令窗口中,默认情况下当数值为整数时, 数值计算的结果以整数显示;当数值为实数 时,以小数点后四位的精度近似显示,即以 短(short)格式显示;如果数值超过这一范 围,则以科学计数法显示结果。
MATLAB实验:运算基础,并且附有答案

实验二、MATLAB运算基础一、实验目的掌握MATLAB各种表达式的书写规则及常用函数的使用。
掌握MATLAB中字符串、元胞数组和结构的常用函数的使用。
二、实验内容及步骤1、设有矩阵A和B,A=[1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 1718 19 20;21 22 23 24 25],B=[3 0 16;17 -6 9;0 23 -4;9 7 0;4 1311]1)求它们的乘积C >>C=A*B2)将矩阵C的右下角3x2子矩阵赋给D >>I=[3 4 5];J=[2 3];D=C(I,J)也可以用>>D=C([3 4 5],[2 3])D =520 397705 557890 7172、完成下列操作1)求[100,999]之间能被61整除的数及其个数(提示:先利用冒号表达式,再利用find和length函数。
)>> a=100:999;find(rem(a,61)==0)ans =23 84 145 206 267 328 389 450 511572 633 694 755 816 877>> b=a(ans)b =122 183 244 305 366 427 488 549 610 671 732 793 854 915 976>> length(b)ans =152)建立一个字符串向量,删除其中的大写字母(提示:利用find函数和空矩阵。
)a=’I am maying’;a( find(a>’A’&a<’Z’))=[]3、已知A=[23 10 -78 0;41 -45 65 5;32 5 0 32;6 -54 92 14],取出其前3行构成矩阵B,其前两列构成矩阵C,其左下角3x2子矩阵构成矩阵D,B与C的乘积构成矩阵E,分别求E<D、E&D、E|D、~E|~D。
MATLAB课后习题集附标准答案

第2章MATLAB概论1、与其他计算机语言相比较,MA TLAB语言突出的特点是什么?答:起点高、人机界面适合科技人员、强大而简易的作图功能、智能化程度高、功能丰富,可扩展性强.2、MA TLAB系统由那些部分组成?答:开发环境、MATLAB数学函数库、MATLAB语言、图形功能、应用程序接口3、安装MATLAB时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装?答:在安装MATLAB时,安装内容由选择组件窗口中各复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即MATLAB选项)必须安装.第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可.4、MATLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上?答:在MATLAB操作桌面上有五个窗口,在每个窗口的右下角有两个小按钮,一个是关闭窗口的Close 按钮,一个是可以使窗口称为独立的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面称为独立窗口,在独立窗口的view菜单中选择Dock,菜单项就可以将独立的窗口重新防止的桌面上.5、如何启动M文件编辑/调试器?答:在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动.在命令窗口中键入edit命令时也可以启动M文件编辑/调试器.6、存储在工作空间中的数组能编辑吗?如何操作?答:存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可.7、命令历史窗口除了可以观察前面键入的命令外,还有什么用途?答:命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中.8、如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别?答:当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file菜单中的Set Path菜单项来完成.在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上.9、在MA TLAB中有几种获得帮助的途径?答:(1)帮助浏览器:选择view菜单中的Help菜单项或选择Help菜单中的MATLAB Help菜单项可以打开帮助浏览器.(2)help命令:在命令窗口键入“help”命令可以列出帮助主题,键入“help 函数名”可以得到指定函数的在线帮助信息.(3)lookfor命令:在命令窗口键入“lookfor 关键词”可以搜索出一系列与给定关键词相关的命令和函数.(4)模糊查询:输入命令的前几个字母,然后按Tab键,就可以列出所有以这几个字母开始的命令和函数.注意:lookfor和模糊查询查到的不是详细信息,通常还需要在确定了具体函数名称后用help命令显示详细信息.第3章 MATLAB 数值运算3.1在MA TLAB 中如何建立矩阵⎥⎦⎤⎢⎣⎡194375,并将其赋予变量a ? 答:在Command Window 窗口输入操作:>> a=[5 7 3;4 9 1]3.2有几种建立矩阵的方法?各有什么优点? 答:(1)直接输入法,如a=[1 2 3 4],优点是输入方法方便简捷;(2)通过M 文件建立矩阵,该方法适用于建立尺寸较大的矩阵,并且易于修改; (3)由函数建立,如y=sin(x),可以由MATLAB 的内部函数建立一些特殊矩阵; (4)通过数据文件建立,该方法可以调用由其他软件产生数据.3.3在进行算术运算时,数组运算和矩阵运算各有什么要求?答:进行数组运算的两个数组必须有相同的尺寸.进行矩阵运算的两个矩阵必须满足矩阵运算规则,如矩阵a 与b 相乘(a*b )时必须满足a 的列数等于b 的行数.渗釤呛俨匀谔鱉调硯錦。
(完整word版)含答案《MATLAB实用教程》

第二章 MATLAB 语言及应用实验项目实验一 MATLAB 数值计算三、实验内容与步骤1.创建矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321a(1(2)用(3)用(42.矩阵的运算(1)利用矩阵除法解线性方程组。
⎪⎪⎩⎪⎪⎨⎧=+++=-+-=+++=+-12224732258232432143214321421x x x x x x x x x x x x x x x 将方程表示为AX=B ,计算X=A\B 。
(2)利用矩阵的基本运算求解矩阵方程。
已知矩阵A 和B 满足关系式A -1BA=6A+BA ,计算矩阵B 。
其中⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=7/10004/10003/1A ,Ps: format rata=[1/3 0 0;0 1/4 0;0 0 1/7];b=inv(a)*inv(inv(a)-eye(3))*6*a(3)计算矩阵的特征值和特征向量。
已知矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=1104152021X ,计算其特征值和特征向量。
(4)Page:322利用数学函数进行矩阵运算。
已知传递函数G(s)=1/(2s+1),计算幅频特性Lw=-20lg(1)2(2w )和相频特性Fw=-arctan(2w),w 的范围为[0.01,10],按对数均匀分布。
3.多项式的运算(1)多项式的运算。
已知表达式G(x)=(x-4)(x+5)(x 2-6x+9),展开多项式形式,并计算当x 在[0,20]内变化时G(x)的值,计算出G(x)=0的根。
Page 324(2)多项式的拟合与插值。
将多项式G(x)=x 4-5x 3-17x 2+129x-180,当x 在[0,20]多项式的值上下加上随机数的偏差构成y1,对y1进行拟合。
对G(x)和y1分别进行插值,计算在5.5处的值。
Page 325 四、思考练习题1.使用logspace 函数创建0~4π的行向量,有20个元素,查看其元素分布情况。
Ps: logspace(log10(0),log10(4*pi),20) (2) sort(c,2) %顺序排列 3.1多项式1)f(x)=2x 2+3x+5x+8用向量表示该多项式,并计算f(10)值. 2)根据多项式的根[-0.5 -3+4i -3-4i]创建多项式。
第二章MATLAB数据及其运算

显然,linspace(a,b,n) =a:(b-a)/(n-1):b
17
矩阵元素的引用
方法一:通过下标(subscript)引用矩阵的元素
– 例如 A(3,2)=200
方法二:采用矩阵元素的序号(index)来引用矩阵元素。
例:利用M文件建立MYMAT矩阵
– (1) 启动有关编辑程序或MATLAB文本编辑器,并输入待建矩阵: MYMAT=[101,102,103,104,105,106,107,108,109; 201,202,203,204,205,206,207,208,209; 301,302,303,304,305,306,307,308,309];
主要内容 MATLAB 数据的特点 变量及其操作 MATLAB矩阵的表示 MATLAB数据的运算 字符串 结构数据和单元数据
1
MATLAB数据的特点
矩阵是MATLAB最基本、最重要的数据对象 – MATLAB的大部分运算或命令都是在矩阵运算的意义 下执行的
问题: – 单个数据如何用矩阵表示?x=5 – 1*1矩阵 – 向量如何用矩阵表示?a=[1,2,3] – 行向量:1*n矩阵;列向量:n * 1矩阵
A(1,2) = [ ] 出错!
A(1,2) = 0
可以
21
主要内容 MATLAB 数据的特点 变量及其操作 MATLAB矩阵的表示 MATLAB数据的运算 字符串 结构数据和单元数据
22
MATLAB数据的运算
算术运算
– 基本算术运算 » +(加)、-(减)、*(乘)、/(右除)、\(左除)、^(乘方)
[整理版]matlab课后习题解答第二章
![[整理版]matlab课后习题解答第二章](https://img.taocdn.com/s3/m/e02c0759f6ec4afe04a1b0717fd5360cba1a8daf.png)
第2章0000符号运算0000习题2及解答00001 说出以下四条指令产生的结果各属于哪种数据类型,是“双精度”对象,还是“符号”符号对象?00003/7+0.1; sym(3/7+0.1); sym('3/7+0.1'); vpa(sym(3/7+0.1))0000〖目的〗0000不能从显示形式判断数据类型,而必须依靠class指令。
0000〖解答〗0000c1=3/7+0.10000c2=sym(3/7+0.1)0000c3=sym('3/7+0.1')0000c4=vpa(sym(3/7+0.1))0000Cs1=class(c1)0000Cs2=class(c2)0000Cs3=class(c3)0000Cs4=class(c4) 0000c1 =00000.52860000c2 =000037/700000c3 =00000.528571428571428571428571428571430000c4 =00000.528571428571428571428571428571430000Cs1 =0000double0000Cs2 =0000sym0000Cs3 =0000sym0000Cs4 =0000sym00002 在不加专门指定的情况下,以下符号表达式中的哪一个变量被认为是自由符号变量.0000sym('sin(w*t)'),sym('a*exp(-X)'),sym('z*exp(j*th)')0000〖目的〗0000● 理解自由符号变量的确认规则。
0000〖解答〗0000symvar(sym('sin(w*t)'),1) 0 0 0 0ans = 0 0 0 0 w 0 0 0 0symvar(sym('a*exp(-X)'),1) 0 0 0 0ans = 0 0 0 0 a 0 0 0 0symvar(sym('z*exp(j*th)'),1) 0 0 0 0ans = 0 0 0 0 z 0 0 0 05求符号矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=333231232221131211a a a a a a a a a A 的行列式值和逆,所得结果应采用“子表达式置换”简洁化。
Matlab习题答案

参考答案: (1) >> (3-5*i)*(4+2*i) ans =
22.0000 -14.0000i
(2) >> sin(2-8*i) ans =
1.3553e+003 +6.2026e+002i
5.判断下面语句的运算结果。 (1) 4 < 20 (2) 4 <= 20 (3) 4 == 20 (4) 4 ~= 20 (5) 'b'<'B' 参考答案: (1) >> 4<20 ans =
y_nearest(i)=interp1(x,y,scalar_x(i),'nearest'); y_linear(i) =interp1(x,y,scalar_x(i),'linear'); y_spline(i) =interp1(x,y,scalar_x(i),'spline'); y_cubic(i) =interp1(x,y,scalar_x(i),'cubic'); end subplot(2,2,1),plot(x,y,'*'),hold on,plot(scalar_x,y_nearest),title('method=nearest'); subplot(2,2,2),plot(x,y,'*'),hold on,plot(scalar_x,y_linear),title('method=linear'); subplot(2,2,3),plot(x,y,'*'),hold on,plot(scalar_x,y_spline),title('method=spline'); subplot(2,2,4),plot(x,y,'*'),hold on,plot(scalar_x,y_cubic),title('method=cubic'); 得到结果为:
第2章 MATLAB数据及其运算.

8 1 d 3 5
(2)利用空矩阵删除矩阵的元素 a=[ ] a的维数为0。 例:a( 2 , : )= [ ]; 8 1 6 得: 3 5 7 a a= 4 9 2 8 1 6 4 9 2
2.3.5
复数(Com part)和虚部(imaginary part)组 成。 虚数单位用i或j来表示。 6+5i = 6+5j
format bank format rat
2.3 MATLAB矩阵的表示
2.3.1 矩阵 MATLAB中最基本的数据结构是矩阵(matrix)。 1*1的矩阵----标量(scalar): [5] 只有一行或一列的矩阵-----向量(vector): [1 3 5 7]
2 4 6 8
2.4 Matlab数据的运算(Operators ) 运算符(Operators )
+ Addition
*
Subtraction
Multiplication
/
\
Division
Left division
^
Power
2.4.1 算术运算 (1)矩阵加减运算: 两个同维矩阵,才能进行加减运算,对应无素相加减。 一个标量与矩阵相加减时,结果为这个标量与矩阵的 每一个元素相加减。 x=[2,-1,0;3 2 -4]; y=ones(2,3); x-y=? [1,-2,-1;2,1,-5] x+1=? [3,0,1;4,3,-3]
在线性代数中,本没有矩阵除法,它是由逆 矩阵引申来的。 MATLAB中,矩阵求逆(Matrix inverse)的函 数为: Y = inv(X) 方程A*X=B的解为:X=inv(A)*B=A\B, A\B称为A左除B,左除时要求两矩阵行数相等。 方程X*A=B的解为:X=B*inv(A)=B/A, A/B称为A右除B,右除时要求两矩阵列数相等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第2章--M A T L A B数据及其运算-习题答案
第2章 MATLAB数据及其运算
习题2
一、选择题
1.下列可作为MATLAB合法变量名的是()。
D A.合计 B.123 C.@h D.xyz_2a 2.下列数值数据表示中错误的是()。
C
A.+10 B.1.2e-5 C.2e D.2i
3.使用语句t=0:7生成的是()个元素的向量。
A A.8 B.7 C.6 D.5
4.执行语句A=[1,2,3;4,5,6]后,A(3)的值是()。
B A.1 B.2 C.3 D.4
5.已知a为3×3矩阵,则a(:,end)是指()。
D A.所有元素 B.第一行元素
C.第三行元素 D.第三列元素
6.已知a为3×3矩阵,则运行a (1)=[]后()。
A A.a变成行向量 B.a变为2行2列
C.a变为3行2列 D.a变为2行3列
7.在命令行窗口输入下列命令后,x的值是()。
B >> clear
>> x=i*j
A.不确定 B.-1 C.1 D.i*j 8.fix(354/100)+mod(354,10)*10的值是()。
D A.34 B.354 C.453 D.43
9.下列语句中错误的是()。
B
A.x==y==3 B.x=y=3
C.x=y==3 D.y=3,x=y
10.find(1:2:20>15)的结果是()。
C
A.19 20 B.17 19
C.9 10 D.8 9
11.输入字符串时,要用()将字符括起来。
C A.[ ] B.{ } C.' ' D." " 12.已知s='显示"hello"',则s的元素个数是()。
A A.9 B.11 C.7 D.18
13.eval('sqrt(4)+2')的值是()。
B
A.sqrt(4)+2 B.4 C.2 D.2, 2
14.有3×4的结构矩阵student,每个结构有name(姓名)、scores(分数)两个成员,其中scores是以1×5矩阵表示的5门课的成绩,那么要删除第4个学生的第2门课成绩,应采用的正确命令是()。
D
A.rmfield(student(1,2).scores(2)) B.rmfield(student(4).scores)
C.student(4).scores(2)=0 D.student(1,2).scores(2)=[]
15.有一个2行2列的单元矩阵c,则c(2)是指()。
B
A.第一行第二列的元素内容 B.第二行第一列的元素内容
C.第一行第二列的元素 D.第二行第一列的元素
二、填空题
1.从键盘直接输入矩阵元素来建立矩阵时,将矩阵的元素用括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用分隔,不同行的元素之间用分隔。
中括号,逗号或空格,分号
2.设A=[1,2;3,4],B=[5,6;7,8],则A*B= , A.*B= 。
A*B=[19,22;43,50],A.*B=[5,12;21,32]
3.有3×3矩阵,求其第 5个元素的下标的命令是,求其第三行、第三列元素的序号的命令是。
[i,j]=ind2sub([3 3],5),ind=sub2ind([3 3],3,3)
4.下列命令执行后的输出结果是。
20
>> ans=5;
>> 10;
>> ans+10
5.下列命令执行后,new_claim的值是。
This is a great example.
claim= 'This is a good example.';
new_claim=strrep(claim,'good','great')
三、应用题
1.命令X=[]与clear X有何不同?请上机验证结论。
Clear X是将X从工作空间中删除,而X=[]是给X赋空矩阵。
空矩阵存在于工作空间中,只是没有任何元素。
2.在一个MATLAB命令中,6 + 7i和6 + 7*i有何区别?i和I有何区别?3.设A和B是两个同大小的矩阵,试分析A*B和A.*B、A./B和B.\A、A/B 和B\A的区别?如果A和B是两个标量数据,结论又如何?
4.写出完成下列操作的命令。
(1)将矩阵A第2~5行中第1,3,5列元素赋给矩阵B。
(2)删除矩阵A的第5号元素。
(3)求矩阵A的大小和维数。
(4)将向量t 的0元素用机器零来代替。
(5)将含有12个元素的向量x 转换成3 × 4矩阵。
5.已知:
⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡---=14.35454
.9632053256545410778.01023Α 完成下列操作:
(1)取出 A 的前3行构成矩阵B ,前两列构成矩阵C ,右下角3×2子矩阵构成矩阵D ,B 与C 的乘积构成矩阵E 。
(2)分别求E<D 、E&D 、E|D 、~E|~D 和find(A>=10&A<25)。
6.建立单元矩阵B ,并回答有关问题。
y.a=1;
y.b=[1:3;4:6];
B{1,1}=1;
B{1,2}='Brenden';
B{2,1}=y;
B{2,2}={12,34,2;54,21,3;4,23,67};
(1)size(B)和ndims(B)的值分别是多少?
(2)B(2)和B(4)的值分别是多少?
(3)B(3)=[]和B{3}=[]执行后,B 的值分别是多少?。