怎麼用matlab求複數矩陣的特徵值特徵向量

2021-04-21 05:48:18 字數 6238 閱讀 5744

1樓:匿名使用者

跟實矩陣式一樣的

[u,v] = eig(a)

可以自己檢視

>>help eig

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

2樓:溜溜達達

>>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求矩陣的特徵值和特徵向量

如何用matlab求矩陣的特徵值及其特徵向量

3樓:射手座

[v,d]=eig(a):求矩陣a的全部特徵值,構成對角陣d,並求a的特徵向量構成v的列向量

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

>> [v,d]=eig(a)

v =-0.370937915979909 -0.691545561718756 0.482529180116882

-0.703281764566580 0.083451238716327 -0.753226224556934

-0.606465021346326 0.717496081399613 0.447007656506505

d =9.696761517759944 0 0

0 -2.353923226499950 0

0 0 0.657161708740017

4樓:戊遐思衛詞

用函式[v,d]=eig(a)

矩陣d的對角元儲存的是a的所有特徵值,

而且是從小到大排列的

矩陣v的每一列儲存的是相應的特徵向量

所以應該是v的最後一個列

就是最大特徵值的特徵向量

5樓:朱培勝鈔雨

這有個我們以前的matlab冪法求特徵值和特徵響量的程式:

[maxnorm.m]

function

t=maxnorm(a)

%求數列中按模最大的分量

n=length(a);

t=0;

fori=1:n

ifabs(a(i)/max(abs(a)))>=1t=a(i);

endend

function

[mt,my]=maxtr(a,eps)

%用冪法求矩陣的主特徵值和對應的特徵向量

n=length(a);

x0=diag(ones(n));

k=1x=a*x0

while

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;45]

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;45]

invmaxtr(a)

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

6樓:天雲一號

在matlab中,可以用eig函式計算矩陣的特徵值和特徵向量。舉例如下:

>> a = [1, 2, 3; 4, 5, 6; 7, 8, 9]  % 原始資料矩陣

a =1     2     3

4     5     6

7     8     9

>> [v, d] = eig(a)  % 特徵值分解,其中v的每一列表示矩陣a的一個特徵向量,d是一個對角矩陣,對角線上的元素表示矩陣a的特徵值

v =-0.2320   -0.7858    0.

4082-0.5253   -0.0868   -0.

8165-0.8187    0.6123    0.

4082d =16.1168         0         00   -1.1168         00         0   -0.

0000

7樓:我行我素

類似這樣:

a=[....];

[v,d]=eig(a);%v是特徵向量組成的矩陣,d的對角線元素就是特徵值

8樓:今天

使用庫函式eig()

eig: find eigenvalues and eigenvectors(返回矩陣的特徵值和特徵向量; )

[v,d] = eig(a)

d是特徵值

v特徵向量

9樓:匿名使用者

[v, d]=eig(a)

matlab怎樣計算矩陣的特徵值和特徵向量?

matlab中如何求矩陣的特徵值和特徵向量

10樓:枕風宿雪流年

具體步驟分析如下:

1、第一步我們首先需要知道計算矩陣的特徵值和特徵向量要用eig函式,可以在命令列視窗中輸入help eig,檢視一下eig函式的用法,如下圖所示:

2、第二步在命令列視窗中輸入a=[1 2 3;2 4 5;7 8 9],按回車鍵之後,輸入[x,y]=eig(a),如下圖所示:

3、第三步按回車鍵之後,得到了x,y的值,其中x的每一列值表示矩陣a的一個特徵向量,這裡有3個特徵向量,y的對角元素值代表a矩陣的特徵值,如下圖所示:

4、第四步如果我們要取y的對角元素值,可以使用diag(y),如下圖所示:

5、第五步按回車鍵之後,可以看到已經取出y的對角線元素值,也就是a矩陣的特徵值,如下圖所示:

6、第六步我們也可以在命令列視窗help diag,可以看到關於diag函式的用法,如下圖所示:

11樓:子衿悠你心

可以運用eig函式求特徵值和特徵向量。

e=eig(a):求矩陣a的全部特徵值,構成向量e。

[v,d]=eig(a):求矩陣a的全部特徵值,構成對角陣d,並求a的特徵向量構成v的列向量。

