矩陣特征值與特征向量計算的matlab gui設(shè)計[畢業(yè)論文]_第1頁
已閱讀1頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  本科畢業(yè)論文(設(shè)計)</p><p><b> ?。?0 屆)</b></p><p>  矩陣特征值與特征向量計算的MATLAB GUI設(shè)計</p><p>  所在學(xué)院 </p><p>  專業(yè)班級 信息與計算科學(xué)

2、 </p><p>  學(xué)生姓名 學(xué)號 </p><p>  指導(dǎo)教師 職稱 </p><p>  完成日期 年 月 </p><p>  摘要: 本文首先介紹了MATLAB GUI,以及在數(shù)值計算方面的

3、應(yīng)用。接著敘述了矩陣特征值與特征向量的計算方法。應(yīng)用MATLAB編寫程序求矩陣特征值與特征向量問題,最后用MATLAB GUI設(shè)計圖形界面,使數(shù)據(jù)可視化,即用MATLAB GUI實現(xiàn)求解矩陣特征值與特征向量。解決方法有乘冪法,反冪法,子空間迭代法,Jacobi旋轉(zhuǎn)法,Household方法,QR算法等等,本文舉的兩個例子分別是規(guī)范化乘冪法和Jacobi旋轉(zhuǎn)法。</p><p>  關(guān)鍵詞:MATLAB GUI;特

4、征值;特征向量;乘冪法.</p><p>  Eigenvalue and Eigenvector Calculation of Matrix by MATLAB GUI Design</p><p>  Abstract:In this paper the software of MATLAB GUI and the application of MATLAB in numerical

5、are introduced. Then the eigenvalue and eigenvector calculation of matrix are solved by MATLAB GUI. At last, the graphics data is visualized by MATLAB GUI. That is using the MATLAB GUI to implement the eigenvalue and eig

6、envector calculation of matrix. There are so many solutions, such as power method, inverse power method, the subspace iteration method, Jacobi rotaryprocess, Household, QR and so on. Ther</p><p>  Keywords:

7、MATLAB GUI; Eigenvalue; eigenvector calculation; found method. </p><p><b>  目錄</b></p><p><b>  1 緒論1</b></p><p>  1.1 問題的背景、意義1</p><p>  1.1

8、.1 背景1</p><p>  1.1.2 意義1</p><p>  2 MATLAB軟件介紹2</p><p>  2.1 MATLAB介紹2</p><p>  2.1.1 MATLAB軟件概況2</p><p>  2.2 MATLAB GUI介紹 3</p><p

9、>  3矩陣特征值與特征向量計算5</p><p>  3.1乘冪法及其變體5</p><p>  3.2 子空間迭代法6</p><p>  3.3 Jacobi旋轉(zhuǎn)法7</p><p>  3.4 Householder方法8</p><p>  3.5 QR方法9</p><

10、;p>  4 MATLAB GUI在矩陣特征值與特征向量中的應(yīng)用10</p><p>  4.1 MATLBA GUI在乘冪法中的應(yīng)用10</p><p>  4.2 MATLBA GUI 在Jacobi旋轉(zhuǎn)法中的應(yīng)用13</p><p><b>  5 結(jié)論18</b></p><p>  致 謝

11、錯誤!未定義書簽。</p><p><b>  參考文獻(xiàn)19</b></p><p><b>  1 緒論</b></p><p>  1.1 問題的背景、意義</p><p><b>  1.1.1 背景</b></p><p>  由于計算

12、機的發(fā)展和普及,科學(xué)計算已成為解決各類科學(xué)技術(shù)問題的重要手段。因此,掌握科學(xué)計算的基本原理和方法是當(dāng)今科學(xué)技術(shù)工作者不可缺少的本領(lǐng)和技能之一。并且經(jīng)過不斷的研究和累積,在現(xiàn)今科學(xué)研究和工程實踐中,數(shù)值計算已經(jīng)發(fā)展成為一門用來分析數(shù)據(jù),解決實際問題的重要學(xué)科,成為繼理論分析、實驗之后又一個重要的研究方法。</p><p>  MATLAB是一種數(shù)值計算環(huán)境和編程語言,主要包括MATLAB和Simulink兩大部分。

