1樓:電燈劍客
[v, d] = eig(pascal(6))
設計演算法:計算六階矩陣的特徵值.[即實現matlab中的eig()功能]
2樓:匿名使用者
要自己做的話,這就是一個數值計算求特徵值的問題了,找一本計算方法看看
要不然可以使用矩陣分解的命令,比如jordan(),schur(),分解後得到的矩陣的對角元就是特徵值,你提取出來就是了。
有沒有大神能用matlab做一個迭代法求矩陣的特徵值和特徵向量的程式呀
3樓:胡圖小生
雅可比迭代
function [x,n]=jacobi2(a,b,x0,eps,m)
% jacobi迭代
%a=[9 1 1;1 8 1;1 1 9];
%b=[1;1;1];
%x0=[0;0;0];
%[x,n]=jacobi(a,b,x0)if nargin==3
eps=1.0e-6;
m=10000;
elseif nargin==4
m=10000;
endd=diag(diag(a));l=-tril(a,-1);
u=-triu(a,1);b=inv(d)*(l+u);
f=inv(d)*b;x=x0;n=0;
tol=1;
while tol>eps
x=b*x0+f;
n=n+1;
tol=norm(x-x0);%極大範數 等同於tol=max(abs(x-x0))但不能這樣用
x0=x;
if(n>=m)
disp('warning:迭代次數太多,可能不收斂');
break;
endend
高斯賽德爾迭代
function[x,n]=gauseidel2(a,b,x0,eps,m )
% detailed explanation goes here% 解的精度:eps% 迭代步數控制:m
% 解 x% 求解所需的實際步數迭代:n
%[x,n]=gauseidel(a,b,x0)if nargin==3
eps=1.0e-6;
m=10000;
elseif nargin==4
m=10000;
endd=diag(diag(a));
l=-tril(a,-1);
u=-triu(a,1);
g=(d-l)\u;
f=(d-l)\b;
x=x0;
n=0;
tol=1;
while tol>=eps
x=g*x0+f;
n=n+1;
tol=norm(x-x0);%算矩陣sup範數x0=x;
if(n>=m)
disp('warning:迭代次數太多可能不收斂')break
endend
matlab怎樣計算矩陣的特徵值和特徵向量?
在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
b =1.0000 0 0
0 0.0000 0
0 0 1.0000
特徵值和特徵向量的求解根據專案的需求或者是矩陣的具體形式,主要可以分成如下三種形式:
1、只需要獲得矩陣的最大特徵值和特徵值所對應的特徵向量。
2、需要求取矩陣的所有特徵值。
3、需要求取特徵值和特徵向量的矩陣為實對稱矩陣,則可以通過另一種方法進行求解。
這三種形式特徵值和特徵向量的求取:
1.如果自己僅僅要求最大特徵值的話肯定採用形式1的演算法,該演算法的優點是時間複雜度較低,計算量相對較小,該方法不但能夠求取特徵值和特徵向量,而且只要特徵值不全為0,該方法都能獲得想要的結果。
2.如果需要獲得一個矩陣的所有特徵值,則通過形式2可以很好的解決該問題,但是該方法的缺點是僅僅能夠獲得特徵值,獲得特徵值之後利用其它方法進行求解,這樣做自然而然計算量就大了起來。
3.如果矩陣為實對稱矩陣,那麼可以通過形式3對其進行特徵值和特徵向量的求取,該方法相對於形式2的好處就是能夠一次性將特徵值和特徵向量求取出來,缺點就是矩陣必須是實對稱矩陣,至於演算法複雜度方面我沒有進行測試。
5樓:匿名使用者
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矩陣的特徵值。
6樓:
matlab具體**如下:
>>clc;
>>clear;
>>close;
>>a=[3,-1,-2;2,0,-2;2,-1,-1];
>>[x,b]=eig(a)
**中最後一行指的是求矩陣a的特徵值和特徵向量,其中b的對角線元素是特徵值,而x的列即為相應的特徵向量。
7樓:g用事實說話
不明白你說的是什麼意思,我看不懂啊,你能把那個意思詳細說一下嗎?
8樓:匿名使用者
>> 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為每個特徵值對應
的特徵向量
9樓:匿名使用者
[d,v]=eig(a)
10樓:匿名使用者
a=[3 -1 -2 ;2 0 -2;2 -1 -1];
[u v]=eigs(a)
【數學】【軟體】用matlab計算矩陣的特徵值和特徵向量
11樓:我行我素
a=[1 3 5;1/3 1 3;1/5 1/3 1];%第一個
矩陣b=[1 1/5 1/3 3; 5 1 3 7; 3 1/3 1 5; 1/3 1/7 1/5 1];%第二個矩陣
c=[1 1/3 1/6 1/4; 3 1 1/3 1/3; 6 3 1 2; 4 3 1/2 1];%第三個矩陣
[va,da]=eig(a)%va是特徵列向量組成的矩陣,da對角線上的元素就是特徵值
[vb,db]=eig(b)%vb是特徵列向量組成的矩陣,db對角線上的元素就是特徵值
[vc,dc]=eig(c)%vc是特徵列向量組成的矩陣,dc對角線上的元素就是特徵值
執行結果:
va =
0.9161 0.9161 0.9161
0.3715 -0.1857 + 0.3217i -0.1857 - 0.3217i
0.1506 -0.0753 - 0.1304i -0.0753 + 0.1304i
da =
3.0385 0 0
0 -0.0193 + 0.3415i 0
0 0 -0.0193 - 0.3415i
vb =
0.1847 -0.1730 + 0.0292i -0.1730 - 0.0292i -0.2409
0.8880 0.9061 0.9061 -0.8267
0.4121 0.0091 + 0.3738i 0.0091 - 0.3738i 0.5006
0.0869 -0.0103 - 0.0913i -0.0103 + 0.0913i 0.0886
db =
4.1170 0 0 0
0 -0.0037 + 0.6934i 0 0
0 0 -0.0037 - 0.6934i 0
0 0 0 -0.1095
vc =
0.1132 0.0534 - 0.0892i 0.0534 + 0.0892i 0.0992
0.2535 -0.2869 - 0.1165i -0.2869 + 0.1165i -0.0915
0.8055 0.6849 0.6849 -0.9346
0.5235 -0.0789 + 0.6466i -0.0789 - 0.6466i 0.3292
dc =
4.0875 0 0 0
0 -0.0199 + 0.5960i 0 0
0 0 -0.0199 - 0.5960i 0
0 0 0 -0.0478
12樓:匿名使用者
第一個矩陣:
特徵向量:
0.9161 0.9161 0.9161
0.3715 -0.1857 + 0.3217i -0.1857 - 0.3217i
0.1506 -0.0753 - 0.1304i -0.0753 + 0.1304i
對應的特徵值:
3.0385 0 0
0 -0.0193 + 0.3415i 0
0 0 -0.0193 - 0.3415i
第二個矩陣:
特徵向量:
0.1847 -0.1730 + 0.0292i -0.1730 - 0.0292i -0.2409
0.8880 0.9061 0.9061 -0.8267
0.4121 0.0091 + 0.3738i 0.0091 - 0.3738i 0.5006
0.0869 -0.0103 - 0.0913i -0.0103 + 0.0913i 0.0886
對應的特徵值:
4.1170 0 0 0
0 -0.0037 + 0.6934i 0 0
0 0 -0.0037 - 0.6934i 0
0 0 0 -0.1095
第三個矩陣:
特徵向量:
0.1132 0.0534 - 0.0892i 0.0534 + 0.0892i 0.0992
0.2535 -0.2869 - 0.1165i -0.2869 + 0.1165i -0.0915
0.8055 0.6849 0.6849 -0.9346
0.5235 -0.0789 + 0.6466i -0.0789 - 0.6466i 0.3292
對應的特徵值:
4.0875 0 0 0
0 -0.0199 + 0.5960i 0 0
0 0 -0.0199 - 0.5960i 0
0 0 0 -0.0478
怎麼求二階矩陣的特徵值,怎麼求二階矩陣的特徵值
a b c d 對應特徵方程 x a x d bc 0 解出特徵根。如圖 這個二階矩陣的特徵值,怎麼求?e a 2 1 1 2 2 2 1 3 1 0得 3,1 二階矩陣的特徵值和特徵向量的求法 a xe 2 x 3 2 1 x 2 x 1 x 6 x 2 3x 4 x 1 x 4 所以特徵值是 1...
設3階矩陣a的特徵值為 1,1, 2,求
a a a 1 a 1 1 2 2 即。a 3a 2i a a 1 3a 2i 2a 1 3a 2i 特徵方程為。所以。特徵值為 2 3 2 1 從而。原式 1 3 3 9 您好,我這邊是合作的導師,我這邊正在為您查詢,請稍等片刻,我這邊馬上回復您 微笑 您好,a 60。若 是a的特徵值,本題a的特...
設三階實對稱矩陣a的特徵值為 1,1,1。與特徵值 1對應的
解 由實對稱矩陣的屬於不同特徵值的特徵向量正交知特徵值 1對應的特徵向量a1 1,1,1 與屬於特徵值為1的特徵向量與x x1,x2,x3 正交 即有 x1 x2 x3 0.解得一個基礎解系 a2 1,0,1 a3 1,1,0 將a2,a3正交化得 b1 1,0,1 b2 1 2,1,1 2 1 2...