1樓:匿名使用者
用 [d,v] = eig(a) 就可
copy以了
如:>> a=[1,2;3,4]
a =1 2
3 4
>> [d,v]=eig(a)
d =-4216/5113 -250/601671/1186 -1736/1909v =-736/1977 00 1977/368
v 中是特徵
值bai, d中是對應du的特徵向量zhi滿意請採納^dao_^
2樓:紫觴熊
[p,d]=eig(a) ——計算出a的全部特徵值和對應的特徵向量. 其中, d是對角矩陣,儲存矩陣a的全部特徵值; p是滿陣, p的列向量構成對應於d的特徵向量組。
3樓:匿名使用者
^用 [d,v] = eig(a) 就可以了如:>> a=[1,2;3,4]
a =1 2
3 4
>> [d,v]=eig(a)
d =-4216/5113 -250/601671/1186 -1736/1909v =-736/1977 00 1977/368
v 中是特徵
值, d中是對應的特徵向量
專滿意請採納屬^_^
4樓:匿名使用者
隨便找本書就有的,很常見的問題
在matlab中求矩陣特徵值和特徵向量的**
5樓:大野瘦子
>>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
b =1.0000 0 0
0 0.0000 0
0 0 1.0000
特徵值和特徵向量的求解根據專案的需求或者是矩陣的具體形式,主要可以分成如下三種形式:
1、只需要獲得矩陣的最大特徵值和特徵值所對應的特徵向量。
2、需要求取矩陣的所有特徵值。
3、需要求取特徵值和特徵向量的矩陣為實對稱矩陣,則可以通過另一種方法進行求解。
這三種形式特徵值和特徵向量的求取:
1.如果自己僅僅要求最大特徵值的話肯定採用形式1的演算法,該演算法的優點是時間複雜度較低,計算量相對較小,該方法不但能夠求取特徵值和特徵向量,而且只要特徵值不全為0,該方法都能獲得想要的結果。
2.如果需要獲得乙個矩陣的所有特徵值,則通過形式2可以很好的解決該問題,但是該方法的缺點是僅僅能夠獲得特徵值,獲得特徵值之後利用其它方法進行求解,這樣做自然而然計算量就大了起來。
3.如果矩陣為實對稱矩陣,那麼可以通過形式3對其進行特徵值和特徵向量的求取,該方法相對於形式2的好處就是能夠一次性將特徵值和特徵向量求取出來,缺點就是矩陣必須是實對稱矩陣,至於演算法複雜度方面我沒有進行測試。
6樓:匿名使用者
1、首先開啟自己的電腦,然後在桌面上開啟matlab軟體,進入matlab主介面。
2、然後需要知道計算矩陣的特徵值和特徵向量要用eig函式,可以在該軟體的命令列視窗中輸入help eig,檢視一下eig函式的用法。
3、在該軟體命令列視窗中輸入a=[1 2 3;2 4 5;7 8 9],你按鍵盤上的回車鍵之後,輸入[x,y]=eig(a)。
4、當你按了鍵盤上的回車鍵之後,得到了x,y的值,其中x的每一列值表示矩陣a的乙個特徵向量,裡面有3個特徵向量,y的對角元素值代表a矩陣的特徵值。
7樓:
matlab具體**如下:
>>clc;
>>clear;
>>close;
>>a=[3,-1,-2;2,0,-2;2,-1,-1];
>>[x,b]=eig(a)
**中最後一行指的是求矩陣a的特徵值和特徵向量,其中b的對角線元素是特徵值,而x的列即為相應的特徵向量。
8樓:g用事實說話
不明白你說的是什麼意思,我看不懂啊,你能把那個意思詳細說一下嗎?
9樓:匿名使用者
>> a=[3 -1 -2;2 0 -2;2 -1 -1]a =3 -1 -2
2 0 -2
2 -1 -1
>> [v,d]=eig(a)
v =0.7276 -0.5774 0.
62300.4851 -0.5774 -0.
24170.4851 -0.5774 0.
7439d =1.0000 0 00 0.0000 00 0 1.
0000d為特徵值,v為每個特徵值對應
的特徵向量
10樓:匿名使用者
[d,v]=eig(a)
11樓:匿名使用者
a=[3 -1 -2 ;2 0 -2;2 -1 -1];
[u v]=eigs(a)
怎麼用matlab求矩陣的特徵值和特徵向量
matlab怎麼計算矩陣的特徵值和特徵向量
12樓:天雲一號
在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
13樓:我行我素
類似這樣:
a=[....];
[v,d]=eig(a);%v是特徵向量組成的矩陣,d的對角線元素就是特徵值
14樓:今天
使用庫函式eig()
eig: find eigenvalues and eigenvectors(返回矩陣的特徵值和特徵向量; )
[v,d] = eig(a)
d是特徵值
v特徵向量
15樓:匿名使用者
[v, d]=eig(a)
如何用matlab求矩陣的特徵值及其特徵向量
16樓:射手座
[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
17樓:戊遐思衛詞
用函式[v,d]=eig(a)
矩陣d的對角元儲存的是a的所有特徵值,
而且是從小到大排列的
矩陣v的每一列儲存的是相應的特徵向量
所以應該是v的最後乙個列
就是最大特徵值的特徵向量
18樓:朱培勝鈔雨
這有個我們以前的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中如何求矩陣的特徵值和特徵向量
19樓:枕風宿雪流年
具體步驟分析如下:
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函式的用法,如下圖所示:
20樓:子衿悠你心
可以運用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個最大特徵值
在matlab中怎樣取矩陣的列向量呀
直接對矩bai陣進行取列操du 作,如 a 2,3,1 3,0,7 2,9,7 1,3,2 a a 1 將矩陣a的第zhi一列全部取出dao來,並專賦值給變數a,此時屬變數就是乙個列向量,其維數與矩陣a的行數一致。執行完以上程式段後,a 2,3,2,1 a矩陣第j列,就是a j 第i行就是a i,初...
在matlab中怎樣把矩陣左右翻轉和上下翻轉和旋
matlab提供了左bai右 上下 以及旋轉90度直接du利用的函zhi數,如下 左右翻 fliplr x 上下翻 flipud x 旋轉dao九十度 rot90 x 擴充套件資版料 rot90 a,k 功能 將矩陣 旋轉90度 引數 a 待操作矩陣,k 旋轉k 90度詳解 將矩陣a旋轉k個90度,...
matlab中怎樣計算矩陣中每個數的平方
使用點運算。如果原矩陣式a,可以使用a.a或者a.2matlab中點運算是對相同維數的矩陣的對應元素進行相應的運算。點乘,相同維數的矩陣的對應元素相乘。點乘冪,a.b相同維數的矩陣a元素的b對應元素次冪。a.n矩陣a中所有元素取n次冪。點左除,相同維數的矩陣的對應元素進行 運算。點右除,相同維數的矩...