13、</p><p>  MATLAB基于矩陣運算,具有強大的數(shù)值分析、矩陣計算、信號處理和圖形顯示功能,其強大的數(shù)據(jù)處理能力和豐富的工具箱使得它的編程極為簡單。 MATLAB既能進(jìn)行科學(xué)計算,又能開發(fā)出所需要的圖形界面[1]。</p><p><b>  1.1.2 意義</b></p><p>  方陣的特征值與特征向量是矩陣問題中最重要的內(nèi)

14、容之一,此類問題具有重要的理論價值與廣泛的引用背景.在工程技術(shù)中有許多與振動和穩(wěn)定有關(guān)的問題,在數(shù)學(xué)中,解微分方程組及簡化矩陣的計算等,也會遇到這樣的問題,而這些問題的求解往往都可以轉(zhuǎn)化為求矩陣的特征值和特征向量的問題.求特征問題是科學(xué)與工程中提出的一類重要數(shù)學(xué)問題。如動力學(xué)系統(tǒng)和結(jié)構(gòu)系統(tǒng)中的振動問題,需要求系統(tǒng)的頻率與振幅,又如物理學(xué)中的某些臨界值的確定等[3]。</p><p>  2 MATLAB軟件介紹

15、</p><p>  2.1 MATLAB介紹</p><p>  2.1.1 MATLAB軟件概況[3、4]</p><p>  “MATLAB”是“Matrix Laboratory”的縮寫。MATLAB的第一個版本是LINPACK和EISPACK庫的程序的一個接口,用來分析線性方程組。隨著MATLAB的演化,除了線性代數(shù)外,它還支持許多其他的程序。MATL

16、AB的核心仍然是基于命令行的交互式分析工具。用戶可以用類Fortran語言擴展交互環(huán)境。交互環(huán)境中的程序以命令行的形式執(zhí)行。</p><p>  MATLAB是一個基本的應(yīng)用程序,它有一個稱為標(biāo)準(zhǔn)工具箱的巨大程序模塊庫。MATLAB工具箱包括解決實際問題的擴展庫。由于繼承了LINPACK、EISPACK和LAPACK的特性,MATLAB對數(shù)值線性代數(shù)來說是一個高可靠的優(yōu)化系統(tǒng)。</p><p&

17、gt;  2.1.2 MATLAB語言特點[5、6]</p><p>  MATLAB語言有不同于其他高級語言的特點,它被稱為第四代計算機語言,MATLAB語言的最大特點就是簡單和直接。它豐富的函數(shù)使開發(fā)者無須重復(fù)編程,只要簡單的調(diào)用和使用即可。MATLAB語言的主要特點可概括如下:</p><p>  (1)以矩陣和數(shù)組為基礎(chǔ)的運算</p><p>  MATL

18、AB 是以矩陣為基礎(chǔ)的,不需要預(yù)先定義變量和矩陣(包括數(shù)組)的維數(shù),可以方便地進(jìn)行矩陣的算術(shù)運算、關(guān)系運算和邏輯運算等。</p><p>  (2) 簡單易學(xué),使用方便</p><p>  MATLAB 被稱為“草稿式”語言,這是因為其函數(shù)名和表達(dá)更接近我們書寫計算公式的思維表達(dá)方式,編寫MATLAB程序猶如在草稿紙上排列公式與求解問題,因此可以快速地驗證工程技術(shù)人員的算法。此外MATLA

19、B還是一種解釋性語言,不需要專門的編譯器。</p><p> ?。?) 強大的圖形技術(shù)</p><p>  MATLAB具有非常強大的以圖形化顯示矩陣和數(shù)組的能力,同時它能給這些圖形增加注釋并且打印這些圖形。</p><p><b>  (4)編程效率極高</b></p><p>  MATLAB 是一種面向科學(xué)和工程計

20、算的高級語言。它以矩陣運算為基礎(chǔ),極少的代碼即可實現(xiàn)復(fù)雜的功能。</p><p>  (5) 可擴充性強,具有方便的應(yīng)用程序接口</p><p>  MATLAB 不僅有豐富的庫函數(shù),而且用戶還可以根據(jù)需要方便地編寫和擴充新的函數(shù)庫。</p><p>  2.2 MATLAB GUI介紹 [7、8]</p><p>  MATLAB 是一套

