matlab在線性代數(shù)中的應(yīng)用[文獻綜述]_第1頁
已閱讀1頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、<p><b>  畢業(yè)論文文獻綜述</b></p><p><b>  信息與計算科學</b></p><p>  MATLAB在線性代數(shù)中的應(yīng)用</p><p><b>  前言部分</b></p><p>  線性代數(shù)是大學理、工、經(jīng)管、醫(yī)、農(nóng)等學科所有專業(yè)必修

2、的一門重要數(shù)學基礎(chǔ)課。它作為離散性數(shù)學在工科數(shù)學中的代表,隨著計算機科學日新月異的發(fā)展,許多非線性問題高精度地線性化與大型線性問題的可計算性正在加快逐步實現(xiàn),因此無論從理論上還是從應(yīng)用上看,線性代數(shù)的地位更趨重要。</p><p>  MATLAB軟件是目前教學與科研中最具影響力、最有活力、最具可靠性的數(shù)學軟件。它起源于矩陣運算,MATLAB名字由MATrix和LABoratory兩詞的前三個字母組合而成。作為高

3、度集成的計算機語言,它攜帶幾十個軟件包,提供了強大的科學運算、靈活的程序設(shè)計流程、高質(zhì)量的圖形可視化與界面設(shè)計,與其他語言的接口也非常便捷。在歐美的大學里,諸如應(yīng)用統(tǒng)計分析、自動控制、數(shù)字信號處理、模擬與數(shù)字通信、時間序列分析、動態(tài)系統(tǒng)仿真等課程都把MATLAB作為教學內(nèi)容。</p><p>  線性代數(shù)作為代數(shù)的一個主要分支,以向量空間與線性變換作為研究對象,就其在數(shù)學、物理學以及經(jīng)濟學等分支的應(yīng)用來說,線性代

4、數(shù)的離散化思想具有非常特殊的作用,因此也成為我國大學生必修的公共基礎(chǔ)課之一。此外,線性代數(shù)思想特別使用于計算機編程,它以坐標法和向量法作為主要的研究工具,通過矩陣和向量性質(zhì)研究多變量之間的線性關(guān)系,因此,MATLAB與線性代數(shù)的緊密結(jié)合有著非常廣闊的前景。</p><p><b>  主題部分 </b></p><p>  線性代數(shù)是一門應(yīng)用性很強,但又在理論上進行了

5、高度抽象的數(shù)學學科。一方面,中學生就學過了二元一次代數(shù)方程的解法,代入法和消去法大概每個人都會記憶一輩子,這就是做簡單的線性代數(shù)。當把方程的階次提高到了三元一次以上時,它不但要求較高級的抽象思維能力,而且也要求用十分煩瑣的計算步驟才能解決問題。對于數(shù)學家,他們重視前者,這無可厚非;但對于大多數(shù)工科學生,他們更需要的是能應(yīng)用它的理論,指導完成實際的計算。事實上,線性代數(shù)的那種單調(diào)、機械、枯燥的運算,只是由于計算機的出現(xiàn)才賦予了在應(yīng)用方面的

6、生命力。</p><p>  20世紀80年代,出現(xiàn)了個人計算機并迅速普及。新的硬件也帶動了新的軟件,出現(xiàn)了新穎的科學計算語言,也稱為數(shù)學軟件,因為它具有高效、可視化和推理能力等特點。計算機技術(shù)的發(fā)展已經(jīng)對人們的物質(zhì)生活和文化生活產(chǎn)生了十分巨大的影響,其最顯著的功能就是高速度地進行大量計算,這種告訴計算使得許多過去無法求解的問題成為可能,因而科學計算已成為與理論研究、科學實驗并列的科學研究的三大手段。</p

7、><p>  MATLAB是“矩陣實驗室”(Matrix Laboratory)的縮寫,它是一種以矩陣運算為基礎(chǔ)的交互式程序語言,當然它特別適合于線性代數(shù),并能更廣泛地適應(yīng)科學和工程計算及繪圖的需求。與其他計算機語言相比,MATLAB的特點是簡捷和智能化,適應(yīng)科技專業(yè)人員的思維方式和書寫習慣,使得編程和調(diào)試效率大大提高。它用解釋方式工作,鍵入程序立即得出結(jié)果,人機交互性能好,易于調(diào)試并為科技人員所樂于接受。特別是它可

8、適應(yīng)多種平臺,并且隨計算機硬軟件的更新及時升級。</p><p>  MATLAB的基本數(shù)據(jù)單元是矩陣,所有的變量都可用矩陣來表示,向量是行數(shù)為1或列數(shù)為1的矩陣,而標量則是1行1列的特例矩陣,在編程時不必像其他語言一樣為矩陣定義維數(shù)和大小。用MATLAB求解一個問題比編寫Fortran、C或Basic語言程序求解所用的時間要少得多。此外,它的數(shù)學表達式和運算結(jié)果也幾乎和數(shù)學解析的表現(xiàn)形式完全相同。</p&

