北航數(shù)值分析其次次大作業(yè)_第1頁
北航數(shù)值分析其次次大作業(yè)_第2頁
北航數(shù)值分析其次次大作業(yè)_第3頁
北航數(shù)值分析其次次大作業(yè)_第4頁
北航數(shù)值分析其次次大作業(yè)_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

本文格式為Word版,下載可任意編輯——北航數(shù)值分析其次次大作業(yè)

數(shù)值分析其次次大作業(yè)

姓名:李瀟學號:SY1303314

題目:使用帶雙步位移的QR分解法求矩陣A?[aij]10*10的全部特征值,并對其中

的每一個實特征值求相應的特征向量。已知:

sin(0.5i?0.2j)(i?j)aij?{1.5cos(i?1.2j)(i?j)(i,j=1,2,……,10)

1、算法設計:

①矩陣的擬上三角化:

對實矩陣A進行相像變換化為擬上三角矩陣AHouseholder矩陣,變換過程如下:

(r)若air?0(i?r?2,?,n),則Hr?I;

(n?1),其變換矩陣采用

否則,sr=(0,?,0,ar+1,r,?an,r),

(r)(r)Tcr=-sgn(a(r)r+1,r)||sr||2,

)(r)(r)ur=sr-crer+1?(0,?,0,ar(r?1,r?cr,ar?2,r,?,anr),

Hr=I-2uruTr/ur2,

2A(r?1)?HrA(r)Hr。

當r?n?2時,得A似。

②矩陣的QR分解:

矩陣的QR分解過程與擬上三角化過程相像,在這里不再重復其原理。③求全部特征值

矩陣擬上三角化后利用帶雙步位移的QR方法,采用書本Page63頁具體算法實現(xiàn)。為了使編程便利,并體會goto語句使用的靈活性,程序中的跳轉(zhuǎn)均使用gotoLoop*實現(xiàn)。

④求A的相應于實特征值的特征向量

求實特征值對應的特征向量,即是求解線性方程組

(n?1)?Hn?2A(n?2)Hn?2???Hn?2?H1A(1)H1?Hn?2,

令P=H1H2?Hn-2又Hr是對稱正交矩陣,于是An-1=PTAP成立,因而An-1與A相

(λiI-A)xi=0,

(i?1,?,n)。因此,為得到全部實特征值對應的特征向量,解線性方程組的過

程要循環(huán)n次(n為矩陣階數(shù))。線性方程組的求解采用列主元素Gauss消去法。

2、程序源代碼:

#include\

#include\#include\

//****************************************************************************//

//N:待求矩陣的階數(shù)////Epsilon:精度水平////MaxL:限制求解的最大迭代次數(shù)////****************************************************************************//#defineN10

#defineEpsilon0.000000000001#defineMaxL200

voidCreat_MatrixA(doublearray[N+1][N+1]);

voidLoad_MatrixA(doubleMatrixA[N+1][N+1],doublearrayA[N+1][N+1]);voidClear_Elements(doublearray[N+1][N+1]);voidInitial_to_I(doublearray[N+1][N+1]);voidNishang(doublearrayA[N+1][N+1]);

voidQR_Fenjie(doublearrayA[N+1][N+1],doubleQ[N+1][N+1],intm);voidSolution_namda(doublearrayA[N+1][N+1],doublenamda[N+1][2]);voidSolution_A_Next(doublearrayA[N+1][N+1],intm,doubles,doublet);

voidSolution_vector(doublearray[N+1][N+1],doublenamda[N+1][2],doublex[N+1][N+1]);voidGaussElemitation_select(intm,intflag,doublearray[N+1][N+1],doublex[N+1][N+1]);voidPrint_test(doublearray[N+1][N+1]);

voidPrint_testAB(doublearrayA[N+1][N+1],doublearrayB[N+1][N+1]);voidPrint_namda(doublenamda[N+1][2]);

voidPrint_vector(doublex[N+1][N+1],doublenamda[N+1][2]);

intmain(void){

//****************************************************************************////定義主程序中用到的變量////****************************************************************************////MatrixA:用來存儲源矩陣A////Q:用來存儲對A(n-1)進行QR分解得到的正交陣////namda:用來存儲矩陣A的全部特征值。第1列存儲實部,第2列存儲虛部////****************************************************************************//doubleMatrixA[N+1][N+1],Q[N+1][N+1],namda[N+1][2],x[N+1][N+1];

//****************************************************************************////對矩陣A進行擬上三角化,再進行QR分解見////****************************************************************************//Creat_MatrixA(MatrixA);

printf(\經(jīng)過擬上三角化得到的矩陣A(n-1)為:\\n\/*對矩陣A進行擬上三角化,并輸出矩陣A(n-1)*/Nishang(MatrixA);Print_test(MatrixA);

printf(\經(jīng)過QR分解得到的矩陣Q、R和RQ分別為:\\n\/*對矩陣A(n-1)進行QR分解*/

QR_Fenjie(MatrixA,Q,N);

/*輸出分解得到的Q、R和RQ*/printf(\Print_test(Q);

printf(\Print_test(MatrixA);

printf(\Print_testAB(MatrixA,Q);

//****************************************************************************////用帶雙步位移的QR方法求矩陣A的全部特征值////****************************************************************************///*重新生成矩陣A*/

Creat_MatrixA(MatrixA);

/*調(diào)用Solution_namda求矩陣A的全部特征值,并輸出*/Solution_namda(MatrixA,namda);Print_namda(namda);

//****************************************************************************////求實特征值對應的特征向量////****************************************************************************///*重新生成矩陣A*/

Creat_MatrixA(MatrixA);

printf(\實特征值對應的特征向量:\

/*調(diào)用Solution_vector求矩陣A實特征值對應的特征向量,并輸出*/Sol

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論