數模作業計算矩陣的最大特徵值和對應的歸一化特徵向量急急急用matlab算要程式設計過程要答案

時間 2021-08-11 18:12:34

1樓:匿名使用者

先給你說個土的,就是matlab的內建演算法,可以算所有特徵值和特徵向量(沒什麼技術含量的,也沒有什麼思想,只是工程學上的純應用罷了)。

a=[1 2 1/4 4 1/2;1/2 1 1/5 3 1/3;4 5 1 7 3;1/4 1/3 1/7 1 1/5; 2 3 1/3 5 1];

[v,d]=eigs(a)

結果:v =

0.2532 -0.1274 - 0.

1409i -0.1274 + 0.1409i -0.

0586 + 0.3893i -0.0586 - 0.

3893i

0.1608 -0.1373 + 0.

0246i -0.1373 - 0.0246i 0.

2097 - 0.1984i 0.2097 + 0.

1984i

0.8616 0.9116 0.9116 0.7441 0.7441

0.0774 0.0024 + 0.

0881i 0.0024 - 0.0881i -0.

0832 + 0.0314i -0.0832 - 0.

0314i

0.4020 0.0918 - 0.

3118i 0.0918 + 0.3118i -0.

3444 - 0.2854i -0.3444 + 0.

2854i

d =5.1374 0 0 0 0

0 0.0088 - 0.8328i 0 0 0

0 0 0.0088 + 0.8328i 0 0

0 0 0 -0.0775 - 0.0956i 0

0 0 0 0 -0.0775 + 0.0956i

所以最大特徵值是5.1374,對應特徵向量為[0.2532 0.1608 0.8616 0.0774 0.4020]『。

再給你提供一種很專業的數值演算法「冪法」,這是專門用來算矩陣最大特徵值的經典演算法。我大學裡《數值分析》課程教授專門花了半節課講解過這個演算法和它的原理,「冪法」一出手,絕對是專業級的解答!「冪法「的演算法過程其實很簡單,就是拿一個向量,不停地用a乘,最後就會慢慢趨近於最大特徵值對應的特徵向量。

「冪法」在矩陣擁有唯一最大特徵值的前提下,迭代足夠多次,就一定能收斂的,可以用線性代數的矩陣相似性原理證明。

我這段**迭代了100次,取了隨便一個向量[1 0 0 0 0]'作為初始值(一般是取個隨機向量,其實沒啥大差別)。「冪法」在矩陣階數很高的情況下,比內建演算法要快得多(一個5維矩陣是看不出速度上差別的)!

a=[1 2 1/4 4 1/2;1/2 1 1/5 3 1/3;4 5 1 7 3;1/4 1/3 1/7 1 1/5; 2 3 1/3 5 1];

v=[1 0 0 0 0]';

for i = 1:100

v=a*v;

v=v/sqrt(sum(v.^2));

endlamda=sqrt(sum((a*v).^2))/sqrt(sum(v.^2))

v結果:

lamda =

5.1374

v =0.2532

0.1608

0.8616

0.0774

0.4020

最大特徵值5.1374,對應特徵向量[0.2532 0.1608 0.8616 0.0774 0.4020]『。

可以看到,迭代了100次後,"冪法"和直接演算法得出了完全一樣的結果!用「冪法」,顯得演算法思想非常的清晰,不像用內建的eigs函式,你也不知道matlab怎麼算出來的,是不?

2樓:匿名使用者

a=[1 2 1/4 4 1/2

1/2 1 1/5 3 1/3

4 5 1 7 3

1/4 1/3 1/7 1 1/5

2 3 1/3 5 1];

[v,d]=eigs(a)

v =0.2532 -0.1274 - 0.

1409i -0.1274 + 0.1409i -0.

0586 + 0.3893i -0.0586 - 0.

3893i

0.1608 -0.1373 + 0.

0246i -0.1373 - 0.0246i 0.

2097 - 0.1984i 0.2097 + 0.

1984i

0.8616 0.9116 0.9116 0.7441 0.7441

0.0774 0.0024 + 0.

0881i 0.0024 - 0.0881i -0.

0832 + 0.0314i -0.0832 - 0.

0314i

0.4020 0.0918 - 0.

3118i 0.0918 + 0.3118i -0.

3444 - 0.2854i -0.3444 + 0.

2854i

d =5.1374 0 0 0 0

0 0.0088 - 0.8328i 0 0 0

0 0 0.0088 + 0.8328i 0 0

0 0 0 -0.0775 - 0.0956i 0

0 0 0 0 -0.0775 + 0.0956i

v的第一列是歸一化向量

d的第一個值就是對應最大的特徵值

3樓:幫你學習高中數學

這個。。。。,你隨便挑一個向量,設為x1,那麼進行迭代,x(n+1)=axn,只要不知有中彩票的運氣,迭代個幾千次,就能發現x(n+1)約等於kaxn,這裡k就是最大特徵值,而xn就是特徵向量。

如用matlab算矩陣特徵值特徵向量?

4樓:溜溜達達

>>clc;clear;close;>>a=[3,-1,-2;2,0,-2;2,-1,-1];>>[x,b]=eig(a) %求矩陣a的特徵值和特徵向量,其中b的對角線元素是特徵值, %x的列是相應的特徵向量。x =0.7276、-0.

5774、0.6230、 0.4851   -0.

5774、-0.2417、0.4851   -0.

5774、0.7439。

1.首先,我們建立一個我們需要計算特徵值和特徵向量的方陣。

2.然後就需要用到matlab自帶的函式表示式來實現方陣的特徵值和特徵向量的計算了。格式如下:

[v,d]=eig(a)。

3.然後按回車鍵就可以得到我們需要求得的矩陣的特徵值和特徵向量了。

怎麼計算矩陣的特徵值和特徵向量,matlab怎麼計算矩陣的特徵值和特徵向量

僪玉蘭夷茶 在數學中,矩陣 matrix 是一個按照長方陣列排列的複數或實數集合,最早來自於方程組的係數及常數所構成的方陣。這一概念由19世紀英國數學家凱利首先提出。矩陣是高等代數學中的常見工具,也常見於統計分析等應用數學學科中。在物理學中,矩陣於電路學 力學 光學和量子物理中都有應用 電腦科學中,...

已知矩陣和特徵值怎麼求特徵向量,已知特徵值求特徵向量怎麼求?

墨汁諾 a 一定等於 的某個倍數 此倍數就是對應的特徵值。如果矩陣可對角化並且知道所有的特徵值及對應的特徵向量,那麼可以用這些資訊來還原矩陣 因為ap1 p1 1,apn pn n a p1,pn p1,pn diag a p1,pn diag p1,pn 求出特徵值之後,把特徵值代回到原來的方成裡...

關於冪法求矩陣最大特徵值和對應的特徵向量的問題

左丘義焉溪 1對應的特徵向量 1,1 4 5 0解得 5,第2行加上第3行 3 a 5e 42 22 42 22 4第1行加上第2行 2,0 t和 0,1當 5時,1,1 t 所以矩陣的特徵值為5,1,第1行除以2 11100 0000 得到特徵向量 1,1,1,1,1 t,1 2,第3行減去第2行...