作者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
1F:→ profyang:当然 假设x和y都不为0 01/02 22:20
2F:推 magaiml:谢谢你,此方法我有写出来,连同特徵向量。 01/02 22:31
3F:推 magaiml:刚刚看错,原来你是事先推导出相对应的矩阵,赞,好方法, 01/02 23:29
4F:→ magaiml:谢谢你的分享,让我多一个方法。 01/02 23:29
5F:→ profyang:其实就是inv(b)*a的特徵值 01/02 23:56
6F:→ profyang:我猜你後来发现的内建方法就是这样弄的 01/02 23:57
7F:→ profyang:或写成eig(b\a)更快 01/03 00:05