9、gt;<p>  2.1 MATLAB環(huán)境下矩陣的建立</p><p>  MATLAB環(huán)境下,線性代數(shù)的計算有以下幾方面內(nèi)容。</p><p> ?。?)矩陣的創(chuàng)建( 輸入)</p><p>  在MATLAB 中, 輸入矩陣時每一行元素</p><p>  用分號分隔, 格式為: [a, b, c;d, e, f;g, h,

10、 i] 。</p><p>  (2)求方陣的行列式</p><p>  求行列式是通過det 函數(shù)求解。</p><p>  例1 求下列矩陣的行列式</p><p><b>  解 程序為</b></p><p>  A=[10,8,6,4,1;2,5,8,9,4;6,0,9,9,8;5,

11、8,7,4,0;9,4,2,9,1];</p><p><b>  D=det(A)</b></p><p><b>  結(jié)果為</b></p><p>  D=5.9720e+003=5972</p><p><b> ?。?)求逆矩陣</b></p><

12、p>  用inv 來實現(xiàn), 要注意大小寫字母的區(qū)別。</p><p>  例2 設(shè),試求其逆陣</p><p>  解 按上述方法寫成MATLAB程序</p><p>  A=[3,0,3,-6;5,-1,-1,-5;-3,1,4,-9;1,-3,4,-4];</p><p><b>  V=inv(A)</b>

13、;</p><p><b>  結(jié)果為</b></p><p>  (4)矩陣的基本運算</p><p>  可算加法“+”、減法“-”、乘法“*”, 及數(shù)乘等。</p><p>  那么,我們先來看如下的一個矩陣,問常數(shù)滿足什么條件時,矩陣A可逆,并求其逆矩陣;特別給出當矩陣A的行列式等于-6時的逆矩陣。</p&

14、gt;<p>  解這樣的帶有符號變量的計算問題用手工方法是很難完成的?,F(xiàn)編程如下:</p><p>  %判斷符號矩陣何時可逆,并求其逆。</p><p><b>  clear all</b></p><p>  syms a %符號變量說明</p><

15、;p>  disp(‘輸入的矩陣是:’)</p><p>  A=[1 1 -1;a 2 0;-1 a 3] %符號矩陣輸入</p><p><b>  D=det(A);</b></p><p>  Disp(‘當參數(shù)a不等于’)</p><p>  p=solve(D)

16、 %求符號矩陣行列式值函數(shù)的零點</p><p>  disp(‘時其有逆陣:’)</p><p>  B=inv(A) %求符號逆矩陣</p><p>  q=solve(D+6); %求行列式等于指定值-6時的參數(shù)的值</p>

17、<p>  L=length(q);</p><p><b>  For i=1:L</b></p><p>  disp(‘當參數(shù)a 等于’)</p><p>  subs(q(i)) %將參數(shù)的值轉(zhuǎn)換為實數(shù)形式</p><p>  disp(‘時矩陣的行列式等于指

18、定值(-6),其逆矩陣為:’)</p><p>  B=sym(subs(B,a,subs(q(i)))) %求等于時的逆矩陣,并以簡化形式輸出</p><p><b>  End</b></p><p><b>  程序執(zhí)行結(jié)果是:</b></p><p><b>  輸入的矩

19、陣是:</b></p><p><b>  當參數(shù)不等于</b></p><p><b>  時,其有逆陣 </b></p><p><b>  當參數(shù)等于</b></p><p>  時矩陣的行列式等于指定值(-6),其逆矩陣為:</p><p

20、><b>  當參數(shù)等于</b></p><p><b>  2</b></p><p>  時矩陣的行列式等于指定值(-6),其逆矩陣為</p><p>  2.2 Matlab環(huán)境下克萊姆法則的應(yīng)用</p><p>  線性方程組可以分成兩類, 一類是未知量個數(shù)與方程的個數(shù)相等, 另一類是

21、未知量個數(shù)與方程的個數(shù)不等, 對于前一類特殊的線性方程組, 我們可以采用克萊姆法則(Cramer).</p><p>  如果線性方程組的系數(shù)矩陣</p><p><b>  (I)</b></p><p>  那么有設(shè)線性方程組(I)的系數(shù)行列式,則(I)有唯一解,且解可用行列式表示為其中是把系數(shù)行列式D中第列元素方程組(I)右端相應(yīng)的常數(shù)項

22、代替而得到的n階行列式,即</p><p>  從而若為某個數(shù)域,則解均屬于。</p><p>  那么用MATLAB來求解滿足Cramer法則條件的方程組</p><p><b>  解程序如下:</b></p><p>  %求解滿足Cramer法則條件的</p><p>  A=[1 0 -

23、1 1;2 -1 4 8;3 0 2 1;4 1 6 3] %輸入系數(shù)矩陣</p><p>  b=[1 0 -1 0] %輸入常數(shù)列向量</p><p>  [m,n]=size(A);</p><p>  b=b(:);k=size(b,1);</p>

