作者profyang (prof)
看板MATLAB
標題Re: [問題] 特徵值問題
時間Thu Jan 2 22:20:05 2014
※ 引述《magaiml (阿祈)》之銘言:
: 想請教各位,關於特徵值的算法,以工數上學到的是
: det( a-mI )=0
: 行列式求得m之兩根為特徵值。
: 在matlab內使用 eig(a) 函數計算。
: 但如果我今天要求的是
: det( a-mb )=0
: b=[x,0;0,y] 這種非單位矩陣的矩陣
: 該如何求解?
: 我原本是使用 eig(a) 後,再將特徵值除上 b
: 但發現結果是錯的,
: 我現在能想到的辦法是使用符號運算去求解,
: 但實在麻煩,請問版友們有沒有更方便的解法?
: 謝謝。
很快的想了一下
有錯請指證:
a=[a11,a12;a21,a22]
det(a-mb)=det([a11-mx,a12;a21,a22-my])=det([a11/x-m,a12/x;a21,a22-my])/x
=det([a11/x-m,a12/x;a21/y,a22/y-m])/(x*y)=0
其實也就是解a'=[a11/x,a12/x;a21/y,a22/y]的特徵值
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.169.189.8
→ profyang:當然 假設x和y都不為0 01/02 22:20
推 magaiml:謝謝你,此方法我有寫出來,連同特徵向量。 01/02 22:31
推 magaiml:剛剛看錯,原來你是事先推導出相對應的矩陣,讚,好方法, 01/02 23:29
→ magaiml:謝謝妳的分享,讓我多一個方法。 01/02 23:29
→ profyang:其實就是inv(b)*a的特徵值 01/02 23:56
→ profyang:我猜你後來發現的內建方法就是這樣弄的 01/02 23:57
→ profyang:或寫成eig(b\a)更快 01/03 00:05