技术凝聚实力 专业创新出版
第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 求解线性代数方程信号处理,自动控制等工程领域的众多问题可 以归结为下面的数学问题:已知, a11 x1 + a12 x2 + + a1N x N = b1 a11 a12 a x + a x + + a x = b a a 22 22 2 2N N 2 21 21 1 , 求x1 , x2 , , x N .令A = a M 1 x1a M 2 x2 +
+ a MN a N = bM aM 1 aM 2 x1 b1 x b 2 2 x = ,b = xN b N a1N a2 N a MN
则有,称为系数矩阵,为值向量,为解向量. 令,为扩展系数矩阵,的解与的秩,的行列式, 逆,条件数等有关,这些内容将在下面的各节 中详细展开.
技术凝聚实力 专业创新出版
7.1.3 最大(小)值考虑信号估计理论中的一个经典问题:在(恒 量)的条件下,求向量使最大,其中为实对称 矩阵.可以证明,当为最大特征值对应的特征 向量时,达到最大值,为的最大特征值;相反, 当为最小特征值对应的特征向量时,达到最小 值,为的最小特征值. 实际上,矩阵的特征值和特征向量在许多工程 应用中都具有很重要的应用,例如线性系统的 稳定性取决于系统特征矩阵的谱半径等.
技术凝聚实力 专业创新出版
7.2 矩阵基本运算矩阵是MATLAB数据组织和运算的基本单元,矩阵的加, 减,乘,除四则运算,幂运算,比较运算和逻辑运算等 代数运算是MATLAB数值计算最基础的部分.这里可以粗 略地将矩阵运算分为两类,即普通数值运算(四则运算, 幂运算)和关系运算(比较运算,逻辑运算),最后本 节特别介绍了矩阵的按位运算. 为了描述的方便,这里对本节所涉及相关数学符号稍作 统一,矩阵用大写字母表示,如,,;矩阵的第行,第 列元素用带下标的小写字母表示,如,,;表示的转置 矩阵;表示的Hermite转置;为方阵的行列式;为方阵 的逆矩阵;为方阵的范数.
技术凝聚实力 专业创新出版
7.2.1 矩阵的加,减矩阵的加,减运算定义为相应元素的加减.对 矩阵,,其和(差)C = A ± B ,C也为 M × N 矩阵, cmn = amn + bmn 且 . 矩阵的加,减运算要求参与运算的矩阵具有相 同的大小,或者其中之一为标量,例如M × N矩 阵A与标量 x 的和(差)C = ( A ± x ), C 为M × N 矩 阵,且 cmn = amn + x .
技术凝聚实力 专业创新出版
7.2.2 矩阵乘法
技术凝聚实力 专业创新出版
7.2.3 矩阵除法矩阵除法是乘法的逆运算,MATLAB也定义了两 类矩阵除法.第一类是矩阵的线性代数除法, 对应于矩阵线性代数乘法的逆运算.矩阵线性 代数除法又有两种算子,即右除算子和左除算 子,如表所示.B,则 / C A=C\ AB = C B A
矩阵线性代数除法运算符 名 称 说 明
/
右除
\
左除
技术凝聚实力 专业创新出版
7.2.4 矩阵的幂矩阵的幂与矩阵乘法具有紧密的联系,MATLAB 也定义了两类矩阵幂运算.第一类与矩阵线性 代数乘法相对应,由 C = A ^ n 表示,其中为阶方 阵,C = A A A .n
技术凝聚实力 专业创新出版
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节给出的线性方程组求解问题.根据, 的不同取值,线性方程组可以分为以下三类:
M > N,为超定方程; M = N,为
恰定方程;M < N,为欠定方程.
技术凝聚实力 专业创新出版
7.4 矩阵分解矩阵分解是矩阵理论的重要内容,在信号处理, 自动控制等众多领域中有着非常广泛的应用. 矩阵分解通过将复杂矩阵表示成形式简单或具 有良好数学性质(统称为简单矩阵)的组合, 以便于理论分析或数值计算.通常矩阵分解将 复杂矩阵分解为几个简单矩阵的乘积.在很多 算法研究中,扑惴ǖ奈榷ㄐ院涂焖傩缘龋嗉 烫岢隽烁髦志卣蠓纸夥椒ǎ缣卣鞣纸猓EVD), Schur分解,Cholesky分解,LU分解,QR分解, SVD分解等,
技术凝聚实力 专业创新出版
7.4.1 特征分解
技术凝聚实力 专业创新出版
7.4.2 Schur分解