⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ch5_3_3.htm

📁 有关matlab的详细介绍
💻 HTM
字号:
<! Made by Html Translation Ver 1.0>
<HTML>
<HEAD>
<TITLE> 矩阵分解 </TITLE>
</HEAD>

<BODY BACKGROUND="bg0000.gif" tppabs="http://166.111.167.223/computer/cai/matlabjc/img/bg0000.gif">
<FONT COLOR="#0000FF">
<H1>5.3.3 矩阵分解</H1>
</FONT>
<HR>

<P>
矩阵分解<FONT FACE="Times New Roman"> (decomposition, factorization)</FONT>是多半将矩阵拆解为数个三角形矩阵<FONT FACE="Times New Roman">(triangular matrix)</FONT>,依使用目的的不同
,可分为三种矩阵分解法:<FONT FACE="Times New Roman">1)</FONT>三角分解法<FONT FACE="Times New Roman"> (Triangular Factorization)</FONT>,<FONT FACE="Times New Roman">2)QR</FONT>
分解法<FONT FACE="Times New Roman"> (QR Factorization)</FONT>,<FONT FACE="Times New Roman">3)</FONT>奇异值分
解法<FONT FACE="Times New Roman"> (Singular Value
Decompostion)</FONT>。<BR>
<P>
<U>(1) 三角分解法<BR>
</U>
<P>
三角分解法是将原正方<FONT FACE="Times New Roman"> (square) </FONT>矩阵分解成一个上三角形矩阵 或是排列<FONT FACE="Times New Roman">(permuted) </FONT>的上三角形矩阵 和一个
下三角形矩阵,这样的分解法又称为<FONT FACE="Times New Roman">LU</FONT>分解法。它的用途主要在简化一个大矩阵的行列式值的计算过程,求
反矩阵,和求解联立方程组。不过要注意这种分解法所得到的上下三角形矩阵并非唯一,还可找到数个不同
的一对上下三角形矩阵,此两三角形矩阵相乘也会得到原矩阵。
<BR>
<P>
我们举以下二个矩阵为例:
<P>
 <IMG SRC="img00027.gif" tppabs="http://166.111.167.223/computer/cai/matlabjc/img5/img00027.gif">
<P>
利用三角分解法可将<FONT FACE="Times New Roman">A</FONT>和<FONT FACE="Times New Roman">B</FONT>二矩阵分别拆解为上下三角形矩阵
<P>
 <IMG SRC="img00028-1.gif" tppabs="http://166.111.167.223/computer/cai/matlabjc/img5/img00028.gif">
<P>
注意<FONT FACE="Times New Roman">B</FONT>分解的矩阵得到的第一个矩阵<FONT FACE="Times New Roman">[LB]</FONT>是排列的下三角形矩阵,如果第二、三列互换,则此变成完全的下
三角形矩阵。
<BR>
<P>
以<FONT FACE="Times New Roman">MATLAB</FONT>函数计算上述的<FONT FACE="Times New Roman">LU</FONT>分解法,其语法为<FONT FACE="Times New Roman"></FONT><FONT COLOR=#FF0000 FACE="Times New Roman">[L,U]=lu(A)</FONT>,其中<FONT COLOR=#FF0000 FACE="Times New Roman">L</FONT>代表下三角形矩阵<FONT COLOR=#FF0000 FACE="Times New Roman">U</FONT>代表上三角形矩阵。
我们来看一个例子。
<P>
<FONT COLOR=#FF0000 FACE="Times New Roman">&gt;&gt; A = [1 2 -1,
-2 -5 3; -1 -3 0]; B=[1 3 2; -2 -6 1; 2 5 7];</FONT>
<P>
<FONT COLOR=#FF0000 FACE="Times New Roman">&gt;&gt; [L1,U1] =
lu(A); [L2,U2] = lu(B);</FONT>
<P>
<FONT COLOR=#FF0000 FACE="Times New Roman">&gt;&gt; L1; U1</FONT>
<P>
<FONT COLOR=#FF0000 FACE="Times New Roman">L1 =     % </FONT><FONT COLOR=#FF0000>注意这个矩阵</FONT><FONT COLOR=#FF0000 FACE="Times New Roman">L1</FONT><FONT COLOR=#FF0000>和之前的</FONT><FONT COLOR=#FF0000 FACE="Times New Roman">[LA]</FONT><FONT COLOR=#FF0000>不相同</FONT>
<P>
<FONT COLOR=#FF0000> </FONT><FONT COLOR=#FF0000 FACE="Times New Roman">-0.5
 1 0</FONT>
<P>
<FONT COLOR=#FF0000 FACE="Times New Roman"> 1  0 0</FONT>
<P>
<FONT COLOR=#FF0000 FACE="Times New Roman"> 0.5  1 1</FONT>
<P>
<FONT COLOR=#FF0000 FACE="Times New Roman">U1 =    % </FONT><FONT COLOR=#FF0000>注意这个矩阵</FONT><FONT COLOR=#FF0000 FACE="Times New Roman">U1</FONT><FONT COLOR=#FF0000>和之前的</FONT><FONT COLOR=#FF0000 FACE="Times New Roman">[UA]</FONT><FONT COLOR=#FF0000>不相同</FONT>
<P>
<FONT COLOR=#FF0000> </FONT><FONT COLOR=#FF0000 FACE="Times New Roman">-2
-5  3</FONT>
<P>
<FONT COLOR=#FF0000 FACE="Times New Roman"> 0 -0.5  0.5</FONT>
<P>
<FONT COLOR=#FF0000 FACE="Times New Roman"> 0 0   -2</FONT>
<P>
<FONT COLOR=#FF0000 FACE="Times New Roman">&gt;&gt; L2; U2</FONT>
<P>
<FONT COLOR=#FF0000 FACE="Times New Roman">L2 =     % </FONT><FONT COLOR=#FF0000>注意这个矩阵</FONT><FONT COLOR=#FF0000 FACE="Times New Roman">L2</FONT><FONT COLOR=#FF0000>和之前的</FONT><FONT COLOR=#FF0000 FACE="Times New Roman">[LB]</FONT><FONT COLOR=#FF0000>不相同</FONT>
<P>
<FONT COLOR=#FF0000> </FONT><FONT COLOR=#FF0000 FACE="Times New Roman">-0.5
 0 1</FONT>
