1樓:胡圖小生
雅可比迭代
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中求矩陣特徵值和特徵向量的**
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
b =1.0000 0 0
0 0.0000 0
0 0 1.0000
特徵值和特徵向量的求解根據專案的需求或者是矩陣的具體形式,主要可以分成如下三種形式:
1、只需要獲得矩陣的最大特徵值和特徵值所對應的特徵向量。
2、需要求取矩陣的所有特徵值。
3、需要求取特徵值和特徵向量的矩陣為實對稱矩陣,則可以通過另一種方法進行求解。
這三種形式特徵值和特徵向量的求取:
1.如果自己僅僅要求最大特徵值的話肯定採用形式1的演算法,該演算法的優點是時間複雜度較低,計算量相對較小,該方法不但能夠求取特徵值和特徵向量,而且只要特徵值不全為0,該方法都能獲得想要的結果。
2.如果需要獲得乙個矩陣的所有特徵值,則通過形式2可以很好的解決該問題,但是該方法的缺點是僅僅能夠獲得特徵值,獲得特徵值之後利用其它方法進行求解,這樣做自然而然計算量就大了起來。
3.如果矩陣為實對稱矩陣,那麼可以通過形式3對其進行特徵值和特徵向量的求取,該方法相對於形式2的好處就是能夠一次性將特徵值和特徵向量求取出來,缺點就是矩陣必須是實對稱矩陣,至於演算法複雜度方面我沒有進行測試。
3樓:匿名使用者
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矩陣的特徵值。
4樓:
matlab具體**如下:
>>clc;
>>clear;
>>close;
>>a=[3,-1,-2;2,0,-2;2,-1,-1];
>>[x,b]=eig(a)
**中最後一行指的是求矩陣a的特徵值和特徵向量,其中b的對角線元素是特徵值,而x的列即為相應的特徵向量。
5樓:g用事實說話
不明白你說的是什麼意思,我看不懂啊,你能把那個意思詳細說一下嗎?
6樓:匿名使用者
>> 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為每個特徵值對應
的特徵向量
7樓:匿名使用者
[d,v]=eig(a)
8樓:匿名使用者
a=[3 -1 -2 ;2 0 -2;2 -1 -1];
[u v]=eigs(a)
matlab用qr方法怎麼求特徵值,把程式寫出來,謝謝
9樓:匿名使用者
function l = rqrtz(a,m)%qr演算法求矩陣全部特徵值
%已知矩陣:a
%迭代步數:m
%求得的矩陣特徵值:l
a = hess(a);
for i=1:m
n = size(a);
n = n(1,1);
u = a(n,n);
[q,r]=qr(a-u*eye(n,n));
a = r*q+u*eye(n,n);
l = diag(a);
end------------------------------------
a=[0 5 0 0 0 0;1 0 4 0 0 0;0 1 0 3 0 0;0 0 1 0 2 0;0 0 0 1 0 1;0 0 0 0 1 0]
a =0 5 0 0 0 01 0 4 0 0 00 1 0 3 0 00 0 1 0 2 00 0 0 1 0 10 0 0 0 1 0>> rqrtz(a,50)
ans =
-3.2030
3.2030
-1.8837
1.8837
-0.6167
0.6167
>> eig(a)
ans =
-3.3243
3.3243
-1.8892
-0.6167
1.8892
0.6167
10樓:匿名使用者
看matlab幫助檔案,裡邊都有例程,電腦沒有安裝matlab,懶得安裝了,但是我知道幫助檔案裡有這個例子
11樓:言清韻柯北
前面的函式是求特徵值的函式,後面的是呼叫的例子和驗證functionl=
rqrtz(a,m)
%qr演算法求矩陣全部特徵值
%已知矩陣:a
%迭代步數:m
%求得的矩陣特徵值:la=
hess(a);
fori=1:mn=
size(a);n=
n(1,1);u=
a(n,n);
[q,r]=qr(a-u*eye(n,n));a=r*q+u*eye(n,n);l=
diag(a);
enda=[050
000;1040
00;010
300;0010
20;000
101;0000
10]a=
0500
0010
4000
0103
0000
1020
0001
0100
0010
>>rqrtz(a,50)
ans=
-3.2030
3.2030
-1.8837
1.8837
-0.6167
0.6167
>>eig(a)
ans=
-3.3243
3.3243
-1.8892
-0.6167
1.8892
0.6167
怎麼用matlab求矩陣的特徵值和特徵向量
如何用matlab求這個矩陣的特徵值和特徵向量呢?
12樓:匿名使用者
[v,d]=eig(a)
d為特徵值
v的列向量為對應特徵值的特徵向量
13樓:化學工程
20個太多,用2個舉例:
clc;clear
m=1;n=2;
for x=1:n
for y=1:n
for z=1:n
a(:,:,m)=[0 -1 x 0;1 0 0 x;y 0 z/y -1;0 y 1 z/x];
[v(:,:,m),d(:,:,m)]=eig(a(:,:,m))
m=m+1;
endend
end結果:
v(:,:,1) =
0.0000 + 0.6015i 0.0000 - 0.6015i 0.3717 + 0.0000i 0.3717 - 0.0000i
0.6015 0.6015 -0.0000 - 0.3717i -0.0000 + 0.3717i
-0.0000 - 0.3717i -0.0000 + 0.3717i 0.6015 0.6015
-0.3717 + 0.0000i -0.3717 - 0.0000i -0.0000 - 0.6015i -0.0000 + 0.6015i
v(:,:,2) =
-0.6533 -0.6533 0.2706 + 0.0000i 0.2706 - 0.0000i
0.0000 + 0.6533i 0.0000 - 0.6533i -0.0000 - 0.2706i -0.0000 + 0.2706i
0.2706 + 0.0000i 0.2706 - 0.0000i 0.6533 0.6533
-0.0000 - 0.2706i -0.0000 + 0.2706i -0.0000 - 0.6533i -0.0000 + 0.6533i
v(:,:,3) =
0.0527 - 0.3450i 0.0527 + 0.3450i -0.4661 + 0.0198i -0.4661 - 0.0198i
-0.3238 - 0.0141i -0.3238 + 0.0141i 0.0517 + 0.4846i 0.0517 - 0.4846i
0.1132 - 0.5975i 0.1132 + 0.5975i 0.5407 0.5407
-0.6351 -0.6351 -0.0717 - 0.4974i -0.0717 + 0.4974i
v(:,:,4) =
0.1041 - 0.2772i 0.1041 + 0.2772i -0.0501 + 0.5145i -0.0501 - 0.5145i
-0.2482 - 0.0204i -0.2482 + 0.0204i 0.5498 0.5498
0.2535 - 0.5790i 0.2535 + 0.5790i 0.0867 - 0.4927i 0.0867 + 0.4927i
-0.6714 -0.6714 -0.4237 + 0.0265i -0.4237 - 0.0265i
v(:,:,5) =
0.6337 0.6337 -0.0539 - 0.4971i -0.0539 + 0.4971i
0.0386 - 0.6054i 0.0386 + 0.6054i -0.5384 -0.5384
-0.3265 + 0.0121i -0.3265 - 0.0121i -0.0740 - 0.4843i -0.0740 + 0.4843i
-0.0373 + 0.3496i -0.0373 - 0.3496i -0.4688 - 0.0167i -0.4688 + 0.0167i
v(:,:,6) =
0.6681 0.6681 0.4123 + 0.0339i 0.4123 - 0.0339i
0.0609 - 0.6253i 0.0609 + 0.6253i 0.1729 - 0.4606i 0.1729 + 0.4606i
-0.2574 + 0.0161i -0.2574 - 0.0161i 0.5578 0.5578
-0.0527 + 0.2994i -0.0527 - 0.2994i 0.2106 - 0.4810i 0.2106 + 0.4810i
v(:,:,7) =
0.5301 0.5301 -0.4680 - 0.0000i -0.4680 + 0.0000i
0.0000 - 0.5301i 0.0000 + 0.5301i -0.0000 + 0.4680i -0.0000 - 0.4680i
-0.4680 + 0.0000i -0.4680 - 0.0000i -0.5301 -0.5301
-0.0000 + 0.4680i -0.0000 - 0.4680i -0.0000 + 0.5301i -0.0000 - 0.5301i
v(:,:,8) =
-0.5573 -0.5573 -0.0000 + 0.4352i -0.0000 - 0.4352i
0.0000 + 0.5573i 0.0000 - 0.5573i 0.4352 + 0.0000i 0.4352 - 0.0000i
0.4352 + 0.0000i 0.4352 - 0.0000i -0.0000 + 0.5573i -0.0000 - 0.5573i
-0.0000 - 0.4352i -0.0000 + 0.4352i 0.5573 0.5573
d(:,:,1) =
-0.6180 + 1.0000i 0 0 0
0 -0.6180 - 1.0000i 0 0
0 0 1.6180 + 1.0000i 0
0 0 0 1.6180 - 1.0000i
d(:,:,2) =
-0.4142 + 1.0000i 0 0 0
0 -0.4142 - 1.0000i 0 0
0 0 2.4142 + 1.0000i 0
0 0 0 2.4142 - 1.0000i
d(:,:,3) =
1.8415 + 0.9852i 0 0 0
0 1.8415 - 0.9852i 0 0
0 0 -1.0915 + 0.9933i 0
0 0 0 -1.0915 - 0.9933i
d(:,:,4) =
2.3617 + 0.9230i 0 0 0
0 2.3617 - 0.9230i 0 0
0 0 -0.8617 + 0.9840i 0
0 0 0 -0.8617 - 0.9840i
d(:,:,5) =
-1.0915 + 0.9933i 0 0 0
0 -1.0915 - 0.9933i 0 0
0 0 1.8415 + 0.9852i 0
0 0 0 1.8415 - 0.9852i
d(:,:,6) =
-0.8617 + 0.9840i 0 0 0
0 -0.8617 - 0.9840i 0 0
0 0 2.3617 + 0.9230i 0
0 0 0 2.3617 - 0.9230i
d(:,:,7) =
-1.7656 + 1.0000i 0 0 0
0 -1.7656 - 1.0000i 0 0
0 0 2.2656 + 1.0000i 0
0 0 0 2.2656 - 1.0000i
d(:,:,8) =
-1.5616 + 1.0000i 0 0 0
0 -1.5616 - 1.0000i 0 0
0 0 2.5616 + 1.0000i 0
0 0 0 2.5616 - 1.0000i
民間考古大神有沒有,民間考古大神有沒有?
民間有四個大派都是高手,國家不承認是考古,是盜墓,是違法行為。他們有自己的規律和古訓,有師承口訣。什麼可以做什麼不可以做不能違背。原因不知道為什麼,照做就行了。你要是有過人的智慧型,可以去學習學習。摸金校尉是中國古代乙個盜墓者的門派。據史書記載,摸金校尉起源於東漢末年三國時期,自于漢代陳琳所作 為袁...
有沒有大神能用簡單易懂的話解釋一下什麼是區塊鏈麼
區塊鏈就是相當於在乙個公開的可查詢的平台上給放上了一些資訊,而這些資訊在放上去後,就達到了不可更改,不可消除,不會消失,而資訊在上傳的時候,也必須是要超過一半以上的人的共識,也避免的虛假,不知道這樣說可以理解不 回答親 感謝你的問題,麻煩稍等一會,這裡正在整理回答,感謝你的理解 親,區塊鏈的本質是乙...
有沒有人知道matlab怎麼考試
學校的考試 一般是做卷子,如果是專業的matlab考試 那個是需要上機的,而且是全英文版的,matlab有兩個等級權 的認證 1.mathworks certified matlab associate 2.mathworks certified matlab professional 連個財富值都...