21、高性能的數(shù)值計算和可視化軟件,它作為新興的編程語言和可視化工具,有著其他編程語言所不能比擬的優(yōu)勢,如Fortan 語言是一種專用于科學(xué)計算的語言,但其圖形界面的功能比較弱,利用其開發(fā)的程序,用戶界面不友好,使用起來不方便,而VB、VC等可視化編程語言開發(fā)出來的程序界面友好,但由于其不是專用于科學(xué)計算的語言,因此其科學(xué)計算功能較弱。</p><p>  而MATLAB同時具備這兩方面的優(yōu)勢,既能進(jìn)行科學(xué)計算,又能開

22、發(fā)出所需要的圖形界面,特別是Mathworks公司推出的MATLAB 6及以上的版本更是加強了圖形界面編程功能。</p><p>  圖形用戶界面(Graphical User Interface)是由窗口、光標(biāo)、按鍵、菜單、文字說明等對象(Objects)構(gòu)成的一個用戶界面。程序的用戶界面是用戶與計算機程序的交互方式,用戶通過鍵盤、鼠標(biāo)等輸入設(shè)備與計算機交換信息。用戶以某種方式選擇或激活這些對象,會引起動作或發(fā)

23、生變化,例如調(diào)用計算程序或者繪圖等。</p><p>  創(chuàng)建MATLAB用戶界面必須具有以下3個基本元素:</p><p><b>  組件</b></p><p>  在MATLAB GUI中的每一個項目(按鈕、標(biāo)簽、編輯框等)都是一個圖形化組件。組件可分為3類:圖形化控件(按鈕、編輯框、列表、滾動條等)、靜態(tài)元素(窗口和文本字符串)、菜單

24、和坐標(biāo)系。</p><p><b>  (2)圖形窗口</b></p><p>  GUI的每一個組件都必須安排在圖像窗口中。在畫圖像時,圖像窗口通常會被自動創(chuàng)建。但還可以用函數(shù)figure來創(chuàng)建空圖像窗口,空圖像窗口經(jīng)常用于放置各種類型的組件。</p><p><b> ?。?)回應(yīng)</b></p><

25、;p>  如果用戶用鼠標(biāo)單擊或者用鍵盤輸入一些信息,那么程序就要有相應(yīng)的動作。鼠標(biāo)單擊或輸入信息是一個事件,如果MATLAB程序運行相應(yīng)的函數(shù),那么MATLAB函數(shù)肯定會有所反應(yīng)。</p><p>  實現(xiàn)一個GUI的過程包括兩個基本任務(wù):一是GUI的組件布局,另一個是GUI組件編程。</p><p>  GUI也是一種Matlab對象,可以使用M文件來創(chuàng)建M文件,這也是最基礎(chǔ)的,使

26、用其他方法創(chuàng)建時,也需要編寫相應(yīng)的程序代碼。除了使用M文件來創(chuàng)建GUI對象外,Matlab還為用戶開發(fā)圖形界面提供一個方便高效的繼承開發(fā)環(huán)境:Matlab圖形用戶界面開發(fā)環(huán)境(Matlab Graphical User Interface Development Environment,GUIDE)。其主要是一個界面設(shè)計工具集,他將所有GUI所支持的用戶控件都集成起來,同時提供界面外觀、屬性和行為響應(yīng)方法的設(shè)置方法。除了可以使用GUID

27、E創(chuàng)建GUI之外,還可以將設(shè)計好的GUI界面保存為一個FIG資源文件,同時自動生成對應(yīng)的M 文件。該M文件包含了GUI初始化代碼和組建界面布局的控制代碼。</p><p>  MATLAB是一種面向?qū)ο蟮母呒売嬎銠C語言,其數(shù)據(jù)可視化技術(shù)中的各種圖形元素,實際上都是抽象圖形對象的實例,MATLAB中由圖形命令產(chǎn)生的每一件東西都是圖形對象。它們包括圖形窗口,還有坐標(biāo)軸、線條、曲面、文本和其他。各種圖形對象和其間的關(guān)系

28、如下圖所示。</p><p>  矩陣特征值與特征向量計算</p><p>  求解特征問題是科學(xué)與工程中提出的一類重要數(shù)學(xué)問題,如動力學(xué)系統(tǒng)和結(jié)構(gòu)系統(tǒng)中的震動問題,需要求系統(tǒng)的頻率與振幅,又如物理學(xué)中的某些臨界值的確定等</p><p>  3.1乘冪法及其變體[3] </p><p>  乘冪法是用于大型稀疏矩陣的主特征值的迭代方法,其特

