(精選)利用MATLAB求線性方程組Word版_第1頁
(精選)利用MATLAB求線性方程組Word版_第2頁
(精選)利用MATLAB求線性方程組Word版_第3頁
(精選)利用MATLAB求線性方程組Word版_第4頁
(精選)利用MATLAB求線性方程組Word版_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、MATLAB語言課成論文 利用MATLAB求線性方程組 姓名:郭亞蘭 學號:12010245331 專業(yè):通信工程 班級:2010級通信工程一班 指導老師:湯全武 學院:物電學院 完成日期:2011年12月17日利用MATLAB求解線性方程組( 郭亞蘭 12010245331 2010 級通信一班 )【摘要】在高等數(shù)學及線性代數(shù)中涉及許多的數(shù)值問題,未知數(shù)的求解,微積分,不定積分,線性方程組的求解等對其手工求解都是比較復雜,而MATLAB語言正是處理線性方程組的求解的很好工具。線性代數(shù)是數(shù)學的一個分支,它的研究對象是向量,向量空間(或稱線性空間),線性變換和有限維的線性方程組。因而,線性代數(shù)被

2、廣泛地應用于抽象代數(shù)和泛函分析中;由于科學研究中的非線性模型通??梢员唤茷榫€性模型,使得線性代數(shù)被廣泛地應用于自然科學和社會科學中。線性代數(shù)是數(shù)學的一個分支,它的研究對象是向量,向量空間(或稱線性空間),線性變換和有限維的線性方程組。因而,線性代數(shù)被廣泛地應用于抽象代數(shù)和泛函分析中;由于科學研究中的非線性模型通??梢员唤茷榫€性模型,使得線性代數(shù)被廣泛地應用于自然科學和社會科學中。線性代數(shù)是討論矩陣理論、與矩陣結合的有限維向量空間及其線性變換理論的一門學科?!娟P鍵字】線性代數(shù) MATLAB語言 秩 矩陣 解一、基本概念1、 N級行列式A:A等于所有取自不同性不同列的n個元素的積的代數(shù)和。2、

3、 矩陣B:矩陣的概念是很直觀的,可以說是一張表。3、 線性無關:一向量組(a1,a2,an)不線性相關,既沒有不全為零的數(shù)k1,k2,kn使得:k1*a1+k2*a2+kn*an=04、 秩:向量組的極在線性無關組所含向量的個數(shù)成為這個向量組的秩。5、 矩陣B的秩:行秩,指矩陣的行向量組的秩;列秩類似。記:R(B)6、 一般線性方程組是指形式:二、基本理論 三種基本變換:1,用一非零的數(shù)乘某一方程;2,把一個方程的倍數(shù)加到另一方程;3,互換兩個方程的位置。以上稱出等變換。消元法首先用初等變換化線性方程組為階梯形方程組:1,如果剩下的方程當中最后的一個等式等于一非零數(shù),那么方程組無解;否則有解;

4、2,如果階梯形方程組中方程的個數(shù)r等于未知量的個數(shù),那么方程組有唯一的解;3,如果階梯形方程組中方程的個數(shù)r小于未知量的個數(shù),那么方程組就有無窮個解。定理1:線性方程組有解的充要條件為:R(A)=R(A,b)線性方程組解的結構:1:對齊次線性方程組,a:兩個解的和還是方程組的解;b:一個解的倍數(shù)還是方程組的解。定義:齊次線性方程組的一組解u1,u2,ui稱為齊次線性方程組的一個基礎解系,如果:齊次線性方程組的任一解都表成u1,u2,ui的線性組合,且u1,u2,ui線性無關。2:對非齊次線性方程組 (1)方程組的兩個解的差是(2)的解。 (2)方程組的一個解與(2)的一個解之和還是(1)的解。

5、定理2 如果R0是方程組(1)的一個特解,那么方程組(1)的任一個解R都可以表成;R=R0+V. 其中V是(2)的一個解,因此,對方稱(1)的任一特解R0,當v取遍它的全部解時,(3)就給出了(1)全部解。三:基本思路 線性方程的求解分為兩類:一類是方程求唯一解或求特解;一類是方程組 求無窮解即通解。(1)判斷方程組解的情況。1:當R(A)=R(B)時,有解(R(A)=R(A,b))>=n 唯一解,R(A)=R(A,b)(n,有無窮解);2:當R(B)+1=R(A,b)時無解。(2)求特解;(3)求通解(無窮解),線性方程組的無窮解=對應齊次方程組的通解+非齊 次方程組的一個特解;注:以

