【发布时间】:2012-11-28 02:30:44
【问题描述】:
我有一个包含一堆未知常数的矩阵,如下所示:
a*b -c -d 0
-c e -a -b-d
-d -a d -e
0 -b-d -e a
你可能意识到它关于对角线对称,因此对角线值都是正的。所有常数都大于 0。
我想为 matlab 中的特征值解决这个问题。我该怎么做呢?我不知道 a、b、c、d 和 e 的值。我想做这样的事情:
d = eig(@getMatrix)
但 eig 函数不接受函数句柄。
【问题讨论】:
-
我认为您需要符号数学工具箱。如果你有它,那么
eig函数可以很好地使用符号矩阵作为输入。请参阅文档here -
是的,这是一个符号问题,而 MATLAB 是一个数值工具。你需要的是一个计算机代数系统。
-
您应该在诸如 Maxima 之类的计算机代数系统中执行此操作。 Matlab 不是符号运算的最佳工具。
-
@ColinTBowers 我如何获得该工具箱?我正在使用预装了 matlab 的学校计算机。我想从他们的网站上看,MATLAB 应该已经有了。如果是这样,我该如何使用它?
-
@user972276 在 Matlab 命令窗口中键入
ver。这将列出已安装的工具箱。如果符号数学工具箱未列出,但您认为应该列出,则让本地系统管理员知道。关于工具箱的实际使用,恐怕帮不上忙。正如其他几个 cmets 所指出的,Matlab 不是符号数学的好工具。我个人使用Mathematica,但如果我重新开始我的生活,我会使用sage 或maple
标签: matlab eigenvalue function-handle