<P>
<FONT COLOR=#FF0000 FACE="Times New Roman"> 1  0 0</FONT>
<P>
<FONT COLOR=#FF0000 FACE="Times New Roman"> -1  1 0</FONT>
<P>
<FONT COLOR=#FF0000 FACE="Times New Roman">U2 =    % </FONT><FONT COLOR=#FF0000>注意这个矩阵</FONT><FONT COLOR=#FF0000 FACE="Times New Roman">U2</FONT><FONT COLOR=#FF0000>和之前的</FONT><FONT COLOR=#FF0000 FACE="Times New Roman">[UB]</FONT><FONT COLOR=#FF0000>不相同</FONT>
<P>
<FONT COLOR=#FF0000> </FONT><FONT COLOR=#FF0000 FACE="Times New Roman">-2
-6  1</FONT>
<P>
<FONT COLOR=#FF0000 FACE="Times New Roman"> 0 -1  8</FONT>
<P>
<FONT COLOR=#FF0000 FACE="Times New Roman"> 0 0   2.5<BR>
</FONT>
<P>
<U>(2) QR分解法<BR>
</U>
<P>
QR分解法是将矩阵分解成一个正规正交矩阵与上三角形矩阵。还记得先前我们介绍的正规正交矩阵Q满足<IMG SRC="img00029-1.gif" tppabs="http://166.111.167.223/computer/cai/matlabjc/img5/img00029.gif">的条件吗!所以称为QR分解法与此正规正交矩阵的通用符号Q有关。
<BR>
<P>
MATLAB以<FONT COLOR=#FF0000 FACE="Times New Roman">qr</FONT>函数来执行<FONT FACE="Times New Roman">QR</FONT>分解法,
其语法为<FONT COLOR=#FF0000>[Q,R]=qr(A)</FONT>,其中<FONT COLOR=#FF0000>Q</FONT>代表正规正交矩阵,而<FONT COLOR=#FF0000 >R</FONT>代表上三角形矩
阵。此外,原矩阵<FONT COLOR=#FF0000>A</FONT>不必为正方矩阵;如果矩阵<FONT COLOR=#FF0000>A</FONT>大小为<IMG SRC="img00030.gif" tppabs="http://166.111.167.223/computer/cai/matlabjc/img5/img00030.gif">,则矩阵<FONT COLOR=#FF0000 FACE="Times New Roman">Q</FONT>大小为<IMG SRC="img00031.gif" tppabs="http://166.111.167.223/computer/cai/matlabjc/img5/img00031.gif">,矩阵<FONT COLOR=#FF0000 FACE="Times New Roman">R</FONT>大小为<IMG SRC="img00032.gif" tppabs="http://166.111.167.223/computer/cai/matlabjc/img5/img00032.gif">。
<BR>
<U>(3) 奇异值分解法</U>
<P>
奇异值分解<FONT FACE="Times New Roman"> (sigular value decomposition,SVD) </FONT>是另一种正交矩阵分解法;<FONT FACE="Times New Roman">SVD</FONT>是最可靠的分解法,但是它比<FONT FACE="Times New Roman">QR</FONT>
分解法要花上近十倍的计算时间。<FONT COLOR=#FF0000 FACE="Times New Roman">[U,S,V]=svd(A)</FONT>,其中<FONT COLOR=#FF0000 FACE="Times New Roman">U</FONT>和<FONT COLOR=#FF0000 FACE="Times New Roman">V</FONT>代表二个相互正交矩阵,而<FONT COLOR=#FF0000 FACE="Times New Roman">S</FONT>代表一对角矩阵。
和<FONT FACE="Times New Roman">QR</FONT>分解法相同者,
原矩阵<FONT COLOR=#FF0000 FACE="Times New Roman">A</FONT>不必为正方矩阵。
<P>
使用<FONT FACE="Times New Roman">SVD</FONT>分解法的用途是解最小平方误差法和数据压缩。<P><HR>
<A HREF="ch5_3_2.htm" tppabs="http://166.111.167.223/computer/cai/matlabjc/ch5_3_2.htm"><IMG SRC="lastpage.gif" tppabs="http://166.111.167.223/computer/cai/matlabjc/img/lastpage.gif" BORDER=0></A>
<A HREF="ch6.htm" tppabs="http://166.111.167.223/computer/cai/matlabjc/ch6.htm"><IMG SRC="nextpage-1.gif" tppabs="http://166.111.167.223/computer/cai/matlabjc/img/nextpage.gif" BORDER=0 HSPACE=10></A>
<A HREF="index.html" tppabs="http://166.111.167.223/computer/cai/matlabjc/index.html"><IMG SRC="outline-1.gif" tppabs="http://166.111.167.223/computer/cai/matlabjc/img/outline.gif" BORDER=0 HSPACE=6></A><BR>
<FONT SIZE=2 COLOR=#AA55FF> 上一页 下一页 讲义大纲 </FONT>
</BODY>
</HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -