看板 MATLAB 關於我們 聯絡資訊
※ 引述《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