python - 将矩阵的特征值绘制为矩阵元素的函数

标签 python numpy matrix eigenvalue

我以前从未使用过 python,但现在需要它,因为我正在处理同事的项目。我想将矩阵的特征值绘制为矩阵元素的函数,即我的矩阵看起来像

    M=[[40,0,4],[0,0,4],[4,4,x]]

其中 x 是变量。所以矩阵有三个特征值

    eig=numpy.linalg.eigvals(M)
    eig1=eig[0]
    eig2=eig[1]
    eig3=eig[0]

但是我怎样才能将其绘制为 x 的函数呢?感谢您提前的帮助

最佳答案

有很多方法可以循环您感兴趣的 x 值。您可以执行显式 for 循环,也可以使用列表理解。在下面的示例中,我计算了一个包含 3 列的二维数组,每个特征值一列。行数是我们使用的 x 值的数量。

import numpy as np
import matplotlib.pyplot as plt

xx = np.linspace(0,100,101)   # consider x values 0, 1, .., 100
eigenvalues = np.array([np.sort(np.linalg.eigvals([[40,0,4],[0,0,4],[4,4,x]])) for x in xx])

plt.plot(xx, eigenvalues[:,2],label="largest")
plt.plot(xx, eigenvalues[:,1],label="medium")
plt.plot(xx, eigenvalues[:,0],label="smallest")
plt.legend()
plt.show()

给出

enter image description here

关于python - 将矩阵的特征值绘制为矩阵元素的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46373550/

相关文章:

python - 随机生成相似的向量?

python - 用纯白色填充图像蒙版中的数字

python - 不使用 numpy 获得对角线?

java - 在 Java 中确定辅因子矩阵

python - Matplotlib:如何获得颜色图的反函数?

python - 将数据帧与 Pandas 连接后如何添加索引?

python - 处理复数和numpy时如何在python中正确指定dtype?

python - 如何使用 nfcpy 进行 MiFare 1k classic

python - 将 JSON 对象排序到层次结构中

r - 将列中的最大值除以行中的值之和