6、上針對非齊次線性方程組,對齊次線性方程組,主要使用到(1),(2)步!四、基本方法基本思路將在解題的過程中得到體現(xiàn)。1、 (求線性方程組的唯一解或特解),這類問題的求法分為兩類:一類主要用于解低階稠密矩陣直接法;一類是解大型稀疏矩陣迭代法。2、 利用矩陣除法求線性方程組的特解(或一個解) 方程:AX=b,解法:X=Ab,(注意此處不是/) (1)求方程組 命令如下: A=2,-1,-1,1;1,1,-2,1;4,-6,2,-2;3,6,-9,7;%產生4x4階系數(shù)矩陣 b=2,4,4,9' %對矩陣進行轉置 x=Ab %進行左初運算 x = NaN Inf Inf-3.0000曾介紹過

7、利用矩陣求逆來解線性方程組,即其結果于使用左除是相同的。2、利用矩陣的分解求線性方程組矩陣分解是指根據(jù)一定的原理用某種運算將一個矩陣分解成若干個矩陣的乘積。常見矩陣分解如,LU,QR和Cholesky分解求方程組的解,這三種分解,再求大型方程組是很有用。其優(yōu)點是運算速度快,可以節(jié)省磁盤空間,節(jié)省內存。(1) LU分解又稱Gauss 消去分解,可把任意方陣分解為下三角矩陣的基本變 換形式(行變換)和上三角矩陣的乘積。即A=LU,L為下三角陣,U為上三角 陣。 則:A*X=b 變成L*U*X=b 所以X=U(Lb) 這樣可以大大提高運算速度。 命令 L,U=lu(A) 在matlab中可以編如下通

8、用m文件;在MATLAB建立M文件如下% exp1.mA;b;L,U=lu(A); %產生一個三角矩陣A和一個變換形式的下三叫矩陣L(交 換行),使之滿足A=LUX=U(Lb) %L右乘b的結果再右乘U得到x的值(2)求方程組 命令如下:A=1,1,-1,-1;2,-5,3,2;7,-7,3,1; %產生3x4階系數(shù)矩陣 b=1,3,6' %對矩陣進行轉置L,U=lu(A); %產生一個三角矩陣A和一個變換形式的 下三叫矩陣L(交換行),使之滿足A=LUx=U(Lb) %L右乘b的結果再右乘U得到x的值x = 0.4286 -0.4286 0 0 rank = 2, tol = 6.7

9、642e-015. 采用第二種格式分解,在MATLAB建立M文件如下%exp1.mA;b;L,U,P=lu(A); X=U(LP*b)(3)求方程組 命令如下:A=1,1,-1,-1;2,-5,3,2;7,-7,3,1;%產生3x4階矩陣b=1,3,7' %對矩陣進行轉置L,U,P=lu(A); %產生一個三角矩陣A和一個下三角陣L以 及一個置換矩陣P,使之滿足PA=LUx=U(LP*b) %x的值x = 0.6667 -0.3333 0 0 rank = 2, tol = 6.7642e-015.(II)Cholesky分解若A為對成正定矩陣,則Cholesky分解可將矩陣A分解成上

10、三角矩陣和其 轉置的乘積,即:A=R*R 其中R為上三角矩陣。方程 A*X=b 變成 R*R*X=b 所以 X=R(Rb)在MATLAB中建立M文件如下%exp2.mA;b;R,R=chol(A); %產生一個上三角矩陣R,使RR=AX=R(Rb) %x的值(4)求方程組 命令如下:A=1,-1,-1,1;1,-1,1,-3;1,-1,-2,3; %產生3x4階的矩陣b=0,1,-0.5' %對矩陣進行轉置R'R=chol(A); %產生一個上三角矩陣R,使R'R=Ax=R(R'b) %x的值? Error using => cholMatrix must

11、 be square.命令執(zhí)行時,此格式將不出現(xiàn)錯誤信息。當A為對稱正定時,則p=0; 否則p為一個正整數(shù)。如果X未滿秩矩陣,則R為一個階數(shù)為q=p-1的上三角 陣,且滿足RR=A(1:q,1:q)。(3)QR分解 對于任何長方矩陣A,都可以進行QR分解,其中Q為正交矩陣,R為上三角 矩陣的初等變換形式,即:A=QR方程 A*X=b 變形成 QRX=b所以 X=R(Qb)上例中 Q,R=qr(A) %產生一個正交矩陣Q和一個上三角矩陣R,使之A=QR X=R(QB) %x的值在MATLAB中建立M文件如下%exp3.mA;b;Q,R=qr(A);X=R(Qb)(5) 求方程組 命令如下:A=4

