python 在计算一般矩阵的特征值时引发语法错误

标签 python numpy

我打算在 Python 中以 0.1 步长绘制 -3 ≤ μ ≤ 3 范围内的雅可比矩阵的特征值。

请参阅下面的代码:

import numpy as np

mu = np.arange(-3,3,0.1)

J =([[0, 1],
 [-1, -mu]])

assign lambda 

lambda = np.linalg.eigvals(J)

print(lambda)

然后出现:“SyntaxError:无效语法”,它指向“分配 lambda”行中的“lambda”。

那么我的绘图代码是

import matplotlib.pyplot as plt 

plt.figure()
plt.plot(mu, lambda, 's') 
plt.xlabel('mu')
plt.ylabel('Eigenvalue')
plt.show()

出现另一个“SyntaxError:无效语法”,指向本节中的“lambda”。

我也尝试摆脱“分配 lambda”行,但仍然不起作用。当我尝试定义函数或参数时,以前曾发生过这种错误。

有人可以看一下并帮助我吗?我对 Python 很陌生。

非常感谢!

最佳答案

您正在尝试矢量化mu,这在您的代码中不是正确的方式。您可以简单地使用 for 循环

import numpy as np
import matplotlib.pyplot as plt 

mu = np.arange(-3,3,0.1)
lambda_list = []

for i in mu:
    J = [[0, 1],[-1, -i]]
    lambda_list.append(np.linalg.eigvals(J))

lambda_list = np.array(lambda_list)

plt.figure()
plt.plot(mu, lambda_list[:, 0], '-r', label='Eigenvalue 1') 
plt.plot(mu, lambda_list[:, 1], '-b', label='Eigenvalue 2') 
plt.xlabel('mu')
plt.ylabel('Eigenvalue')
plt.legend()

enter image description here

关于python 在计算一般矩阵的特征值时引发语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55120496/

相关文章:

python - 在 Python 中将集合作为参数传递

numpy - 将 Keras 模型的输出重新缩放回原始比例

python - 下面的Python表达式是如何工作的?

javascript - 通过 ng-repeat 循环时从 dict 获取值

python - MYSQL PeeWee 无需 RawQuery 的完全连接

python - "ValueError: Unknown activation: Activation"尝试加载具有自定义对象的模型时

python - Scrapy处理asp.net站点中的 session cookie或302

python-3.x - 如何修复 "module ' Pandas 在 python 中没有属性 'Int64Dtype'"错误?

python - 如何用自然数替换二进制数组中的 1,同时保持 0 的位置?

java - 从 Java 发送数据到 Python 然后返回响应