第4章MATLAB的数学运算.ppt
《第4章MATLAB的数学运算.ppt》由会员分享,可在线阅读,更多相关《第4章MATLAB的数学运算.ppt(62页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社第4章MATLAB的数学运算 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社教学目标l掌握向量和矩阵的运算掌握向量和矩阵的运算l掌握线性代数的基本函数和使用掌握线性代数的基本函数和使用l掌握稀疏矩阵的操作掌握稀疏矩阵的操作11/16/2022第2页MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社教学内容l
2、向量、矩阵及其运算向量、矩阵及其运算 l矩阵和线性代数矩阵和线性代数 l稀疏型矩阵稀疏型矩阵11/16/2022第3页MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社向量、矩阵及其运算向量、矩阵及其运算l向量的点乘、叉乘和混合积向量的点乘、叉乘和混合积l矩阵的基本运算矩阵的基本运算 l特殊矩阵生成特殊矩阵生成 l向量和矩阵的范数向量和矩阵的范数 l矩阵的条件数矩阵的条件数11/16/2022第4页MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社向量的点乘、叉乘和混合积向量的点乘、叉乘和混合积l向量的点乘向量的点乘 向量的点乘又称为内积,是两个向量的模
3、和两个向量之间的夹角余弦向量的点乘又称为内积,是两个向量的模和两个向量之间的夹角余弦三者的乘积。三者的乘积。MATLAB 中,实现点乘的函数是中,实现点乘的函数是dot。dot 函数的用法函数的用法为为 dot(x1,x2),其中,其中 x1 和和 x2 的维数必须相同。的维数必须相同。l向量的叉乘向量的叉乘 向量乘法除点乘之外还有叉乘。两个向量叉积的几何意义是指以两个向量乘法除点乘之外还有叉乘。两个向量叉积的几何意义是指以两个向量模的乘积为模,方向和两个向量构成右手坐标系的向量。向量的向量模的乘积为模,方向和两个向量构成右手坐标系的向量。向量的叉乘不可交换。在叉乘不可交换。在 MATLAB
4、中函数中函数 cross 用于实现向量的叉乘。用于实现向量的叉乘。l向量的混合积向量的混合积 向量的混合积的几何意义是:它的绝对值表示以三个向量为楞的平行向量的混合积的几何意义是:它的绝对值表示以三个向量为楞的平行六面体的体积,符号由右手法则确定。上面介绍了向量的点乘和叉乘,六面体的体积,符号由右手法则确定。上面介绍了向量的点乘和叉乘,向量的混合积由点乘和叉乘逐步实现。向量的混合积由点乘和叉乘逐步实现。11/16/2022第5页MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社矩阵的基本运算矩阵的基本运算 l矩阵与常数之间的四则运算矩阵与常数之间的四则运算矩阵与常数的运算与
5、数组运算相同矩阵与常数的运算与数组运算相同l矩阵和矩阵之间的四则运算矩阵和矩阵之间的四则运算矩阵和矩阵之间的加减运算与数组运算相同矩阵和矩阵之间的加减运算与数组运算相同设设 A 是一个是一个 mn 矩阵,矩阵,B 是一个是一个 pq 矩阵,当矩阵,当 np 时,两个时,两个矩阵可以相乘,乘积为矩阵可以相乘,乘积为 mq 矩阵。矩阵乘法不可逆。在矩阵。矩阵乘法不可逆。在 MATLAB 中,矩阵乘法由中,矩阵乘法由“*”实现。实现。矩阵除法在实际中主要用于求解线性方程组矩阵除法在实际中主要用于求解线性方程组l矩阵转置矩阵转置符号符号“”实现矩阵的转置操作。对于实数矩阵,实现矩阵的转置操作。对于实数
6、矩阵,“”表示矩阵转置,对于复数矩阵,表示矩阵转置,对于复数矩阵,“”实现共轭转置。对实现共轭转置。对于复数矩阵,如果想要实现非共轭转置,可以使用符号于复数矩阵,如果想要实现非共轭转置,可以使用符号“.”。l矩阵乘方矩阵乘方11/16/2022第6页MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社特殊矩阵生成特殊矩阵生成(1/2)函数功能生成空白矩阵zeros生成全0矩阵eye生成单位矩阵ones生成全1矩阵tril triu生成上三角或下三角矩阵diag生成对角矩阵gallery生成一些小的测试矩阵hadamard生成 hadamard 矩阵hankel生成 hanke
7、l矩阵hilb生成 Hilbert 矩阵invhilb生成反 Hilbert 矩阵magic生成魔术矩阵pascal生成 n 阶 Pascal 矩阵rand生成服从均匀分布的随机矩阵randn生成服从正态分布的随机矩阵rosser典型的对称矩阵特征值的问题测试toeplitz生成 Toeplitz 矩阵vander生成范德蒙矩阵wilkinson生成 Wilkinson 矩阵compan生成多项式的伴随矩阵11/16/2022第7页MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社特殊矩阵生成特殊矩阵生成(2/2)l1对角矩阵的生成对角矩阵的生成l对角矩阵指除对角线以外其他
8、元素为对角矩阵指除对角线以外其他元素为 0 的矩阵。函数的矩阵。函数 diag 可以生成对角矩阵。该函数的用法为:可以生成对角矩阵。该函数的用法为:A=diag(V,K),其中,其中 V 是一个向量,是一个向量,K 是一个整数。该函数返回是一个整数。该函数返回一个矩阵,矩阵的第一个矩阵,矩阵的第 K 个对角线为个对角线为 V。K 在默认情况下为在默认情况下为 0,表,表示矩阵的主对角线,示矩阵的主对角线,K 大于大于 0 时表示主对角线的上方,小于时表示主对角线的上方,小于 0 时时为主对角线的下方。为主对角线的下方。V=diag(A,K),其中,其中A时一个矩阵。时一个矩阵。K 与上面的语句
9、相同。该语句与上面的语句相同。该语句返回矩阵返回矩阵 A 第第 K 个对角线上的元素组成的矩阵。个对角线上的元素组成的矩阵。l2魔术矩阵的生成魔术矩阵的生成魔术矩阵是一种经常遇到的矩阵,除了二阶方阵之外,魔魔术矩阵是一种经常遇到的矩阵,除了二阶方阵之外,魔术矩阵的每一行、每一列以及每条主对角线的元素之和都术矩阵的每一行、每一列以及每条主对角线的元素之和都相同。在相同。在 MATLAB 中,中,magic 函数用于生成魔术矩阵。函数用于生成魔术矩阵。其调用方法为其调用方法为 magic(N),其中,其中 N 为正整数,并且为正整数,并且 N2.11/16/2022第8页MATLAB R2007基
10、础教程基础教程 清华大学出版社清华大学出版社向量和矩阵的范数向量和矩阵的范数 l向量的范数定义为向量的范数定义为,其中,最常用的值为,其中,最常用的值为 1、2 和无穷大。矩阵和无穷大。矩阵 的范数定义为的范数定义为,其中,其中,最常用的值为最常用的值为 1、2 和无穷大。和无穷大。l向量和矩阵的范数可以通过函数向量和矩阵的范数可以通过函数 norm 求求解。该函数的调用格式为解。该函数的调用格式为 n=norm(A,p),其中其中 p 用于指定范数的类型。用于指定范数的类型。p 可以为所可以为所有大于有大于 1 的常数,最常用的为的常数,最常用的为 1、2、inf 和和 fro,fro 为求
11、解矩阵为求解矩阵 A 的的 Frobenius 范数。当范数。当 p 省略时,默认值为省略时,默认值为 2。11/16/2022第9页MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社矩阵的条件数矩阵的条件数l矩阵的条件数是在矩阵的逆和矩阵范数的矩阵的条件数是在矩阵的逆和矩阵范数的基础上定义的,是用于衡量矩阵病态程度基础上定义的,是用于衡量矩阵病态程度的关键量。一个矩阵的条件数越大,表明的关键量。一个矩阵的条件数越大,表明该矩阵的病态程度越严重。该矩阵的病态程度越严重。lMATLAB中求解矩阵条件数的函数是中求解矩阵条件数的函数是cond,在命令窗口输入,在命令窗口输入co
12、nd(A)即可得到矩阵即可得到矩阵A的条件数。的条件数。11/16/2022第10页MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社矩阵和线性代数矩阵和线性代数 l线性方程组线性方程组l矩阵逆、秩及行列式矩阵逆、秩及行列式 l矩阵分解矩阵分解 l矩阵指数函数和幂函数矩阵指数函数和幂函数 l矩阵特征值、特征向量与特征行列式矩阵特征值、特征向量与特征行列式l矩阵的标准正交基矩阵的标准正交基l矩阵奇异值分解矩阵奇异值分解 11/16/2022第11页MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社线性方程组(线性方程组(1/2)l利用矩阵求逆的方法求解方程
13、组利用矩阵求逆的方法求解方程组 我们首先求系数矩阵的逆,然后利用矩阵我们首先求系数矩阵的逆,然后利用矩阵的逆求解方程组的解。的逆求解方程组的解。l利用矩阵的左除符号利用矩阵的左除符号“”或者右除符号或者右除符号“/”求解方程组求解方程组11/16/2022第12页MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社线性方程组(线性方程组(2/2)l利用左除符号和右除符号求解线性方程组,避免了矩阵利用左除符号和右除符号求解线性方程组,避免了矩阵求逆操作,因此系数矩阵求逆操作,因此系数矩阵 不必为方阵。如果系数矩阵不必为方阵。如果系数矩阵 的维数为的维数为,则有三种情况:,则有三
14、种情况:,此时方程组为超定方程组,此时方程组为超定方程组,MATLAB 将给出最小二乘将给出最小二乘解;解;,此时方程组为方阵系统,此时方程组为方阵系统,MATLAB 给出精确解;给出精确解;,此时方程组为欠约束方程组,此时方程组为欠约束方程组,MATLAB 将给出一组基将给出一组基解,该解中包含最多解,该解中包含最多 个非零元素。个非零元素。l在采用除法符号(包括左除和右除)求解线性方程组时,在采用除法符号(包括左除和右除)求解线性方程组时,MATLAB 采用采用 因式分解法求解方程组。尽管因式分解法求解方程组。尽管 MATLAB 提供了两种方法,一般更倾向于采用第二种方法,该方提供了两种方
15、法,一般更倾向于采用第二种方法,该方法用到较少的浮点数运算,执行速度较快,另外,由于法用到较少的浮点数运算,执行速度较快,另外,由于采用采用 分解法,得出的结果要精确的多。分解法,得出的结果要精确的多。11/16/2022第13页MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社矩阵逆、秩及行列式矩阵逆、秩及行列式l矩阵求逆矩阵求逆 对于非奇异方阵,如果存在方阵,满足对于非奇异方阵,如果存在方阵,满足 并且并且,则称为矩,则称为矩阵的逆,记为,在阵的逆,记为,在 MATLAB 中,用中,用 inv(A)来实现矩阵逆来实现矩阵逆的求解。的求解。l矩阵求秩矩阵求秩 MATLAB
16、获得矩阵秩的函数为获得矩阵秩的函数为rank,rank(A)可可得到矩阵得到矩阵A的秩。的秩。l矩阵行列式矩阵行列式 在在 MATLAB 中,矩阵的行列式用函数中,矩阵的行列式用函数 det 求解。调用格求解。调用格式为式为 det(A),其中,其中 A 为方阵。为方阵。11/16/2022第14页MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社矩阵分解矩阵分解 lCholesky 分解分解lLU 分解分解 lQR 分解(正交分解)分解(正交分解)11/16/2022第15页MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社Cholesky 分解分解
17、lCholesky 分解将对称矩阵表示为一个三角矩阵分解将对称矩阵表示为一个三角矩阵与其转置的乘积的形式,即,其中为对称矩阵,与其转置的乘积的形式,即,其中为对称矩阵,为上三角矩阵。并非所有的对称矩阵都能进行为上三角矩阵。并非所有的对称矩阵都能进行 Cholesky 分解,只有正定矩阵能够进行分解,只有正定矩阵能够进行 Cholesky 分解,如分解,如 Pascal 矩阵。在矩阵。在 MATLAB 中中 Cholesky 分解由函数分解由函数 chol 实现,该函数对输实现,该函数对输入矩阵进行入矩阵进行 Cholesky分解,返回其对应的三角分解,返回其对应的三角矩阵。矩阵。lCholes
18、ky 分解同样适用于复数矩阵。如果复数分解同样适用于复数矩阵。如果复数矩阵满足,其中表示矩阵的共轭转置。如果矩阵矩阵满足,其中表示矩阵的共轭转置。如果矩阵存在存在 Cholesky 分解则称其为分解则称其为 Hermitian 正定。正定。11/16/2022第16页MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社LU 分解分解 l矩阵的矩阵的 LU 分解将一个方阵表示为一个下三分解将一个方阵表示为一个下三角置换矩阵和一个上三角矩阵乘积的形式。角置换矩阵和一个上三角矩阵乘积的形式。如,其中为下三角置换矩阵,为上三角矩如,其中为下三角置换矩阵,为上三角矩阵。阵。MATLAB
19、 中中 LU 分解可以通过函数分解可以通过函数 lu 实现。通过矩阵的实现。通过矩阵的 LU 分解,可以实现线性分解,可以实现线性方程组的快速求解。方程组的快速求解。l另外矩阵的另外矩阵的 LU 分解可用于矩阵快速求逆和分解可用于矩阵快速求逆和求行列式,有求行列式,有 det(A)=det(L)*det(U)和和 inv(A)=inv(U)*inv(L)。11/16/2022第17页MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社QR 分解(正交分解)(分解(正交分解)(1/2)l如果矩阵如果矩阵 满足满足 ,则为正交矩阵。正交矩阵为实矩阵,其每,则为正交矩阵。正交矩阵为
20、实矩阵,其每列为单位向量,并且各列互相正交。正交矩阵最简单的例子为二维列为单位向量,并且各列互相正交。正交矩阵最简单的例子为二维旋转矩阵:旋转矩阵:l对于复数矩阵,对应的概念为酉矩阵。对于复数矩阵,对应的概念为酉矩阵。l在数值计算中正交矩阵有着重要的应用,因为正交矩阵具有长度不在数值计算中正交矩阵有着重要的应用,因为正交矩阵具有长度不变性、角度不变性,并且不会扩大误差。变性、角度不变性,并且不会扩大误差。l矩阵的正交分解将矩阵表示为正交矩阵(或酉矩阵)和上三角矩阵矩阵的正交分解将矩阵表示为正交矩阵(或酉矩阵)和上三角矩阵的乘积。如的乘积。如 或或 ,其中,其中 为正交矩阵或酉矩阵,为正交矩阵或
21、酉矩阵,为为上三角矩阵,上三角矩阵,为置换矩阵。正交分解有四种形式,包括完全分解、为置换矩阵。正交分解有四种形式,包括完全分解、简化分解、带置换矩阵的分解和不带置换矩阵的分解。简化分解、带置换矩阵的分解和不带置换矩阵的分解。11/16/2022第18页MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社QR 分解(正交分解)(分解(正交分解)(2/2)l 完全分解完全分解过约束线性系统的系数矩阵函数超过列数,为一个矩阵并且,记为,过约束线性系统的系数矩阵函数超过列数,为一个矩阵并且,记为,则完全正交分解产生一个的正交矩阵和一个的上三角矩阵,满足。则完全正交分解产生一个的正交矩
22、阵和一个的上三角矩阵,满足。MATLAB 中矩阵的完全分解由函数中矩阵的完全分解由函数 qr 实现。实现。l简化分解简化分解矩阵的简化正交分解可以节省存储空间和运算时间。正交分解可以通矩阵的简化正交分解可以节省存储空间和运算时间。正交分解可以通过在过在 qr 函数中设置第二个参数为函数中设置第二个参数为 0 实现。实现。l与与 LU 分解不同,分解不同,QR 分解不需要对矩阵进行旋转或者置换,如上面分解不需要对矩阵进行旋转或者置换,如上面的两个例子。但是如果对矩阵进行置换可以避免由于矩阵奇异造成的的两个例子。但是如果对矩阵进行置换可以避免由于矩阵奇异造成的误差。选择置换后,在分解的每一步,选择
23、剩下列中范数最大的一列误差。选择置换后,在分解的每一步,选择剩下列中范数最大的一列作为分解的基。这样得到的结果中,作为分解的基。这样得到的结果中,R 的对角线元素按照降序排列。的对角线元素按照降序排列。包含置换的正交分解可以通过增加包含置换的正交分解可以通过增加 qr 函数的输出参数得到。函数的输出参数得到。11/16/2022第19页MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社矩阵指数函数和幂函数矩阵指数函数和幂函数 l矩阵的正整数幂矩阵的正整数幂 如果如果 A 为方阵,为方阵,p 为正整数,则为正整数,则 Ap 表示表示 p 个个 A 相乘。相乘。l矩阵的负数幂与
24、分数幂矩阵的负数幂与分数幂如果如果 A 为非奇异方阵,则为非奇异方阵,则 A(-p)等价于等价于 inv(A)p。lMATLAB 中,允许对矩阵进行分数幂运算,运算结果依中,允许对矩阵进行分数幂运算,运算结果依赖于矩阵特征值的分布情况。赖于矩阵特征值的分布情况。l矩阵指数运算矩阵指数运算 expm 用于实现矩阵的指数运算。用于实现矩阵的指数运算。线性系统线性系统 的解可以表示为的解可以表示为 ,其中的,其中的矩阵指数运算可以通过矩阵指数运算可以通过expm 完成。完成。11/16/2022第20页MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社矩阵特征值矩阵特征值 l矩阵
25、的特征值和特征值分解在线性代数中一直扮演着重要的角色。在矩阵的特征值和特征值分解在线性代数中一直扮演着重要的角色。在 MATLAB 中,函数中,函数eig 实现矩阵的特征值计算和特征值分解。实现矩阵的特征值计算和特征值分解。l例例 4-23 利用函数利用函数 eig 实现矩阵的特征值计算实现矩阵的特征值计算l利用例利用例 2-22 中的矩阵中的矩阵 A。在命令窗口中输入:。在命令窗口中输入:A=0,-6,-1;6,2,-16;-5,20,-10;A=0 -6 -1 6 2 -16 -5 20 -10 lambda=eig(A)lambda=-3.0710 -2.4645+17.6008i -2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 数学 运算
限制150内