求助matlab中用eigs求特徵值時出現如下錯誤

2021-03-04 01:04:17 字數 3935 閱讀 5972

1樓:匿名使用者

複數時候用eigs,實數時候用eig!具體到稀疏矩陣可能也有差別,help裡提到的是 :

d = eig(a) returns a vector of the eigenvalues of matrix a.

返回的d是矩陣a的特徵值向量;

d = eigs(a) returns a vector of a's six largest magnitude eigenvalues.

返回的d是矩陣a的六個最大特徵向值的量

matlab中,求特徵值的函式eigs

2樓:匿名使用者

d 是乙個對來角線矩陣,對角自線上每乙個值為特徵bai值v是和d中特du

徵值對應的特徵向zhi量

引數表示計算距離

dao0最近的三個特徵值。

ps這個函式用的是arpaack的軟體包,利用的是近年發展的arnoldi 演算法

eigs 函式適合大型矩陣(一般非對稱,稀疏)部分特徵值計算。

要是你要求的的矩陣<1000維,推薦使用[v,d]=eig(a),瞬間計算出所有特徵值。

matlab中如何求特徵值?

3樓:

用eig這個函式,eig就是特徵值eigenvalue(特徵值)和eigenvector(特徵向量)的縮寫,可以返回特徵值和特徵向量

4樓:匿名使用者

[v,d]=eig(a)

輸入矩陣a,輸出特徵向量v和特徵值d

v的第n列為d的第n個特徵值的特徵向量

在用matlab算特徵向量的時候出現以下錯誤是什麼原因呢?

5樓:兔子和小強

因為d-w矩陣不可逆,條件數為無窮大。可以給它的對角線加點修正量100*eps:

[vc, ev] = eigs(d-w + eye(size(d))*eps*100, d, 2, '**');

6樓:

>> a=fix(10*rand(1,10)+5); %隨機生成乙個1x10的向量

>> a(1:2:10)=0; %令奇數字都為0

>> a(find(a==0))=;%找到a中0的位置,並令其為空,即刪除

求助各位大神,關於eigs函式錯誤的

7樓:pest永遠幸福兒

>> opts.disp=0;

>> [e,~]=eigs(feature,100,'**',opts);

??? error using ==> eigs>checkinputs/lufactoraminussigmab at 1124

(a-sigma*i)is singular. the shift is an eigenvalue.

try to use some other shift please.

error in ==> eigs>checkinputs at 895

[l,u,pp,**,dgasb] = lufactoraminussigmab;

error in ==> eigs at 94

[a,amatrix,isrealprob,issyma,n,b,classab,k,eigs_sigma,whch

matlab eigs 求矩陣 稀疏矩陣 最小的幾個特徵值和特徵向量 matlab 50

8樓:

1e5*1e5的稀疏矩陣,資料沒多大 300mb左右 但是 如果 eigs 用ms的話 直接記憶體就噴了 要是求最大的 就不會 。。。。

9樓:匿名使用者

有多大?,可以發lhmhz@**.***嗎?

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樓:匿名使用者

eig函式直接可以求特徵值和特徵向量

在matlab中,計算矩陣a的特徵值和特徵向量的函式是eig(a),常用的呼叫格式有5種:

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

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

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

e=eig(a,b):由eig(a,b)返回n×n階方陣a和b的n個廣義特徵值,構成向量e。

[v,d]=eig(a,b):由eig(a,b)返回方陣a和b的n個廣義特徵值,構成n×n階對角陣d,其對角線上的n個元素即為相應的廣義特徵值,同時將返回相應的特徵向量構成n×n階滿秩矩陣,且滿足av=bvd。

13樓:百度使用者

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是特徵值矩陣,主對角線元素就是特徵值,與特徵向量的列對應的

14樓:匿名使用者

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

matlab eigs 求矩陣 稀疏矩陣 最小的幾個特徵值和特徵向量 matlab

15樓:饅頭爛布

eigs 可以只bai求矩陣的幾個最小的或du

者最大的(或者最接近某

zhi乙個數dao值的)特徵值和對應的回特徵向量,並且能夠處答理稀疏矩陣(如果矩陣規模很大而且稀疏程度有很高的話,使用稀疏矩陣速度會快很多)。當然它使用的演算法和 eig 不一樣,是迭代的方式

16樓:樓皓揚秋白

有多大?,可以發lhmhz@**.***嗎?

matlab求助大神艾兇求過,matlab求助大神啊,小白求過!

沒看太明bai白題主到底想要做什麼du。zhi在 的最後有這樣兩dao 句 set handles.uitable2,data 內,d set handles.uitable2,data c 其效果是,前面一句不容會起作用,因為uitable的data屬性隨後就被覆蓋了。如果希望同時顯示d和c,應該...

matlab中用plot功能時出現一下現象,求解!還沒入門

當你是想做矩陣間來的乘法時 就不源用 當你想讓矩陣對應元素相乘時 就需要用 你的程式中,x為 1,2,3,4,5 一行五列的矩陣 y2 x.2為矩陣中對應元素相乘,即1 1,2 2,3 3,4 4,5 5,構成了y2矩陣 y4 x 2為矩陣間的乘法,要求相乘的兩個矩陣中第乙個矩陣的列數等於第二個矩陣...

matlab中用什麼命令可以給縱座標y1,y2命名 謝謝高人

x 0 0.25 4 y exp x plotyy x,y,x,y,plot semilogy hold on title 題目 ylabel y1座標 xlabel x軸 這不就對著呢,你不是會嗎。x 0 0.01 20 y1 200 exp 0.05 x sin x y2 0.8 exp 0.5...