24、<p>  if m~=n|m~=k %檢查輸入正確性</p><p>  disp(‘您輸入的系數(shù)矩陣或常數(shù)列向量有錯誤!’)</p><p><b>  return</b></p><p><b>  else</b></p

25、><p>  disp(‘系數(shù)行列式的值為:’)</p><p>  D=det(A) %計算并輸入系數(shù)行列式的值</p><p><b>  If D==0</b></p><p>  Disp(‘輸入的系數(shù)行列式不滿足Cramer法則的條件!’)&

26、lt;/p><p><b>  Else</b></p><p>  For j=1:n B=A;B(:,j)=b;Dj(j)=det(B);end %求用常數(shù)列替換后的行列式的值</p><p>  disp(‘用常數(shù)列b替換系數(shù)行列式中的第j列所得到的行列式的值分別為:’)</p><p><b>

27、;  Dj</b></p><p>  disp(‘ 原方程組AX=b 有唯一解,解是:’)</p><p>  X=Dj./D %輸出原方程組的(唯一)解</p><p><b>  end</b></p><p><b>

28、;  end</b></p><p><b>  程序執(zhí)行的結(jié)果是:</b></p><p><b>  系數(shù)行列式的值為:</b></p><p>  用常數(shù)列替換系數(shù)行列式中的第列所得到的行列式的值分別為:</p><p>  原方程組有惟一解,解是:</p><

29、p>  對于方程個數(shù)與未知量個數(shù)不等的情況我們來看以下題目</p><p>  例 3 用編程方法求解下列齊次線性方程組</p><p><b>  解 編程</b></p><p>  %求齊次線性方程組AX=0的基礎(chǔ)向量</p><p><b>  clear all</b></p

30、><p>  A=[1 2 1 1 1;2 4 3 1 1;-1 -2 1 3 -3;0 0 2 5 -2]; %輸入系數(shù)矩陣</p><p>  [m,n]=size(A);</p><p><b>  if A==0</b></p><p>  disp(‘輸入的系數(shù)矩陣為零矩陣!’)</p>

31、<p><b>  return</b></p><p><b>  else</b></p><p>  disp(‘齊次線性方程組的系數(shù)矩陣是:’)</p><p><b>  A</b></p><p>  [R,s]=rref(A);

32、 %調(diào)用初等變換子函數(shù)</p><p>  disp(‘經(jīng)過初等變換,系數(shù)矩陣A化為如下‘簡化階梯形’:’)</p><p><b>  R</b></p><p>  disp(‘線性代數(shù)組AX=0只有惟一零解!’)</p><p>  r=length(

33、s)</p><p><b>  if r==n</b></p><p><b>  else</b></p><p>  %----------------------</p><p>  %從矩陣R構(gòu)成基礎(chǔ)解向量</p><p><b>  t=0;</b

34、></p><p><b>  for i=1:r</b></p><p>  h(i)=s(i); %確定解向量x的分量次序</p><p><b>  end</b></p><p><b>  for

35、 j=1:n</b></p><p><b>  k=0;</b></p><p><b>  for i=1:r</b></p><p>  if j==s(i) k=1;break;end</p><p><b>  end</b></p>&l

36、t;p><b>  if k==0</b></p><p>  t=t+1; h(r+t)=j ; %確定解向量x的分量次序</p><p>  B(:,t)=(-1).*R(:,j);</p><p><b>  end</b></p>&l

37、t;p><b>  end</b></p><p>  B(r+1:n,1:n-r)=eye(n-r,n-r);</p><p><b>  for i=1:n</b></p><p>  C(h(i),:)=B(i,:); %按變量原次序構(gòu)成基礎(chǔ)解向量&l

38、t;/p><p><b>  end</b></p><p>  %-------------------</p><p>  disp(‘線性方程組AX=0的基礎(chǔ)解向量為:’)</p><p><b>  X=C</b></p><p><b>  end</b

39、></p><p><b>  end</b></p><p><b>  程序結(jié)果為</b></p><p><b>  A=</b></p><p>  1 2 1 1 1</p><p>  2 4 3 1 1</p>

40、<p>  -1 -2 1 3 -3</p><p>  0 0 2 5 -2</p><p>  經(jīng)過初等行變換,系數(shù)矩陣A化為如下‘簡化階梯形’:</p><p><b>  R=</b></p><p>  2 0 0 2</p><p>  0 0 1 0 -1&

41、lt;/p><p>  0 0 0 1 0</p><p>  0 0 0 0 0</p><p><b>  系數(shù)矩陣A的秩為</b></p><p><b>  r= </b></p><p><b>  3</b></p>

