numpy - 矩阵形式的 ODE 系统
问题描述
我试图弄清楚如何为 2x2 矩阵 A 求解和绘制系统 dx/dt = Ax。我真的不知道该怎么做。我目前拥有的代码如下:
import numpy as np
import matplotlib.pyplot as plt
from scipy.integrate import odeint
def sys(x, t, A):
x1, x2 = x
return [A @ x]
A = np.array([[1, 2], [3, 4]])
x0 = np.array([[1], [2]])
t = np.linspace(0, 100, 10000)
sol = odeint(sys, x0, t, A)
ax = plt.axes()
ax.plot(t, sol)
plt.show()
错误信息是:
output = _odepack.odeint(func, y0, t, args, Dfun, col_deriv, ml, mu,
odepack.error: Extra arguments must be in a tuple.
非常感谢有关如何使此代码正常工作的帮助。请注意,我对编码很陌生,更不用说编码微分方程了。多谢了。
解决方案
推荐阅读
- azure - 使用 Azure AD 对在 VM 上运行的网站进行身份验证
- php - 如何为wordpress创建分页?
- vim - 有没有一种干净的方法来增加 Vim 中的“BufWrite”自动命令?
- sql - 在特定值之后没有行
- java - Java Array 逆向任务编译错误 - IndexOutOfBoundsException: 2
- android - 插入该行 myrv.setAdapter(myAdapter); 后,我的 RecyclerView 无法正常工作
- mariadb - 在 Windows 子系统 Linux (WSL) 中安装 MariaDB
- elixir - 如何安全地从 web 输入转换日期时间以在 elixir、phoenix 中进行计划作业
- javascript - Servlet 无法读取 XMLHttpRequest 参数
- python - Python 类型提示:typing.Mapping vs. typing.Dict