數值分析實驗報告 基本QR演算法求全部特徵值

2022-06-12 03:12:02 字數 1505 閱讀 4935

數值分析實驗報告

專業資訊與計算科學班級信計101 姓名學號

協作隊員實驗日期 2013 年 1 月 5 日星期六

成績評定教師簽名批改日期

題目一、 問題提出

給定矩陣,

(1)用matlab函式「eig」求矩陣全部特徵值。

(2)用冪法求a的主特徵值及對應的特徵向量。

(3)用基本qr演算法求全部特徵值(可用matlab函式「qr」實現矩陣的qr分解)。

二、 模型建立

用冪法求a的主特徵值及對應的特徵向量的模型:選取,按照下列公式構造向量序列{}{}

則有迴圈足夠多次後,可以近似得出,

三、 求解方法

(1)a=[2 3 4 5 6;4 4 5 6 7;0 3 6 7 8;0 0 2 8 9;0 0 0 1 0];

a=eig(a)

(2)function [l,v,s]=pmethod(a,x0,eps)

if nargin==2

eps = 1.0e-6;

endv = x0v為主特徵向量

m = 5000迭代步數限制

m = 0;

l = 0;

for(k=1:m)

y = a*v;

m = max(y); %m為按模最大的分量

v = y/m;

if(abs(m - l) l = m; %到所需精度,退出,l為主特徵值

s = k; %s為迭代步數

return;

else

if(k==m)

disp('迭代步數太多,收斂速度太慢!');

l = m;

s = m;

else

l = m;

endendend(3)

function l = rqrtz(a,m)

%qr演算法求矩陣全部特徵值

%已知矩陣:a

%迭代步數:m

%求得的矩陣特徵值:l

a = hess(a);

for i=1:m

n = size(a);

n = n(1,1);

u = a(n,n);

[q,r]=qr(a-u*eye(n,n));

a = r*q+u*eye(n,n);

l = diag(a);

end四、 輸出結果

(1)a = 13.1724 6.5519 1.5957 -0.3908 -0.9291

(2)主特徵值

x = 13.1724

對應的特徵向量

y = 0.7250 1.0000 0.7930 0.3533 0.0268

(3)所有特徵值

x = 13.1724 6.5519 1.5957 -0.9291 -0.3908

五、 結果分析

三種演算法各有優勢,但結果差不多,都較為適用。

數值分析實驗報告 龍貝格演算法

利用matlab編寫龍貝格演算法,並測試。1龍貝格求積演算法matlab主程式 2呼叫函式解題 1寫出龍貝格求積演算法matlab的程式 function t rbg f,a,b,c t zeros 15,4 t 1,1 b a 2 f a f b for k 2 4 sum 0 for i 1 2...

數值分析實驗報告

實驗一題目一 已知函式表如下 試用三次lagrange插值多項式求x 0.5635時的函式值。解 lagrange插值法公式 程式框圖如下 本題中n 4 分析設計思想 設計思路如上面的流程圖所示,用我們學過的c語言程式設計實現。程式清單 include include include float l...

數值分析實驗報告

數值分析 課程設計實驗報告模板 常微分方程資料值解 用龍格 庫塔法分析lorenz方程的特性 一 考慮著名的lorenz方程 其中s,r,b為變化區域內有一定限制的實引數,該方程形式簡單,表面上看並無驚人之處,但由該方程揭示出的許多現象,促使 混沌 成為數學研究的嶄新領域,在實際應用中產生了巨大的影...