42、;<p>  線性方程組AX=0的基礎(chǔ)解(列)向量為:</p><p><b>  X=</b></p><p>  -2 -2 </p><p><b>  1 0</b></p><p><b>  0 1</b></p>&

43、lt;p><b>  0 0</b></p><p>  0 1 </p><p><b>  三、總結(jié)部分</b></p><p>  本文首先介紹了線性代數(shù)及MATLAB產(chǎn)生的背景及發(fā)展歷程和方向,讓大家對線性代數(shù)及MATLAB有了初步認識。最初的線性方程組問題大都是來源于生活實踐,歷史上線性代數(shù)

44、的第一個問題是關(guān)于解線性方程組的問題,而線性方程組理論的發(fā)展又促成了作為工具的矩陣論和行列式理論的創(chuàng)立與發(fā)展,而近現(xiàn)代數(shù)學分析與幾何學等數(shù)學分支的要求也促使了線性代數(shù)的進一步發(fā)展。線性代數(shù)有三個基本計算單元:向量(組),矩陣,行列式,研究它們的性質(zhì)和相關(guān)定理,能夠求解線性方程組,實現(xiàn)行列式與矩陣計算和線性變換,構(gòu)建向量空間和歐式空間。線性代數(shù)的兩個基本方法是構(gòu)造(分解)和代數(shù)法,基本思想是化簡(降解)和同構(gòu)變換。MATLAB作為一種以矩

45、陣運算為基礎(chǔ)的交互式程序語言,以簡捷和智能化為特點,適應(yīng)科技專業(yè)人員的思維方式和書寫習慣,使得編程和調(diào)試效率大大提高.MATLAB是線性代數(shù)教學方面最適合的數(shù)學軟件。</p><p>  然后又介紹了線性代數(shù)在MATLAB軟件上的應(yīng)用。詳細介紹了在MATLAB環(huán)境下矩陣的建立,運算等,更進一步用MATLAB來用線性代數(shù)中的克萊姆法則來解決實例問題。線性代數(shù)在MATLAB中更多的應(yīng)用極大的推動了線性代數(shù)的發(fā)展,為社

46、會帶來了極大的便利。</p><p><b>  四、參考文獻</b></p><p>  [1] 陳維新.線性代數(shù)簡明教程(第二版)[M].北京:科學出版社,2005.1:3-3.</p><p>  [2] 汪潘義.運用“Matlab”進行線性代數(shù)課程教學的原則[J].科技信息,2009,(23):537-537.</p>&

47、lt;p>  [3] (美)利昂(Leon,S.,J.)著 張文博,張麗靜 譯.線性代數(shù)(原書第7版)[M].北京:機械工業(yè)出版社,2007.2:5-5.</p><p>  [4] Steven J.Leon.Linear Algebra with Applications(Seventh Edition)[M].北京:機械工業(yè)出版社,2007.5:5-5.</p><p>  [

48、5] Steven Roman.Advanced Linear Algebra(Third Editon)[M].北京:世界圖書出版社,2008:7-7.</p><p>  [6] 王亮,馮國臣,王兵團. 基于MATLAB的線性代數(shù)實用教程[M].北京:科學出版社,2008:3-4.</p><p>  [7] 邵建峰,劉彬.線性代數(shù)學習指導與MATLAB編程實踐[M].北京:化學工業(yè)出

49、版社,2007.8:90-92.</p><p>  [8] 陳懷琛,龔杰民.線性代數(shù)實踐及MATLAB入門(第2版)[M].北京:電子工業(yè)出版社,2009.1:3-5.</p><p>  [9] 周曉陽 .數(shù)學實驗與MATLAB[M].武漢:華中科技大學出版社,2002.1:2-2.</p><p>  [10] 楊威,高淑萍. 線性代數(shù)機算與應(yīng)用指導(MATL

50、AB版)[M].西安:西安電子科技大學出版社,2009.4:13-13.</p><p>  [11] 張德豐.MATLAB數(shù)值分析與應(yīng)用[M].北京:國防工業(yè)出版社,2007.1 :13-14.</p><p>  [12] 求是科技.MATLAB7.0從入門到精通[M].北京:人民郵電出版社,2006.3:23-23.</p><p>  [12] 國現(xiàn)華.線性

51、方程組的求解[J]. 邢臺學院學報,2006.6,21(2):92-93.</p><p>  [13] 溫旭東. Matlab與Mathmatica在線性代數(shù)運算中的對比分析[J].黑龍江科技信息,2008,(3):171-171.</p><p>  [14] 高智中,武潔,王洋軍.Matlab在線性代數(shù)教學中的幾點應(yīng)用[J].衡水學院學報,2010,12(1):92-92.</

溫馨提示

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

評論

0/150

提交評論