【问题标题】:Matlab symbolic eigenvectorsMatlab 符号特征向量
【发布时间】:2012-11-29 11:05:44
【问题描述】:

我正在尝试计算形式矩阵的符号特征值和向量

[ a, c, 0]
[ c, b, e]
[ 0, e, f]

在 matlab 中(用一些包含 x、y、z 的表达式替换 a、b、c 等)。当我有 4 个对角线项 0 时,程序成功。但是当矩阵只有两个非对角元素为零时(如示例中所示),程序无法找到特征向量但可以找到特征向量(这是预期的,因为它是三次多项式)。特征值的表达当然非常繁琐。当我尝试计算特征向量时,它会给出错误

Warning: basis of eigenspace for eigenvalue - 1/2*((c^2*d^2*e^2 -...
Error: Unable to find eigenvectors. [mleigenvectors]
Error in ==> sym.eig at 74
S = mupadfeval('mleigenvectors',A);

我正在使用 matlab R2009a。这是一个可以通过例如 R2009b 或更好的服务器解决的问题,还是只是要尝试许多计算?这对我来说似乎不太合理,因为如果你从上面的矩阵中减去 LI(其中 K 是特征值 I 是 id 矩阵)并尝试求解特征向量方程,你甚至可以手动求解它以获得包含 L 的表达式, a,b,c,e,f,g。然后你要做的就是简单地为 lambda 输入表达式。但是,结果当然会很长,所以我想知道这是否是一些内存问题?

谢谢

【问题讨论】:

  • 不是一个答案,只是一个比较点。 Mathematica 在几分之一秒内解决了相同的特征向量问题。
  • nasser 我尝试使用您放置的确切代码行,但它不起作用会给出相同的错误。你是碰巧使用64位操作系统吗?井枫似乎也能算出来。然而这是我第一次使用 maple,我发现符号计算真的很令人沮丧。如果矩阵包含指数函数,它将拒绝找到特征向量,因为该函数不是代数的......我会看看我是否能找到一台带有 matlab 2012b 的计算机。
  • 是的,它使用起来非常简单方便。其他的在语法上非常紧张和无助。但万一它不能,但我的是 32 位的,所以也许我会在 64 位机器上尝试一下
  • 好的,我会尝试找到一个 64 位内存的。在另一台计算机上,它给出了错误:使用 mupadmex 时出错 MuPAD 命令中的错误:内存不足。评估:stdlib::normalNoExpand

标签: matlab eigenvector symbolic-computation


【解决方案1】:

我在 2012a 和 2010a 32bit 中进行了测试,两者都运行良好。

有趣的是,2012a 用了 0.2s,而 2010a 用了 0.3s。如果以下方法不起作用,我怀疑存在内部错误,因为它们确实大量更新了符号处理。

tic; syms a c b e f; A=[a c 0;c b e;0 e f]; [V,D]=eig(A); toc;

搜索确认这是 2008 年的问题...

http://www.mathworks.com/matlabcentral/newsreader/view_thread/263921

实际上,Steven,在这种情况下,多项式确实简化为三次。 Matlab symbolic 确实找到了特征值,但它在 特征向量(使用我的 Matlab 2008b)

EDU>> 值=eig(A); EDU>> 简化(值)

ans =

(too long to show)

但是向量失败了:

EDU>> [向量,值]=eig(A);警告:特征空间的基础 特征值 1/3*a + 1/3*b + 1/3*c + (4/9*a^2 - 1/9*a*b - 1/9*a*c + 1/9*b^2 + 2/9*b*c + 1/9*c^2)/(4/9*a*b^2 + 1/9*a^2*b - 1/18* a*c^2 + 1/9*a^2*c - 7/18*b*c^2 + 1/9*b^2*c - 8/27*a^3 + 1/27*b^3 + 1/27* c^3 + (- 1/3*a^4*b^2 - 10/27*a^4*b*c - 1/27*a^4*c^2 + 1/9*a^3*b^3 + 2/9*a^3*... [linalg::eigenvectors] ???在使用 ==> mupadfeval 时出错 28 错误:无法找到特征向量。 [多特征向量]

==> sym.eig 中的错误在 74 S = mupadfeval('mleigenvectors',A);

我在 Mathematica 上尝试了同样的方法,它找到了特征向量,( 我认为它们是正确的;),这是结果(太大而无法发布 也在这里)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-28
    相关资源
    最近更新 更多