12、,2,-1;3,-1,2;11,3,0; %產生3x3階的矩陣 b=2,10,8' %對矩陣進行轉置Q,R=qr(A); %產生一個正交矩陣Q和一個上三角矩陣 R,使之滿足A=QRx=R(Qb) %x的值x = 1.0e+015 * 1.3238 -4.8539 -4.4126 RCOND = 4.594136e-017.除了用直接方法求解線性方程組的解之外,還可以用迭代法求解。迭代法適合求解大型系數(shù)矩陣的方程組。它主要包括Jacobi迭代法,Gauss-Serdel迭代法,超松馳迭代法和兩步迭代法。在此只討論Jacobi與Gauss-Serdel迭代法。1 Gauseidel迭代法用

13、迭代法求解下列線性方程組,迭代初值為0,迭代精度為10e-6。Gauseidel.m函數(shù)文件:functiony,n=gauseidel(A,b,x0,eps)if nargin=3 eps =1.0e-6 ; elseif nargin<3 error %錯誤 return %結束該函數(shù)的執(zhí)行End D=diag(diag(A); %求A的對角矩陣L=-tril(A,-1); %求A的下三角陣U=-triu(A,1); %求A的上三角陣G=(D-L)U;f=(D-L)b;y=G*x0+f; %y的值n=1; %迭代次數(shù)while norm(y-x0)>=epsx0=y;y=G*x

14、0+f;n=n+1;End(6)求解方程組 在命令中調用該文件gauseidel.m, 程序如下:A=1,2,1;3,6,-1;5,10,1; %產生一個3*3階系數(shù)矩陣b=1,5,3; %對矩陣進行轉置 x,n=gauseidel(A,b,0,0,0,1.0e-6) %調用gauseidel函數(shù)x = 0/0 0/0 0/0n =13912'Jacobi迭代法Jacobi.m函數(shù)文件:functiony,n=jacobi(A,b,x0,eps)if nargin=3 eps=1.0-6 ; %精確度為10e-6elseif nargin<3 error %錯誤 return %

15、結束該函數(shù)的執(zhí)行endD=diag(diag(A); %求A的對角矩陣L=-tril(A,-1); %求A的下三角陣 U=-triu(A,1); % 求A的上三角陣B=D(L+U);f=Db;y=B*x0+f ; %y的值n=1; %迭代次數(shù) while norm(y-x0)>=eps x0=y; y=B*x0+f; n=n+1;end 用Jacobi迭代法求解下列線性方程組,迭代初值為0,迭代精度為10e-6。(7)求解方程組 在命令中調用該文件jacobi.m, 程序如下:A=3,-1,0;1,2,-3;0,-1,5; %產生一個3*3階系數(shù)矩陣Ab=6,5,7' %產生矩陣

16、bx,n=jacobi(A,b,0,0,0',1.0e-6) %調用jacobi函數(shù)f= 2.0000 2.5000 1.4000n= 1x= NaN NaN NaNn= 1709五、總結 Matlab語言運算以矩陣運算為基礎 ,可視化,程序設計有機的融合到一個簡單易行的互換式工作環(huán)境中,有出色的數(shù)值計算功能和強大的圖形處理功能,而且簡單易學,代碼短小高效。線性代數(shù)是數(shù)學中的一個重要分支,很多理論問題和實際問題都需要借助于線性代數(shù)的理論工具來分析解決,而且隨著計算機的普及,線性代數(shù)被廣泛應用于科學,經濟,工程和管理等各個領域,同時線性代數(shù)也成為高校理工科和經濟管理類各專業(yè)的一門公共基礎

17、課。線性代數(shù)課程是由方程Ax=b發(fā)展起來的,主要研究線性方程組和二次型,對線性方程組的研究引入了行列式,矩陣,向量。這三塊內容是研究線性方程組的三大工具。學習線性代數(shù)有兩大難點:一是概念,理論抽象,二是計算量大。不過利用Matlab語言,就可以輕松快捷的解決很多線性代數(shù)問題。比如說求方陣的逆和行列式,線性方程組中論述的求方陣的逆運算和行列式比較復雜,而在Matlab中,方陣的逆運算只需用函數(shù)“inv”即可六、心得體會 通過寫本次的論文,我受益匪淺,才發(fā)現(xiàn)原來論文的書寫格式要求這么嚴格,以前也沒怎么注意格式。由于學的不精,在Matlab軟件中編程時出現(xiàn)了好多好多問題,格式上的,大小寫,還有軟件中的一些特殊用法等等。在多次的修改后才勉強完成這次論文。在學習Matlab的時候,我感覺這個語言要比我們在大一時學的C語言更加方便,實用,雖然各有各的特點。比如在求解不等式問題上,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論