购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2.4 矩阵分解及特殊操作

1.矩阵分解

(1)特征值分解。

①矩阵 X 的特征值分解:[ V D ]=eig( X )、[ V D ]=eig( X ,‘nobalance’),此时矩阵的特征值分解满足 X × V = V × D V 是特征向量以列排成的矩阵, D 是特征值位于对应的主对角线的特征值矩阵;

②矩阵 A B 的广义特征值分解:[ V D ]=eig( A B ),即矩阵分解满足 A × V = B × V × D

③复数特征值对角阵与实数特征值对角阵的转换,即当特征值矩阵出现复数时,可由函数调用[ V D ]=cdf2rdf( V D )将复数转成实数;也可由[ U T ]=rsf2csf( U T )将实数转成复数。

(2)其他的矩阵分解。

①奇异值分解:矩阵 X 的奇异值分解:[ U S V ]=svd( X ),此时矩阵分解满足 X = U × S × V'

②LU分解:矩阵的LU分解是将一个矩阵 A 分解为左上三角和右上三角的两个同维矩阵 L U :[ L U ]=lu( A ),即矩阵分解满足 A = L × U

③Chol分解:若 A n 阶对称正定矩阵,调用函数 L =chol( A )可将 A 分解为一个非奇异下三角实矩阵 L 与它转置矩阵的乘积, L 的对角元素为正,即 A = L' × L

④QR分解:实矩阵 A 可分解为正交阵 q 和上三角阵 r 的乘积,若 r 的对角线元素为正值,则分解唯一,即[ q r ]= qr A ),有 A = q × r

2.13 矩阵分解。

(1)矩阵分解——矩阵特征值分解。

在Matlab命令行窗口运行ex2_13.m中的这些语句,得到如下结果,由ans矩阵的各元素均显示为逻辑 1 可知, a × v v × d 相等。

(2)矩阵分解——矩阵特征值分解。

在Matlab命令行窗口运行ex2_13.m中的这些语句,得到如下结果。由 3 ×3 逻辑矩阵ans的各元素均显示为 1 可知,在双矩阵的广义特征值分解中, a × v b × v × d 相等;在复数特征值矩阵与实数特征值矩阵的转换运算中,在Matlab计算误差范围内, c × v - v × d 各元素均为 0,即 c × v v × d 相等,同样地 c × vs vs × ds 相等, c × vr vr × dr 相等。

(3)矩阵分解——其他的矩阵分解。

在Matlab命令行窗口运行ex2_13.m中的这些语句,得到如下结果。

2.矩阵的特殊操作

运算中常常需要对矩阵进行特殊操作,如矩阵的变维和变向、矩阵的抽取、矩阵的扩维和缩维等。

(1)矩阵的变维。

①矩阵 X 的变维可通过调用内置函数reshape( X m n p ,…)实现,变维后的矩阵与原矩阵具有相同个数的元素;

②矩阵的变维也可采用“:”,通过维数一致的两矩阵之间的运算实现。

(2)矩阵的变向:其操作包括矩阵的旋转、左右翻转和上下翻转。

①矩阵 A 旋转内置函数为rot90( A )或rot90( A k ),其中 k 为顺时针或逆时针的标记。 k =0时矩阵 A 不旋转, k =1 (函数默认值)时矩阵 A 逆时针旋转 90 度, k =-1 时矩阵 A 顺时针旋转 90 度;

②矩阵 A 左右翻转内置函数为fliplr( A );

③矩阵 A 上下翻转内置函数为flipud( A );

④矩阵 A 第dim维翻转内置函数为flipdim( A ,dim)。

(3)矩阵的抽取。

①对角元素抽取内置函数:diag( A k ),diag( A ),diag(diag( A )), k 为对角线的标记, k 为正整数表示上对角线, k 为负整数则表示下对角线;

②左下三角矩阵抽取函数:tril( A ),tril( A k ),右上三角矩阵抽取函数:triu( A ),triu( A k ), k 的取值同上。

(4)矩阵的扩维和缩维。

①对矩阵标识块赋值 X m 1: m 2, n 1: n 2)= A ,可用于扩维或缩维,缩维时 A 为空阵;

②利用小矩阵组合生成匹配的大矩阵,可用于矩阵扩维。

2.14 矩阵的特殊操作。

(1)矩阵的特殊操作——矩阵的变维、变向。

在Matlab命令行窗口运行ex2_14.m中的这些语句,有如下结果。可以看出,矩阵的变维中,矩阵 a b c 具有相同个数的矩阵元素;矩阵的变向中,rot90( c )为 c 矩阵逆时针旋转90 度,不需要输入 k =1;当输入 k =-1 时,矩阵 c 顺时针旋转 90 度。

(2)矩阵的特殊操作——矩阵的抽取。

在Matlab命令行窗口运行ex2_14.m中的这些语句,得到如下结果。

(3)矩阵的特殊操作——矩阵的扩维和缩维。

在Matlab命令行窗口运行ex2_14.m中的这些语句,得到如下结果。 sqOeE4esubhYQcv9QSUekO1IGGwjNnOh3fhG7pCMMpxAvK8w450ETiGPDdGtUZ/p

点击中间区域
呼出菜单
上一章
目录
下一章
×