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

時間 2021-09-06 11:58:46

1樓:左丘義焉溪

-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行~0

-662-4

206-6

第1行加上第3行,交換次序~1

0-101

-1000

得到特徵向量(1,-1,1)^t

當λ=-1時,1,第3行除以6~0

0020

-201-1

第2行除以2,

a+e=22

2222

222第2行減去第1行,0)^t和(0,第3行減去第1行設矩陣a的特徵值為λ

則|a-λe|=

1-λ222

1-λ222

1-λ第1行減去第2行

=-1-λ

1+λ0

21-λ22

21-λ

第2列加上第1列

=-1-λ00

23-λ22

41-λ

按第1行

=(-1-λ)(λ²

層次分析法中,求出矩陣最大特徵值對應的特徵向量,再分別平方就是權向量麼

2樓:玖瞳

這有個我們以前的matlab冪法求特徵值和特徵響量的程式:[maxnorm.m]function t=maxnorm(a)%求數列中按模最大的分量n=length(a);t=0;for i=1:

n if abs(a(i)/max(abs(a)))>=1 t=a(i); endendfunction [mt,my]=maxtr(a,eps)%用冪法求矩陣的主特徵值和對應的特徵向量n=length(a);x0=diag(ones(n));k=1x=a*x0while norm(x-x0)>eps k=k+1 q=x; y=x/maxnorm(x) x=a*y; x0=q;endmt=maxnorm(x)my=y[main1.m]a=[3 2;4 5]maxtr(a,0.0001)[invmaxtr.

m]function [mx,mt,my]=invmaxtr(a,eps)%求矩陣按模最小的特徵值和對應的特徵向量n=length(a);x0=diag(ones(n));x=inv(a)*x0;k=0while norm(x-x0)>eps k=k+1 q=x; y=x/maxnorm(x) x=inv(a)*y; x0=q;endmt=1/maxnorm(x)my=y[main.m]a=[3 2;4 5]invmaxtr(a

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

3樓:匿名使用者

先給你說個土的,就是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怎麼算出來的,是不?

4樓:匿名使用者

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的第一個值就是對應最大的特徵值

5樓:幫你學習高中數學

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

用乘冪法怎麼求矩陣的次大特徵值和對應的特徵向量,具體做法提供一下,謝謝

6樓:電燈劍客

假定a的特徵值按模排序成|λ|>|μ|>...

先用乘冪法求出ax=λx,y^ta=λy^t,並且對x或者y縮放使之滿足y^tx=1

然後對a-λxy^t用乘冪法就可以求出μ及其特徵向量

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

先給你說個土的,就是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 ...

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

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

線性代數概念 關於矩陣的特徵值,矩陣特徵值 線性代數

1.首先n階矩陣a的特徵可能不止一個,如果有一個是0,那麼a e e是n階單位矩陣 的特徵值就不會是零這句話是不對的。因為a的特徵值可能還有個1,就會導致a e 特徵值包含0。就跟簡單減法一樣 2.a 3 0 那麼a 3 e e,a e a 2 ae e e,所以 a e 是可逆的,逆矩陣為 a 2...