国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
MATLAB矩陣特征值和奇異值

4.2  矩陣特征值和奇異值

對于n階方陣A,求數(shù)λ和向量X,使得等式AX=λX成立,滿足等式的數(shù)λ稱為A的特征值,向量X稱為A的特征向量。方程AX=λX(A-λI)X=0是兩個(gè)等價(jià)方程,要使方程(A-λI)X=0有非0X,則必須使其行列式等于0,即|A-λI |=0。

由線性代數(shù)可知,行列式|A-λI |是一個(gè)關(guān)于λ的n階多項(xiàng)式,因此方程|A-λI |=0是一個(gè)n次方程,有n個(gè)根(包含重根)。n個(gè)根就是矩陣An個(gè)特征值,每一個(gè)特征值對應(yīng)無窮多個(gè)特征向量。所以,矩陣的特征值問題有確定的解,但特征向量問題沒有確定的解。

4.2.1  特征值和特征向量的求取

特征值和特征向量在科學(xué)研究和工程計(jì)算中的應(yīng)用非常廣泛。在MATLAB中,計(jì)算矩陣A的特征值和特征向量的函數(shù)是eig(A),常用的調(diào)用格式有以下3種。

(1)E=eig(A):用于求矩陣A的全部特征值,構(gòu)成向量E。

(2)[V,D]=eig(A):用于求矩陣A的全部特征值,構(gòu)成對角矩陣D,并求A的特征向量,構(gòu)成V的列向量。

(3)[V,D]=eig(A,’nobalance’):與上一種格式類似,只是上一種格式中是先對A作相似變換后再求矩陣A的特征值和特征向量,而本格式中則是直接求矩陣A的特征值和特征向量。

一個(gè)矩陣A的特征向量有無窮多個(gè),eig函數(shù)只找出其中的n個(gè),A的其他特征向量均可由這n個(gè)特征向量組合表示。

4-11  簡單實(shí)數(shù)矩陣的特征值示例。

>> A=[1,-3;2,2/3]

A =

    1.0000   -3.0000

    2.0000    0.6667

>> [V,D]=eig(A)

V =

   0.7746 + 0.0000i   0.7746 + 0.0000i

   0.0430 - 0.6310i   0.0430 + 0.6310i

D =

   0.8333 + 2.4438i   0.0000 + 0.0000i

   0.0000 + 0.0000i   0.8333 - 2.4438i

4-12  矩陣中有元素與截?cái)嗾`差相當(dāng)時(shí)的特性值問題。

>> A=[3     -2      -0.9    2*eps

     -2      4       -1    -eps

     -eps/4   eps/2   -1     0

     -0.5     -0.5    0.1    1 ];

>> [V1,D1]=eig(A);                        %   求特征值

>> ER1=A*V1-V1*D1                     %  查看計(jì)算誤差

ER1 =

    0.0000         0   -0.0000    0.0000

         0   -0.0000    0.0000   -0.0000

    0.0000   -0.0000   -0.0000         0

         0    0.0000    0.0000   -0.3789

>> [V2,D2]=eig(A,'nobalance');

>> ER2=A*V2-V2*D2                       %  查看計(jì)算誤差

ER2 =

   1.0e-14 *

   -0.1776   -0.0111   -0.0559   -0.0833

    0.3553    0.1055    0.0343    0.0555

    0.0017    0.0002    0.0007         0

    0.0264   -0.0222    0.0222    0.0333

在本例,若求特征值的過程中不采用'nobalance'參數(shù),那么計(jì)算結(jié)果是具有相當(dāng)大的計(jì)算誤差的。這是因?yàn)樵趫?zhí)行eig命令的過程中,首先要調(diào)用使原矩陣各元素大致相當(dāng)?shù)摹捌胶狻背绦?,這些“平衡”程序使得原來方陣中本可以忽略的小元素(本例中如eps)的作用被放大了,所以產(chǎn)生了較大的計(jì)算誤差。

但是這種誤差被放大的情況只發(fā)生在矩陣中有元素與截?cái)嗾`差相當(dāng)?shù)臅r(shí)候,在一般情況下,“平衡”程序的作用是減小計(jì)算誤差。

4-13  函數(shù)eig eigs 的比較示例。eigs函數(shù)是計(jì)算矩陣最大特征值和特征向量的函數(shù)。

>> rand('state',0)            %  設(shè)置隨機(jī)種子,便于讀者驗(yàn)證

>> A=rand(100,100)-0.5;

>> t0=clock;[V,D]=eig(A);T_full=etime(clock,t0)   %  函數(shù)eig的運(yùn)行時(shí)間

>> options.tol=1e-8;                               %  eigs設(shè)置計(jì)算精度

>> options.disp=0;                                %  不顯示中間迭代結(jié)果

>> t0=clock;[v,d]=eigs(A,1,'lr',options);        %  計(jì)算最大實(shí)部特征值和特征向量

>> T_part=etime(clock,t0)                  %  函數(shù)eigs的運(yùn)行時(shí)間

>> [Dmr,k]=max(real(diag(D)));       %  eig求得的全部特征值中找實(shí)部最大的

>> d,D(1,1)