29、點是公式簡單,易于上機實現(xiàn).</p><p>  乘冪法德計算公式如下.</p><p>  設(shè),取初始向量,令, ,…,一般有(3.1.4)</p><p>  并形成向量序列,由遞推公式(3.1.4),有</p><p><b>  (3.1.5)</b></p><p>  這表明是用

30、的次冪左乘得到的,因此稱此方法為乘冪法,(3.1.4)式或(3.1.5)式稱為乘冪公式, 稱為乘冪序列.</p><p>  設(shè)可逆,反冪法可以求出的絕對值最小的特征值及相應(yīng)的特征向量.由</p><p><b>  可知</b></p><p>  即若為矩陣的特征值,則必為矩陣的按模最大特征值,且特征向量相同.</p><

31、;p>  因此,若乘冪法可求的主特征值,則用做乘冪矩陣,由迭代公式</p><p><b>  (3.1.24)</b></p><p>  便可求出的按模最大特征值,再取倒數(shù)即可得到矩陣的按模最小特征值.因此,對任取初始向量,稱公式(3.1.24)為求矩陣按模最小特征值的反冪法.</p><p>  3.2 子空間迭代法[10]<

32、/p><p>  子空間迭代法最初是由Clint和Jennings提出,是反冪法的推廣[11] .稍后,Bathe和Wilson在其中加入了子空間上的Rayleigh-Ritz過程,它可以明顯地改善收斂速度.以下是一個子空間迭代算法的主要步驟.</p><p><b> ?、?初始化</b></p><p>  (1)確定子空間的維數(shù);</p

33、><p>  (2)選取初始向量矩陣;</p><p>  (3)設(shè)定每次移軸的最大迭代次數(shù).</p><p> ?、?移軸與Sturm序列校核</p><p>  (1)計算移軸,應(yīng)設(shè)法保證它不是特征值;</p><p>  (2)分解移軸剛度矩陣;</p><p>  (3)Strum序列校核.

34、</p><p> ?、?迭代次,完成后轉(zhuǎn)向</p><p>  (1)將進(jìn)行一成交歸一化;</p><p><b>  (2)解試;</b></p><p>  (3)計算和在上的投影,</p><p>  (4)求解階廣義特征值問題;</p><p>  (5)形成新的

35、近似特征向量;</p><p>  (6)按模態(tài)誤差判斷特征值和特征向量的收斂,移出已收斂的特征向量,并在中加入隨機向量或減縮子空間的大小.</p><p>  子空間迭代法假設(shè)個初始向量同時進(jìn)行迭代,求得個特征向量.傳統(tǒng)上, , 其中為中一行的平均非零元個數(shù),由第Ⅱ與Ⅲ步計算之比確定.</p><p>  3.3 Jacobi旋轉(zhuǎn)法[12] </p>

36、<p>  Jacobi方法用來計算實對稱的全部特征值及對應(yīng)的特征向量.</p><p>  基本思想:通過一組平面旋轉(zhuǎn)將化為對角陣.</p><p>  若為對稱陣,則存在一正定陣,使, 為的特征值, 的列向量為對應(yīng)于的特征向量.主要問題是如何構(gòu)造.</p><p>  中平面內(nèi)的平均旋轉(zhuǎn)變換.</p><p><b>

37、;  的性質(zhì):</b></p><p><b>  1 為正交陣,.</b></p><p>  2. 為單位陣I只在四個位置元素不一樣.</p><p>  3. 只改變A的i行i列j行j列的元素.</p><p>  定理1 設(shè)A為n階對稱陣, ,其中為正定陣</p><p>&l

38、t;b>  則</b></p><p>  定理2 設(shè)為對稱矩陣, 為宜平面旋轉(zhuǎn)陣, 的元素計算式為:</p><p>  設(shè)表示的非對角元素的平方和表示的對角元素平方和,由上式</p><p>  這說明的對角元素平方和和的對角元素平方和增加了,非對角元素和此A的非對角元素平方和減少了.</p><p>  3.4 Hou

