【发布时间】: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