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

📄 ch5_3_3.htm

📁 MATLAB 程式设计与应用,有很多用途的示例,及对接口都有详细的说明
💻 HTM
字号:
<! Made by Html Translation Ver 1.0><html><head><title> 矩阵分解 </title></head><body BACKGROUND="../img1/bg0000.gif" tppabs="http://webclass.ncu.edu.tw/~junwu/img/bg0000.gif"><script language="JAVASCRIPT"><!--if (navigator.onLine){document.write("<!-- Spidersoft WebZIP Ad Banner Insert -->");document.write("<TABLE width=100% border=0 cellpadding=0 cellspacing=0>");document.write("<TR>");document.write("<TD>");document.write("<ILAYER id=ad1 visibility=hidden height=60></ILAYER>");document.write("<NOLAYER>");document.write("<IFRAME SRC='http://www.spidersoft.com/ads/bwz468_60.htm' width=100% height=60 marginwidth=0 marginheight=0 hspace=0 vspace=0 frameborder=0 scrolling=no></IFRAME>");document.write("</NOLAYER>");document.write("</TD>");document.write("</TR>");document.write("</TABLE>");document.write("<!-- End of Spidersoft WebZIP Ad Banner Insert-->");} //--></script><!-- Spidersoft WebZIP Ad Banner Insert --><!-- End of Spidersoft WebZIP Ad Banner Insert--><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><p><u>(1) 三角分解法<br></u></p><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>我们举以下二个矩阵为例: </p><p>利用三角分解法可将<font FACE="Times New Roman">A</font>和<font FACE="Times New Roman">B</font>二矩阵分别拆解为上下三角形矩阵 </p><p><img SRC="../img5/img00028.gif" tppabs="http://webclass.ncu.edu.tw/~junwu/img5/img00028.gif" WIDTH="512" HEIGHT="75"> </p><p>注意<font FACE="Times New Roman">B</font>分解的矩阵得到的第一个矩阵<font FACE="Times New Roman">[LB]</font>是排列的下三角形矩阵,如果第二、三列互换,则此变成完全的下 三角形矩阵。 <br></p><p>以<font FACE="Times New Roman">MATLAB</font>函数计算上述的<font FACE="Times New Roman">LU</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><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><p><font COLOR="#FF0000" FACE="Times New Roman">&gt;&gt; [L1,U1] = lu(A); [L2,U2] = lu(B);</font> </p><p><font COLOR="#FF0000" FACE="Times New Roman">&gt;&gt; L1; U1</font> </p><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><p><font COLOR="#FF0000" FACE="Times New Roman">-0.5 1 0</font> </p><p><font COLOR="#FF0000" FACE="Times New Roman">1 0 0</font> </p><p><font COLOR="#FF0000" FACE="Times New Roman">0.5 1 1</font> </p><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><p><font COLOR="#FF0000" FACE="Times New Roman">-2 -5 3</font> </p><p><font COLOR="#FF0000" FACE="Times New Roman">0 -0.5 0.5</font> </p><p><font COLOR="#FF0000" FACE="Times New Roman">0 0 -2</font> </p><p><font COLOR="#FF0000" FACE="Times New Roman">&gt;&gt; L2; U2</font> </p><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><p><font COLOR="#FF0000" FACE="Times New Roman">-0.5 0 1</font> </p><p><font COLOR="#FF0000" FACE="Times New Roman">1 0 0</font> </p><p><font COLOR="#FF0000" FACE="Times New Roman">-1 1 0</font> </p><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><p><font COLOR="#FF0000" FACE="Times New Roman">-2 -6 1</font> </p><p><font COLOR="#FF0000" FACE="Times New Roman">0 -1 8</font> </p><p><font COLOR="#FF0000" FACE="Times New Roman">0 0 2.5<br></font></p><p><u>(2) QR分解法<br></u></p><p>QR分解法是将矩阵分解成一个正规正交矩阵与上三角形矩阵。还记得先前我们介绍的正规正交矩阵Q满足<img SRC="../img5/img00029.gif" tppabs="http://webclass.ncu.edu.tw/~junwu/img5/img00029.gif" WIDTH="61" HEIGHT="26">的条件吗!所以称为QR分解法与此正规正交矩阵的通用符号Q有关。 <br></p><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="../img5/img00030.gif" tppabs="http://webclass.ncu.edu.tw/~junwu/img5/img00030.gif" WIDTH="44" HEIGHT="17">,则矩阵<font COLOR="#FF0000" FACE="Times New Roman">Q</font>大小为<img SRC="../img5/img00031.gif" tppabs="http://webclass.ncu.edu.tw/~junwu/img5/img00031.gif" WIDTH="48" HEIGHT="17">,矩阵<font COLOR="#FF0000" FACE="Times New Roman">R</font>大小为<img SRC="../img5/img00032.gif" tppabs="http://webclass.ncu.edu.tw/~junwu/img5/img00032.gif" WIDTH="38" HEIGHT="16">。 <br><u>(3) 奇异值分解法</u> </p><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><p>使用<font FACE="Times New Roman">SVD</font>分解法的用途是解最小平方误差法和数据压缩。</p><hr><a HREF="ch5_3_2.htm" tppabs="http://webclass.ncu.edu.tw/~junwu/ch5_3_2.htm"><p><img SRC="../img1/lastpage.gif" tppabs="http://webclass.ncu.edu.tw/~junwu/img/lastpage.gif" BORDER="0" WIDTH="42" HEIGHT="42"></a> <a HREF="../chapter6/ch6.htm" tppabs="http://webclass.ncu.edu.tw/~junwu/ch6.htm"><img SRC="../img1/nextpage.gif" tppabs="http://webclass.ncu.edu.tw/~junwu/img/nextpage.gif" BORDER="0" HSPACE="10" WIDTH="42" HEIGHT="42"></a> <a HREF="../index.html" tppabs="http://webclass.ncu.edu.tw/~junwu/index.html"><img SRC="../img1/outline.gif" tppabs="http://webclass.ncu.edu.tw/~junwu/img/outline.gif" BORDER="0" HSPACE="6" WIDTH="42" HEIGHT="42"></a><br><font SIZE="2" COLOR="#AA55FF">上一页 下一页 讲义大纲 </font><layer src="http://www.spidersoft.com/ads/bwz468_60.htm" visibility="hidden" id="a1" width="600" onload="moveToAbsolute(ad1.pageX,ad1.pageY); a1.clip.height=60;visibility='show';"></layer> </p></body></html>

⌨️ 快捷键说明

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