運(yùn)行結(jié)果為:

T_full =

    0.9510

T_part =

    1.6540

d =

   2.7278 + 0.3006i

ans =

   2.5933 + 1.5643i

 

>> vk1=V(:,k);              %  d相同的特征向量應(yīng)是V的第k

>> vk1=vk1/norm(vk1);v=v/norm(v);   %  向量長度歸一

>> V_err=acos(norm(vk1'*v))*180/pi   %  求復(fù)數(shù)向量之間的夾角

V_err =

  8.5377e-007

>> D_err=abs(D(k,k)-d)/abs(d)        %  求兩個(gè)特征值間的相對誤差

D_err =

  2.6420e-009

在本例中,對函數(shù)運(yùn)行所需要的時(shí)間進(jìn)行了評估。需要指出的是:在實(shí)際使用中因?yàn)橛?jì)算機(jī)的配置和系統(tǒng)狀態(tài)不同,評估得到的絕對時(shí)間也不盡相同,不過我們可以通過同一臺計(jì)算機(jī)上兩種函數(shù)運(yùn)行所需要時(shí)間比較得到兩種算法的優(yōu)劣。通過本例可以得出結(jié)論:使用eigs函數(shù)求一個(gè)特征值和特征向量所需要的時(shí)間,反而比使用eig函數(shù)求全部特征值和特征向量的時(shí)間多。

4-14  用求特征值的方法,求解方程的根。

求解方程組要先構(gòu)造與方程對應(yīng)的多項(xiàng)式的伴隨矩陣A,再求A的特征值,伴隨矩陣A的特征值即為方程的解。具體過程如下:

>>  B=[1,-2,3,4,-5]

B =

    1    -2     3     4    -5

>> A=compan(B)            %  B 的伴隨矩陣

A =

    2    -3    -4     5

    1     0     0     0

    0     1     0     0

    0     0     1     0

>> C=eig(A)

C =

   1.1641 + 1.8573i

   1.1641 - 1.8573i

  -1.1973 + 0.0000i

   0.8691 + 0.0000i

 

>> D=roots(B)             %  直接求多項(xiàng)式B的零點(diǎn)

D =

   1.1641 + 1.8573i

   1.1641 - 1.8573i

  -1.1973 + 0.0000i

 0.8691 + 0.0000i函數(shù)compan計(jì)算的是矩陣B的伴隨矩陣A。伴隨矩陣的特征值C就是方程的根。roots函數(shù)用于直接對線形方程求解,得到結(jié)果D,可以看出兩種方法得出的結(jié)果CD是一樣的。

4.2.2  奇異值分解

如果存在兩個(gè)矢量uv及一個(gè)常數(shù)s,使得矩陣A滿足下式:

Av=su

A’u=sv

則稱s為奇異值,稱u、v為奇異矢量。

將奇異值寫成對角方陣∑,而相對應(yīng)的奇異矢量作為列矢量,則可寫成兩個(gè)正交矩陣U、V,使得:

AV=U

A’U=V

因?yàn)?span>U、V正交,所以可得奇異值的表達(dá)式為:

A=UV’

一個(gè)mn列的矩陣A經(jīng)奇異值分解,可求得mm列的距陣Umn列的矩陣∑,nn列的矩陣V。

奇異值分解是另一種正交矩陣分解法,是最可靠的分解法,但是它與QR分解法相比,要花近10倍的計(jì)算時(shí)間。奇異值分解由svd函數(shù)實(shí)現(xiàn),其調(diào)用格式為:[U,S,V]=svd(A)。

4-15】  奇異值分解示例。

>> A=magic(4)

A =

    16     2     3    13

     5    11    10     8

     9     7     6    12

     4    14    15     1

>> [U,S,V] = svd(A)               %  奇異值分解

U =

   -0.5000    0.6708    0.5000   -0.2236

   -0.5000   -0.2236   -0.5000   -0.6708

   -0.5000    0.2236   -0.5000    0.6708

   -0.5000   -0.6708    0.5000    0.2236

S =

   34.0000         0         0         0

         0   17.8885         0         0

         0         0    4.4721         0

         0         0         0    0.0000

V =

   -0.5000    0.5000    0.6708    0.2236

   -0.5000   -0.5000   -0.2236    0.6708

   -0.5000   -0.5000    0.2236   -0.6708

   -0.5000    0.5000   -0.6708   -0.2236

>> U*S*V'                   %  分解結(jié)果正確性驗(yàn)證

ans =

   16.0000    2.0000    3.0000   13.0000

    5.0000   11.0000   10.0000    8.0000

    9.0000    7.0000    6.0000   12.0000

    4.0000   14.0000   15.0000    1.0000

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
主成分分析、線性回歸-簡要說明
機(jī)器學(xué)習(xí)基礎(chǔ):線性代數(shù)
學(xué)習(xí)視覺SLAM需要強(qiáng)化哪些數(shù)學(xué)理論?
線性代數(shù)問題:當(dāng)矩陣中每個(gè)列向量的和都為1時(shí),一定有一個(gè)特征值是1,這個(gè)怎么推導(dǎo)啊?
PCA 降維算法詳解 以及代碼示例
主成分分析
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服