欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载
     

    第7章MATLAB710矩阵分析.ppt

    • 资源ID:2551778       资源大小:737.01KB        全文页数:36页
    • 资源格式: PPT        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第7章MATLAB710矩阵分析.ppt

    第7章 矩阵分析,MATLAB为工程技术人员、科研工作者提供了方便、强大的数值计算功能,这也是MATLAB得以流行的重要因素。用户在利用MATLAB解决实际问题时,首先将该问题转化为数学问题,然后将相应的数学求解过程翻译为MATLAB程序代码。同其他计算机语言(如C、C+、Java等)不同的是,MATLAB语言是一种边解释边执行的程序语言,其风格更像是一种数学语言。因此用户利用MATLAB解决问题并不需要了解很多编程方面的知识,而只需懂得基本的MATLAB语法。另外,MATLAB内置了大量的数值计算函数,这些函数封装了常用的数值计算功能。利用这些数值计算函数,用户能够从烦琐的编程工作中解放出来,集中精力解决问题。本书将MATLAB数值计算分为四章分别讨论,本章及下面的两章(8、9)分别介绍矩阵分析、函数分析和数据分析等初等数值计算内容,第10章将讨论数值计算的一些高级话题。 本章的矩阵分析主要讨论以下问题:矩阵基本运算,如加、减、乘、除四则运算等;矩阵特征量,如行列式、条件数、范数、秩等;矩阵分解;矩阵函数;稀疏矩阵。,7.1 MATLAB数值计算中的矩阵,矩阵分析无论是在数学理论还是实际工程问题中都具有重要的应用,例如,线性方程组的解与矩阵除法、矩阵的特征量(如行列式、逆、条件数、秩等)、矩阵分解相关;二次型(,为特征矩阵)的最大(小)值为对应特征矩阵的最大(小)特征值;线性系统的稳定性与系统特征矩阵的谱半径有关。 MATLAB的最初雏形是为了解决大规模矩阵运算而编写的一系列函数模块。矩阵作为MATLAB的基本数据结构,一直是MATLAB的核心,是MATLAB基本的运算单元,其大部分的内建函数也都支持矩阵作为输入变量,用户在编写自用程序时也应当尽量遵循这一约定。,7.1.1 MATLAB中的矩阵,前面的章节已对MATLAB中矩阵的概念、创建、操作等进行了详细的介绍,矩阵作为MATLAB数据组织、运算的基本单元,为MATLAB带来了众多的优势: 高效,利用矩阵封装多重循环运算,通过其内置的程序优化提高代码运行效率; 简洁,矩阵对多重循环的封装使代码更加简洁、方便; 安全,矩阵运算内置了相关的出错处理,代码更加安全,同时除错也更加方便。 另外,MATLAB的大部分内建函数都支持矩阵作为输入变量,相应地以矩阵作为输出变量,这使得程序结构更加清晰,代码编写也更加简便。,7.1.2 求解线性代数方程,信号处理、自动控制等工程领域的众多问题可以归结为下面的数学问题:已知, 则有,称为系数矩阵,为值向量,为解向量。令,为扩展系数矩阵,的解与的秩、的行列式、逆、条件数等有关,这些内容将在下面的各节中详细展开。,7.1.3 最大(小)值,考虑信号估计理论中的一个经典问题:在(恒量)的条件下,求向量使最大,其中为实对称矩阵。可以证明,当为最大特征值对应的特征向量时,达到最大值,为的最大特征值;相反,当为最小特征值对应的特征向量时,达到最小值,为的最小特征值。 实际上,矩阵的特征值和特征向量在许多工程应用中都具有很重要的应用,例如线性系统的稳定性取决于系统特征矩阵的谱半径等。,7.2 矩阵基本运算,矩阵是MATLAB数据组织和运算的基本单元,矩阵的加、减、乘、除四则运算、幂运算、比较运算和逻辑运算等代数运算是MATLAB数值计算最基础的部分。这里可以粗略地将矩阵运算分为两类,即普通数值运算(四则运算、幂运算)和关系运算(比较运算、逻辑运算),最后本节特别介绍了矩阵的按位运算。 为了描述的方便,这里对本节所涉及相关数学符号稍作统一,矩阵用大写字母表示,如、;矩阵的第行、第列元素用带下标的小写字母表示,如、;表示的转置矩阵;表示的Hermite转置;为方阵的行列式;为方阵的逆矩阵;为方阵的范数。,7.2.1 矩阵的加、减,矩阵的加、减运算定义为相应元素的加减。对矩阵、,其和(差) ,C也为 矩阵,且 。 矩阵的加、减运算要求参与运算的矩阵具有相同的大小,或者其中之一为标量,例如 矩阵A与标量 的和(差) , 为 矩阵,且 。,7.2.2 矩阵乘法,7.2.3 矩阵除法,矩阵除法是乘法的逆运算,MATLAB也定义了两类矩阵除法。第一类是矩阵的线性代数除法,对应于矩阵线性代数乘法的逆运算。矩阵线性代数除法又有两种算子,即右除算子和左除算子,如表所示。,矩阵线性代数除法,,则,,则,7.2.4 矩阵的幂,矩阵的幂与矩阵乘法具有紧密的联系,MATLAB也定义了两类矩阵幂运算。第一类与矩阵线性代数乘法相对应,由 表示,其中为阶方阵, 。,7.2.5 矩阵按位运算,按位运算是MATLAB为矩阵设计的一种简洁、高效、安全的运算模式,实际上是对多重循环的高效封装,从而提高代码执行的高效和安全程度。前面介绍的矩阵加减、按位乘除、按位幂都是按位运算符。按位运算符一般有一个(.)作为前导符,,矩阵的按位运算符,7.2.6 关系运算,注意到例7.10中的向量化代码(Mean = mean(V(V=1)),该段代码涉及三种按位运算:比较运算、逻辑运算和逻辑下标。这三种运算为代码向量化提供了强大的引擎。表列出了MATLAB支持的比较运算符和逻辑运算符。,比较运算,7.3 矩阵特征量,线性代数中有一些矩阵特征量用于刻画矩阵某方面的性质,如行列式、范数、条件数、秩等。这里从求解7.1.2给出的线性方程组出发讨论矩阵相关的特征量,包括矩阵的行列式、秩、范数、条件数、范数以及矩阵的逆。,7.3.1 矩阵的行列式,关于矩阵行列式的概念,这里不作赘述,如有疑问,请参考任何一本线性代数方面的书籍。如阶矩阵的行列式不等于0,即时,称矩阵非奇异,否则奇异。如果限定线性方程组的系数矩阵为方阵,当非奇异,则线性方程有惟一解。 对N阶方阵,MATLAB调用函数得到矩阵行列式,下面是求阶方阵行列式的例子。,7.3.2 矩阵的逆,若系数矩阵非奇异,即,则线性方程组有惟一解,该惟一解为,其中为的逆矩阵。对非奇异矩阵,其逆矩阵是满足以下条件的矩阵:(I为单位矩阵)。 MATLAB调用函数inv(A)求的逆矩阵,以下是逆矩阵应用的一些例子,这些例子也验证了前面给出的关于逆矩阵的性质。,7.3.3 矩阵的范数,如果将矩阵看作一个线性变换系统,则矩阵范数从整体上描述了系统的放大作用,矩阵范数的定义如下:。其中为列向量,为向量的范数。 对矩阵,常用的范数有以下几种。 1-范数,也称为列和范数。 2-范数,为A的奇异值。 范数,也称为行和范数。 F-范数,。 MATLAB利用函数norm计算范数,函数norm的调用格式为: norm(A, opt),7.3.4 矩阵的条件数,7.3.2小节中提到,当线性方程组系数矩阵非奇异时,线性方程有唯一惟一解,且该解为。那么一个很容易想到的问题就是:当系数矩阵接近奇异时,例如很小,利用求解线性方程组会有什么样的问题? 这里暂且撇开上面提出的问题,而首先考虑以下问题:即如何衡量是大还是小的问题。对这一问题,显然需要确定一个参考数量以确定是大还是小,这一参考数量称为矩阵的范数,用表示。当成立时,则认为小,矩阵是奇异的。,7.3.5 矩阵的秩,对7.1.2节给出的线性方程组求解问题。根据、的不同取值,线性方程组可以分为以下三类: ,为超定方程; ,为恰定方程; ,为欠定方程。,7.4 矩阵分解,矩阵分解是矩阵理论的重要内容,在信号处理、自动控制等众多领域中有着非常广泛的应用。矩阵分解通过将复杂矩阵表示成形式简单或具有良好数学性质(统称为简单矩阵)的组合,以便于理论分析或数值计算。通常矩阵分解将复杂矩阵分解为几个简单矩阵的乘积。在很多算法研究中,扑惴奈榷院涂焖傩缘龋嗉烫岢隽烁髦志卣蠓纸夥椒缣卣鞣纸猓EVD)、Schur分解、Cholesky分解、LU分解、QR分解、SVD分解等,,7.4.1 特征分解,7.4.2 Schur分解,7.4.3 Cholesky分解,对任意正定矩阵 的Cholesky分解(柯利分解)。Cholesky分解在理论分析、数值计算等方面有重要应用。 MATLAB提供函数chol和cholinc用于正定矩阵的Cholesky分解。Chol常用的调用格式有以下两种: R = chol(X) R,p = chol(X) 如果X为正定矩阵,则返回上三角矩阵R,此时p=0,表示函数调用成功;如果X非正定,则前一种调用会产生错误信息,后一种调用不会产生错误,而是将p设为正整数,用户可以通过查询p的状态检查Cholesky分解是否成功,也可以依此判断X的正定性。,7.4.4 LU分解,7.4.5 QR分解,7.4.6 SVD分解,7.5 矩阵函数,矩阵函数是矩阵理论的重要概念,在信号处理、系统控制等领域有着重要的应用。如果将矩阵看作一个线性系统,那么矩阵函数可以看作系统的级联、合成。利用矩阵函数的概念可以得到很多工程应用中有用的工具。,7.5.1 矩阵函数的概念,7.5.2 常用矩阵函数,7.5.3 自定义矩阵函数,用户除了可以使用MATLAB内建的矩阵函数之外,还可以利用MATLAB提供的funm函数,创建自定义的矩阵函数。 funm函数以矩阵和自定义函数句柄作为输入参数,其一般调用格式为: F = funm(A,fun) F = funm(A, fun, options) F, exitflag = funm(.) 其中fun为函数句柄;option用于计算过程的控制、结果显示等,这里不做具体介绍;exitflag保存了函数结束的信息,若exitflag = 0,则函数计算成功;若exitflag = 1,则表明计算过程不收敛,但结果也有可能是正确的。,7.6 稀疏矩阵,实际工程中的数据处理任务面临大容量数据的挑战,当涉及大型矩阵的数值计算时,一个重要的问题是存储和执行效率的问题。稀疏矩阵的概念,正是为了解决这一问题而提出的。从数学性质上看,稀疏矩阵与一般的矩阵没有差别,但在数据存储和执行算法上有着很大的不同。本节在讲述稀疏矩阵时,经常与全矩阵作对比,使读者对稀疏矩阵的概念和使用方法有一个更加透彻的理解。 本节将一般的矩阵称为全矩阵(Full Matrix),以区别于稀疏矩阵。,7.6.1 稀疏矩阵与全矩阵,稀疏矩阵是这样一类矩阵,其元素仅有少数不为0,而大量的元素为0。稀疏矩阵的这种性质使得MATLAB可以对其采用不同于全矩阵的存储方式和执行算法以提高效率。 MATLAB利用二维数组存储全矩阵,对零元、非零元不作区分,统一采用浮点数;但在存储稀疏矩阵时只存储非零元及其对应的索引值(整型)。显然,这种存储方式能够大大提高稀疏矩阵的存储效率,看下面的例子。,7.6.2 创建稀疏矩阵,除了通过将全矩阵转换为稀疏矩阵外,MATLAB还提供了一系列函数用于创建稀疏矩阵,如表所示。,稀疏矩阵创建函数,7.6.3 稀疏矩阵操作,一般地,能用于全矩阵的操作函数对稀疏矩阵同样有效,并且具有相似的操作规则,现总结如下: 下标寻访赋值函数; 用于矩阵拼接的函数,如cat,horzcat、vertcat、repmat,若输入参数中有一个为稀疏矩阵,则返回结果为稀疏矩阵; 矩阵变形函数,如ctranspose、flipdim、fliplr、flipud、reshape、rot90、transpose,这些函数都是单输入函数,若输入为稀疏矩阵,则返回结果也为稀疏矩阵; 矩阵结构信息函数,如isempty、isscalar、isvector、length、ndims、numel、size; 矩阵数据类型信息函数,如ischar、isfloat、isinteger、islogical、isnumber、isreal,这些函数对稀疏矩阵输入返回稀疏矩阵。,7.6.4 稀疏矩阵的运算,全矩阵的四则运算对稀疏矩阵都是有效的,但是返回结果有可能是稀疏矩阵或者是全矩阵,这要视具体情况而定,现总结如下: 对于单个稀疏矩阵的输入,大部分函数都返回稀疏矩阵,但也有一部分函数返回全矩阵; 对于多个矩阵输入,若其中有一个及一个以上的全矩阵,则大部分的函数都将返回全矩阵; 对于二元运算,如矩阵的加减、乘、除,只要其中有一个为全矩阵,则结果返回全矩阵;稀疏矩阵与标量的加减运算返回全矩阵; 稀疏矩阵的数乘为稀疏矩阵; 稀疏矩阵的幂仍然是稀疏矩阵。,7.7 小结,矩阵是MATLAB数值计算的基本单元,矩阵分析是工程应用的重要工具,通过本章的学习,读者应该熟练掌握以下内容。 矩阵基本运算 矩阵特征量 矩阵分解 矩阵函数 稀疏矩阵 利用矩阵的思想组织程序,第7章 矩阵分析,MATLAB为工程技术人员、科研工作者提供了方便、强大的数值计算功能,这也是MATLAB得以流行的重要因素。用户在利用MATLAB解决实际问题时,首先将该问题转化为数学问题,然后将相应的数学求解过程翻译为MATLAB程序代码。同其他计算机语言(如C、C+、Java等)不同的是,MATLAB语言是一种边解释边执行的程序语言,其风格更像是一种数学语言。因此用户利用MATLAB解决问题并不需要了解很多编程方面的知识,而只需懂得基本的MATLAB语法。另外,MATLAB内置了大量的数值计算函数,这些函数封装了常用的数值计算功能。利用这些数值计算函数,用户能够从烦琐的编程工作中解放出来,集中精力解决问题。本书将MATLAB数值计算分为四章分别讨论,本章及下面的两章(8、9)分别介绍矩阵分析、函数分析和数据分析等初等数值计算内容,第10章将讨论数值计算的一些高级话题。 本章的矩阵分析主要讨论以下问题:矩阵基本运算,如加、减、乘、除四则运算等;矩阵特征量,如行列式、条件数、范数、秩等;矩阵分解;矩阵函数;稀疏矩阵。,

    注意事项

    本文(第7章MATLAB710矩阵分析.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开