【发布时间】:2014-05-19 01:07:40
【问题描述】:
我为方形井中的粒子创建了一个势能矩阵。当我取矩阵的特征向量时,我得到前几个(大约 10 个)向量的镜像。例如,第一个特征向量是一个正驼峰,但下面还有一个负镜像驼峰。我查看了前几个向量的输出,似乎数字的符号只是从正到负来回变化。对于后来的向量,情况并非如此,所以我不能只绘制向量的所有其他点。我正在使用以下命令来绘制特征向量。
[V,D] = eig(A);
我的输出中没有看到虚数。但是,有人建议我 MATLAB 可能正在尝试绘制特征向量的实部和虚部。我在这个网站上找到了以下命令,并认为它可以解决我的问题,假设我的问题实际上是没有绘制实部和虚部。
A1 = real(V*real(D)/V);
然后我绘制:
[V,D] = eig(A1);
什么都没有改变,我很困惑我是否正确地绘制了真实的特征值,或者是否有其他东西导致了这些镜像。救命!
【问题讨论】:
-
使用命令
isreal查看特征值和特征向量中的任何元素是否真的很复杂。除此之外,我不知道发生了什么。 -
如果你让 Matlab 绘制具有实部和虚部的东西,它会绘制实部,并给出忽略虚部的警告。如果您能提供更多信息(重现问题的矩阵、特征向量或结果图的图片),它可能会有所帮助。
-
@David:这并不完全正确,因为
plot(Y)在Y复杂的情况下等同于plot(real(Y),imag(Y))。但是,OP 需要澄清他/她所说的“绘图”是什么意思,因为eig函数不会像问题所暗示的那样绘图,而是打印。我认为这可能是真正的意思。 -
@horchler 是的,好点。我应该等到我知道 OP 的问题到底是什么。
-
对称实数矩阵没有虚特征值:en.wikipedia.org/wiki/Symmetric_matrix。这里还有其他事情发生。
标签: matlab math eigenvalue