[v,d]=eig(a,'nobalance'):與第2種格式類似,但第2種格式中先對a作相似變換後求矩陣a的特徵值和特徵向量,而格式3直接求矩陣a的特徵值和特徵向量。

例項:求矩陣a=[1,2;2,1]的特徵值和特徵向量。

拓展說明:

在matlab中,還有個函式eigs,可以求特徵向量和特徵值的子集。

d = eigs(a)     %求稀疏矩陣a的6個絕對值最大特徵值d,d以向量形式存放。

d = eigs(a,k)        %返回k個最大特徵值

12樓:百度使用者

a=[1 1/4;4 1]

a =1.0000 0.2500

4.0000 1.0000

>> [v,d]=eig(a)

v =0.2425 -0.2425

0.9701 0.9701

d =2 0

0 0

按照這道題的計算過程算就可以了,eig是求特徵值和特徵向量命令,v是特徵向量,是列向量,d是特徵值矩陣,主對角線元素就是特徵值,與特徵向量的列對應的

13樓:匿名使用者

[v.d]=eig(a) a為矩陣

怎麼求複數矩陣的特徵值和特徵向量

14樓:小樂笑了

跟實矩陣求特徵值,特徵向量類似,一步一步往下做

急求幫忙用matlab計算矩陣特徵值和特徵向量!!

15樓:匿名使用者

程式**:

clear;clc;

a=[1 1 1/3 1/2 3 5;1 1 1/3 2 2 1/2;

3 3 1 5 1/3 1/4;2 1/2 1/5 1 1/2 1/3;

1/3 1/2 3 2 1 1/3;1/5 2 4 3 3 1];

[b,c]=eig(a)

得到結果:(b矩陣是特徵值,c矩陣是特徵向量)

b =[

-0.5334 0.6483 0.

6483 0.4604 -0.1539 - 0.

3290i -0.1539 + 0.3290i

-0.2592 0.0341 - 0.

0282i 0.0341 + 0.0282i 0.

4570 0.6426 0.6426

-0.4776 -0.3525 - 0.

2779i -0.3525 + 0.2779i 0.

3193 -0.0169 - 0.3664i -0.

0169 + 0.3664i

-0.2112 -0.0388 - 0.

2442i -0.0388 + 0.2442i -0.

6533 -0.1985 + 0.2785i -0.

1985 - 0.2785i

-0.3047 -0.1714 + 0.

2746i -0.1714 - 0.2746i 0.

0234 -0.1940 + 0.3529i -0.

1940 - 0.3529i

-0.5317 -0.0824 + 0.

4511i -0.0824 - 0.4511i -0.

2235 0.1260 - 0.1599i 0.

1260 + 0.1599i]

c =[

8.6795 0 0 0 0 0

0 -0.5874 + 4.3752i 0 0 0 0

0 0 -0.5874 - 4.3752i 0 0 0

0 0 0 -0.7609 0 0

0 0 0 0 -0.3719 + 1.1388i 0

0 0 0 0 0 -0.3719 - 1.1388i]

用matlab怎麼求非奇異矩陣的逆

你這b是奇異矩陣 不是非奇異 不存在逆矩陣。你可以使用pinv求出它的偽逆 pinv b 求 中 非方陣的 逆矩陣 有大神可以幫忙用matlab計算嗎 a 2072 1 3580.5 1 5729.6 1 b pinv a 非方陣沒有逆矩陣,但有偽逆,結果 b 0.0003 0.0000 0.000...

在matlab中怎麼求矩陣中大於某個數的元素個數,以及元素的總數

a 1 2 3 5 3 5 3 2 sum sum a 3 a,b size a a b 大於3 prod size a 3 一共 prod size a matlab裡,怎麼得到一個矩陣所含的元素個數 假設你的矩陣是a,維數你自己看著辦 length a 這個能得到你要的元素個數如果你要非重複的元...

求用matlab寫小程式,求用matlab寫一個小程式

內容來自使用者 夢見天亮11 num2str 變數值為字串 int2str 變整數為字串 str2num 變字串為數值 sprintf 變數值為格式控制下的字串 sscanf 變字串為格式控制下的數值 1.分段函式 for x pi 6 pi 10 6 pi y sin x if y 0 y 0 e...