39、seholder方法[13] </p><p><b>  設(shè),且,則矩陣</b></p><p>  稱為Householder矩陣或Householder變換,一般我們簡稱為陣或變換.</p><p>  H陣有以下重要性質(zhì);</p><p>  (1) 是對稱陣: ;</p><p>  (

40、2) 是正交陣: ;</p><p>  (3)設(shè),則總存在陣使</p><p>  我們僅就(3)給出證明.</p><p>  若x=y,則只需取即可,今設(shè),要使</p><p><b>  即</b></p><p><b>  只需取即可.</b></p>

41、<p>  3.5 QR方法[14]</p><p>  QR算法是求矩陣特征值的最有效和應(yīng)用最廣泛的一種方法.</p><p>  QR算法也是一種變換方法.設(shè),令,先將作QR分解,寫成,其中是酉矩陣即是的共軛轉(zhuǎn)置,R是上三角陣,當(dāng)A非奇異且規(guī)定的對角元是正實數(shù)時,則分解時唯一的,然后令,則有.是的正交相似變換,他們有相同的特征值.這個過程可繼續(xù)下去,得到迭代序列{},稱此

42、過程為基本QR算法過程.</p><p><b>  算法 基本QR算法</b></p><p><b>  (1)定義</b></p><p><b>  (2)對于</b></p><p>  (3) (對作QR分解)</p><p><b&

43、gt;  (4) </b></p><p>  4 MATLAB GUI在矩陣特征值與特征向量中的應(yīng)用</p><p>  4.1 MATLBA GUI在乘冪法中的應(yīng)用</p><p>  乘冪法是用于大型稀疏矩陣的主特征值的迭代方法,其特點是公式簡單,易于上機實現(xiàn)。</p><p>  用規(guī)范乘冪法求矩陣的特征值與特征向量。

44、</p><p>  打開GUI設(shè)計工具,選擇空白模塊,出現(xiàn)如下的圖形設(shè)計界面。</p><p> ?。?)建立1個靜態(tài)文本,用于顯示相應(yīng)控件的提示,特征值,特征向量和迭代次數(shù)。</p><p> ?。?)建立1一坐標(biāo)軸對象,用于顯示規(guī)范化乘冪法。</p><p> ?。?)建立1個按鈕用于得出計算結(jié)果。</p><p&g

45、t;  同時設(shè)置控件的相關(guān)屬性,界面設(shè)計圖形如下所示,保存為gui_lr1.fig文件。</p><p>  3.打開gui_lr1.m文件,添加相應(yīng)的代碼:</p><p>  function varargout = bysj1(varargin)</p><p>  gui_Singleton = 1;</p><p>  gui_St

46、ate = struct('gui_Name', mfilename, ...</p><p>  'gui_Singleton', gui_Singleton, ...</p><p>  'gui_OpeningFcn', @bysj1_OpeningFcn, ...</p><p>  'g

47、ui_OutputFcn', @bysj1_OutputFcn, ...</p><p>  'gui_LayoutFcn', [] , ...</p><p>  'gui_Callback', []);</p><p>  if nargin && ischar(varargin{1})</p

48、><p>  gui_State.gui_Callback = str2func(varargin{1});</p><p><b>  end</b></p><p>  if nargout</p><p>  [varargout{1:nargout}] = gui_mainfcn(gui_State, varargi

49、n{:});</p><p><b>  else</b></p><p>  gui_mainfcn(gui_State, varargin{:});</p><p><b>  end</b></p><p>  set(handles.A_edit,'String','

50、[4,2,2;2,5,1;2,1,6]');</p><p>  set(handles.x0_edit,'String','[1;1;1]');</p><p>  set(handles.n_edit,'String',20);</p><p>  A=imread('lzy.bmp',&#

51、39;bmp');</p><p>  axes(handles.axes1);</p><p><b>  image(A)</b></p><p><b>  axis off;</b></p><p>  handles.output = hObject;</p><

52、;p>  guidata(hObject, handles);</p><p>  function varargout = bysj1_OutputFcn(hObject, eventdata, handles) </p><p>  varargout{1} = handles.output;</p><p>  function A_Callback(h

53、Object, eventdata, handles)</p><p>  function A_CreateFcn(hObject, eventdata, handles)</p><p><b>  if ispc</b></p><p>  set(hObject,'BackgroundColor','white&

54、#39;);</p><p><b>  else</b></p><p>  set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));</p><p><b>  end</b></p>

55、<p>  function n_edit_Callback(hObject, eventdata, handles)</p><p>  function n_edit_CreateFcn(hObject, eventdata, handles)</p><p><b>  if ispc</b></p><p>  set(hOb

56、ject,'BackgroundColor','white');</p><p><b>  else</b></p><p>  set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));</p><

57、;p><b>  end</b></p><p>  function pushbutton_Callback(hObject, eventdata, handles)</p><p>  A=str2num(get(handles.A_edit,'String'));</p><p>  x0=str2num(get(h

58、andles.x0_edit,'String'));</p><p>  N=str2num(get(handles.n_edit,'String'));</p><p>  [x,d,c]=gfcmf(A,x0,N);</p><p>  set(handles.d_text,'String',num2str(d))

59、;</p><p>  set(handles.x_text,'String',strcat('[',num2str(x(1)/d),';',num2str(x(2)/d),';',num2str(x(3)/d),']'));</p><p>  set(handles.c_text,'String&#

60、39;,num2str(c));</p><p>  3.程序運行后,程序計算出結(jié)果</p><p>  4.2 MATLBA GUI 在Jacobi旋轉(zhuǎn)法中的應(yīng)用</p><p>  Jacobi方法用來計算實對稱的全部特征值及對應(yīng)的特征向量。</p><p>  基本思想:通過一組平面旋轉(zhuǎn)將化為對角陣。</p><p

61、>  例2.用Jacobi旋轉(zhuǎn)法求矩陣的特征值與特征向量</p><p>  1.打開GUI設(shè)計工具,選擇空白模塊,出現(xiàn)如下的圖形設(shè)計界面。</p><p> ?。?)建立1個靜態(tài)文本,用于顯示Jacobi旋轉(zhuǎn)法。</p><p>  (2)建立1一坐標(biāo)軸對象,用于顯示相應(yīng)控件的提示,特征值,特征向量和旋轉(zhuǎn)次數(shù)。</p><p>  

