MATLAB运算基础第2章答案.docx
《MATLAB运算基础第2章答案.docx》由会员分享,可在线阅读,更多相关《MATLAB运算基础第2章答案.docx(43页珍藏版)》请在冰豆网上搜索。
MATLAB运算基础第2章答案
实验01讲评、参考答案
讲评
未交实验报告的同学名单
数学:
6人(11、12级)
信科:
12-04,12-22,13-47
批改情况:
问题1:
不仔细,式子中出错。
问题2:
提交的过程不完整。
问题3:
使用语句尾分号(;)不当,提交的过程中不该显示的结果显示。
问题4:
截屏窗口没有调整大小。
附参考答案:
实验01MATLAB运算基础
(第2章MATLAB数据及其运算)
一、实验目的
1.熟悉启动和退出MATLAB的方法。
2.熟悉MATLAB命令窗口的组成。
3.掌握建立矩阵的方法。
4.掌握MATLAB各种表达式的书写规则以及常用函数的使用。
二、实验内容
1.数学表达式计算
先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。
1.1计算三角函数
(注意:
度要转换成弧度,e2如何给出)
示例:
点击CommandWindow窗口右上角的,将命令窗口提出来成悬浮窗口,适当调整窗口大小。
命令窗口中的执行过程:
1.2计算自然对数
,其中(提示:
clc命令擦除命令窗口,clear则清除工作空间中的所有变量,使用时注意区别,慎用clear命令。
应用点乘方)
命令窗口中的执行过程:
1.3求数学表达式的一组值
提示:
利用冒号表达式生成a向量,求各点的函数值时用点乘运算。
命令窗口中的执行过程:
1.4求分段函数的一组值
,其中t=0:
0.5:
2.5
提示:
用逻辑表达式求分段函数值。
命令窗口中的执行过程:
1.5对工作空间的操作
接着显示MATLAB当前工作空间的使用情况并保存全部变量
提示:
用到命令who,whos,save,clear,load,请参考教材相关内容。
命令窗口中的执行过程:
>>who%显示当前工作空间中的变量名
Yourvariablesare:
atxz1z2z3z4
>>whos%显示当前工作空间中的变量名及信息
NameSizeBytesClassAttributes
a1x61488double
t1x648double
x2x264doublecomplex
z11x18double
z22x264doublecomplex
z31x61976doublecomplex
z41x648double
>>savevarfile%生成文件varfile.mat,并将当前工作空间的变量存入其中
>>clearall%清除当前工作空间中的全部变量
>>who
>>whos
>>loadvarfile%将文件varfile.mat装入
>>who
Yourvariablesare:
atxz1z2z3z4
>>whos
NameSizeBytesClassAttributes
a1x61488double
t1x648double
x2x264doublecomplex
z11x18double
z22x264doublecomplex
z31x61976doublecomplex
z41x648double
>>
2.矩阵运算与数组运算
已知:
2.1矩阵加、减和数乘运算
A+6*B和A-B+I(其中I为单位矩阵。
注意:
如何得到单位矩阵)
命令窗口中的执行过程:
2.2矩阵乘积和点乘积
A*B和A.*B
命令窗口中的执行过程:
2.3矩阵的乘方和点乘方
A^3和A.^3
命令窗口中的执行过程:
2.4矩阵的右除和左除
A/B及B\A
命令窗口中的执行过程:
2.5拼接矩阵成大的矩阵
[A,B]和[A([1,3],:
);B^2]
命令窗口中的执行过程:
3.矩阵乘积、矩阵的子矩阵
设有矩阵A和B
3.1求矩阵A和B的乘积
求它们的乘积并赋给C。
(提示:
可简化A的输入,用冒号表达式、reshape、矩阵转置)
命令窗口中的执行过程:
3.2求矩阵C的子矩阵
将矩阵C的右下角3×2子矩阵赋给D。
命令窗口中的执行过程:
3.3查看MATLAB工作空间的使用情况
命令窗口中的执行过程:
4.完成下列数据操作
4.1求[100,999]之间能被21整除的数的个数
提示:
先利用冒号表达式,再利用find和length函数。
命令窗口中的执行过程:
4.2建立一个字符串向量,删除其中的大写字母
提示:
利用find函数和空矩阵。
命令窗口中的执行过程:
三、实验提示
1.1计算三角函数提示
(注意:
度要转换成弧度,e2如何给出)
提示1:
示例:
点击CommandWindow窗口右上角的,将命令窗口提出来成悬浮窗口,适当调整窗口大小。
命令窗口中的执行过程:
提示2:
e2的表示请查表“2.3常用数学函数及其含义”。
用exp
(2)。
1.2计算自然对数提示
,其中
提示1:
clc命令擦除命令窗口,clear则清除工作空间中的所有变量,使用时注意区别,慎用clear命令。
提示2:
ln和开方的表示请查“表2.3常用数学函数及其含义”。
用log,sqrt。
提示3:
x2是数组运算。
用x.^2或x.*x。
提示4:
i为复数的虚数单位(j也是)。
若将i作变量则其虚数单位无效,恢复用cleari。
慎用i,j做变量。
1.4求分段函数的一组值提示
,其中t=0:
0.5:
2.5
提示:
用逻辑表达式求分段函数值。
提示1:
参考例2.4。
提示2:
对于第1个分段条件表达式0≤t<1,有以下结果:
对于第2、3个分段条件表达式,有类似的结果。
于是,可以得到:
分段函数值=第1个表达式*第1个分段条件表达式+第2个表达式*第2个分段条件表达式+第3个表达式*第3个分段条件表达式+…
注意:
分段区间是不重叠的。
对于在定义区间中任给的变量值,它只满足一个分段条件表达式(值为1),其它不满足(值为0),满足的对应项的值是其表达式的值,不满足的对应项值为0。
代入本题得:
z4=t^2*(t>=0&&t<1)+(t^2-1)*(t>=1&&t<2)+(t^2+2*t+1)*(t>=2&&t<3)
继续做下去可以完成本题。
若变量取100个值,求对应的函数值,还按这种方法来求做就有问题啦。
MATLAB提供了一种简单的方法:
t不是一个个取值,而是把所有值放到t中成一个行向量,表达式自动逐个将t中的值代入表达式计算,得到对应的一组函数值。
实现这种功能需要将上面的表达式中的乘方号(^)和乘号(*)前加点(.),即改成(.^)和(.*),相当于循环,它不同于线性代数中相应的矩阵乘方(^)和乘法(*)运算。
用冒号表达式更简单:
以下是分解式:
至此,能理解表达式的计算结果了吗?
1.5对工作空间的操作提示
接着显示MATLAB当前工作空间的使用情况并保存全部变量
提示1:
用到命令who,whos,save,clear,load,请参考教材相关内容。
步骤:
查看工作空间;保存工作空间;清除工作空间;再查看工作空间;装入工作空间;再查看工作空间。
2.1矩阵加、减和数乘运算提示
A+6*B和A-B+I(其中I为单位矩阵。
注意:
如何得到单位矩阵)
提示1:
3阶单位矩阵用eye(3)或eye(3,3)。
4.完成下列数据操作
4.1求[100,999]之间能被21整除的数的个数提示
提示:
先利用冒号表达式,再利用find和length函数。
提示1:
步骤:
用冒号表达式把[100,999]之间的整数放在一个向量里(如A);
用mod求得一个向量(如B),使A中能被21整除的数在B中对应位置为1,B的其它位置为0;
用find求得B中不为0的元素的序号,放入一个向量中(如K);
显示A中对应K的元素;%即能被21整除的数
用length显示K的元素个数。
%即能被21整除的数的个数
4.2建立一个字符串向量,删除其中的大写字母提示
提示:
利用find函数和空矩阵。
提示1:
利用find函数和空矩阵。
注意使用关系运算、逻辑运算。
注意!
本题中大写字母所在位置是随机的,要用关系运算和逻辑运算,以及find找到它们所在位置的序号。
提示2:
四、教程:
第2章MATLAB数据及其运算
2.1MATLAB数据的特点p17
矩阵
是MATLAB最基本、最重要的数据对象。
MATLAB的大部分运算或命令都是在矩阵(复数域上)运算的意义下执行的。
标量对应仅含一个元素的矩阵。
数值数据
双精度数占64位,转换函数double
单精度数占32位,转换函数single
带符号整数转换函数int8,int16,int32
无符号整数转换函数uint8,uint16,uint32
字符数据转换函数char
结构体类型(Structure)
单元类型(Cell)
逻辑型非0为true,0为false
2.2变量及其操作
2.2.1变量与赋值
1.变量命名
Ø以字母开头,后接字母、数字或下划线的字符序列,最多63个字符。
Ø区分字母的大小写。
MATLAB提供的标准函数名以及命令名必须用小写字母。
2.赋值语句
(1)变量=表达式
(2)表达式(值赋给预定义变量ans)
其中,表达式是用运算符将有关运算量连接起来的式子,其结果是一个矩阵。
例2.1计算表达式的值p18
将的计算结果赋给变量x,然后显示出结果。
>>x=(5+cos(47*pi/180))/(1+sqrt(7)-2*i)
x=
1.1980+0.6572i
其中,pi和i都是MATLAB预先定义的变量,分别代表圆周率π和虚数单位。
3.预定义变量p18
表2.1常用的预定义变量及其含义
预定义变量
含义
ans
eps
pi
i,j
inf,Inf
NaN,nan
nargin
nargout
realmax
realmin
lasterr
lastwar
默认赋值变量
机器零阈值2.2204e-016
π近似值
虚数单位
无穷大,如1/0的结果
非数,如0/0,inf/inf的结果
函数输入参数个数
函数输出参数个数
最大正实数
最小正实数
存放最新的错误信息
存放最新的警告信息
预定义变量有特定的含义,应尽量避免重新赋值。
i=2%对预定义变量重新赋值
2*i
cleari%恢复预定义变量
2*i
i=
2
ans=
4
ans=
0+2.0000i
2.2.2变量的管理p19
1.内存变量的显示与删除
显示工作空间中驻留的变量名清单及信息命令:
who%显示变量名清单
whos%显示变量名清单及信息
删除工作空间中的变量命令:
clear变量名
工作空间窗口专门用于内存变量的管理。
在该窗口中显示所有内存变量的属性。
●当选中某些变量后,再单击Delete按钮,将删除这些变量。
●双击变量后,将进入变量编辑器。
可以观察变量中的具体元素,也可修改具体元素。
●输入较大矩阵时,可采用变量编辑器。
2.内存变量文件
用MAT