62、(3)建立1個按鈕用于得出計算結(jié)果。</p><p>  同時設(shè)置控件的相關(guān)屬性,界面設(shè)計圖形如下所示,保存為gui_lr1.fig文件。</p><p>  3.打開gui_lr1.m文件,添加相應(yīng)的代碼</p><p><b>  程序:</b></p><p>  function varargout = bysj

63、3(varargin)</p><p>  gui_Singleton = 1;</p><p>  gui_State = struct('gui_Name', mfilename, ...</p><p>  'gui_Singleton', gui_Singleton, ...</p><p&g

64、t;  'gui_OpeningFcn', @bysj3_OpeningFcn, ...</p><p>  'gui_OutputFcn', @bysj3_OutputFcn, ...</p><p>  'gui_LayoutFcn', [] , ...</p><p>  'gui_Callback&

65、#39;, []);</p><p>  if nargin && ischar(varargin{1})</p><p>  gui_State.gui_Callback = str2func(varargin{1});</p><p><b>  end</b></p><p>  if narg

66、out</p><p>  [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});</p><p><b>  else</b></p><p>  gui_mainfcn(gui_State, varargin{:});</p><p><b&g

67、t;  end</b></p><p>  function bysj3_OpeningFcn(hObject, eventdata, handles, varargin)</p><p>  set(handles.A_edit,'String','[2,-1,0;-1,2,-1;0,-1,2]');</p><p> 

68、 set(handles.eps_edit,'String',0.000001);</p><p>  set(handles.N_edit,'String',20);</p><p>  A=imread('l.bmp','bmp');</p><p>  axes(handles.axes1);&l

69、t;/p><p><b>  image(A)</b></p><p><b>  axis off;</b></p><p>  handles.output = hObject;</p><p>  guidata(hObject, handles);</p><p>  f

70、unction varargout = bysj3_OutputFcn(hObject, eventdata, handles) </p><p>  varargout{1} = handles.output;</p><p>  function A_edit_Callback(hObject, eventdata, handles)</p><p>  fun

71、ction A_edit_CreateFcn(hObject, eventdata, handles)</p><p><b>  if ispc</b></p><p>  set(hObject,'BackgroundColor','white');</p><p><b>  else</b

72、></p><p>  set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));</p><p><b>  end</b></p><p>  function eps_edit_Callback(hObject, e

73、ventdata, handles)</p><p>  function eps_edit_CreateFcn(hObject, eventdata, handles)</p><p><b>  if ispc</b></p><p>  set(hObject,'BackgroundColor','white

74、9;);</p><p><b>  else</b></p><p>  set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));</p><p><b>  end</b></p>&l

75、t;p>  function N_edit_Callback(hObject, eventdata, handles)</p><p>  function N_edit_CreateFcn(hObject, eventdata, handles)</p><p><b>  if ispc</b></p><p>  set(hObje

76、ct,'BackgroundColor','white');</p><p><b>  else</b></p><p>  set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));</p><p

77、><b>  end</b></p><p>  function pushbutton_Callback(hObject, eventdata, handles)</p><p>  A=str2num(get(handles.A_edit,'String'));</p><p>  eps=str2num(get(ha

78、ndles.eps_edit,'String'));</p><p>  N=str2num(get(handles.N_edit,'String'));</p><p>  [EigValMat,EigVecMat,num]=JocobiRot(A,eps,N);</p><p>  set(handles.val_text,

79、9;String',num2str(EigValMat));</p><p>  set(handles.vec_text,'String',strcat('[',num2str(EigVecMat(1)),';',num2str(EigVecMat(2)),';',num2str(EigVecMat(3)),']'));&l

80、t;/p><p>  set(handles.num_text,'String',num2str(num));</p><p><b>  5 結(jié)論</b></p><p>  本文首先介紹了MATLAB這個數(shù)學(xué)軟件,讓我們初步了解了Matlab Gui的一些情況,接著又介紹了矩陣特征值與特征向量計算在計算數(shù)學(xué)中是非常重要的內(nèi)容,

81、其應(yīng)用也很廣泛。矩陣特征值與特征向量計算的方法,如乘冪法,反冪法,子空間迭代法,Jacobi旋轉(zhuǎn)法,Household方法,QR算法。主要任務(wù)與目標(biāo)是應(yīng)用Matlab gui設(shè)計圖形用戶界面,求解矩陣特征值與特征向量計算問題,用Matlab gui設(shè)計圖形用戶界面,實現(xiàn)求解矩陣特征值與特征向量計算方法的經(jīng)典方法,如乘冪法,反冪法,子空間迭代法,Jacobi旋轉(zhuǎn)法,Household方法,QR算法等,最后通過Matlab Gui繪制圖形使

82、數(shù)據(jù)可視化。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 周曉陽,數(shù)學(xué)實驗與Matlab,華中科技大學(xué)出版社,2002.1.</p><p>  [2] 拉克唐瓦爾德. 數(shù)值方法和MATLAB實現(xiàn)與應(yīng)用[M]. 北京:機械工業(yè)出版社,2004.9:.</p><p>  [3] 黃明游,劉潘

83、,徐濤.數(shù)值計算方法[M].北京:科學(xué)出版社,2005:1~11.</p><p>  [4] 拉克唐瓦爾德.數(shù)值方法和MATLAB實現(xiàn)與應(yīng)用[M].北京:機械工業(yè)出版社,2004.9:3-6.</p><p>  [5] John H.Mathews, Kurtis D.Fink.Numerical Methods Using MATLAB [M].Beijing: Publishing

84、 House of Electronics Industry.2005.</p><p>  [6] 王素立,高潔,孫新德.MATLAB混合編程與工程[M].北京:清華大學(xué)出版社,2008.5:1~20.</p><p>  [7] 周小陽.數(shù)學(xué)軟件與MATLAB[M].武漢:華中科技大學(xué)出版社,2002.</p><p>  [8] 陳垚光,毛濤濤等.精通MATL

85、AB GUI設(shè)計.北京:電子工業(yè)出版社.2008.</p><p>  [9] 施曉紅,周佳.精通MATLAB圖形界面編程.北京:電子工業(yè)出版社.2008.</p><p>  [10 ]宮玉才,周洪偉等.震動工程學(xué)報.北京大學(xué)力學(xué)與工程科學(xué)系,第18卷第2期.2005.6.</p><p>  [11 ]Clint M, Jennings A.The evalua

86、tion of eigenvalue and eigenvectors of real symmetric matrices by simultaneous iteration [J].The Computer Journal, 1970, 13(1):76-80.</p><p>  [12] 李慶揚,數(shù)值分析(第四版),華中科技大學(xué)出版社,2006.07.</p><p>  [13]

溫馨提示

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

最新文檔

評論

0/150

提交評論