Python ODEINT 参数问题

Python ODEINT problems with args

我对 Python 比较陌生,并试图用它来解决积分器问题

x' = - L * x

其中L是拉普拉斯矩阵,即图的矩阵表示。这是我的代码的一部分:

def integrate_cons(x, t, l):
   xdot = -l*x
   return xdot;

t = np.linspace(0, 10, 101)

#laplacian is a 3x3 matrix
#initial_condition is a vector
solution = odeint(integrate_cons, initial_conditions, t, args=(laplacian,))
print solution

我在像 odeint 中的参数一样传递矩阵时遇到问题。我该如何解决?

import numpy as np
from scipy.integrate import odeint

def integrate_cons(x, t, l):
   # unless you use np.matrix which I never do, you have to use np.dot
   xdot = -np.dot(l,x)
   return xdot;

t = np.linspace(0, 10, 101)
# just a random matrix
l = np.random.rand(3,3)
# initial conditions
x0 = np.array([1,1,1])
#laplacian is a 3x3 matrix
#initial_condition is a vector
solution = odeint(integrate_cons, x0, t, args=(l,))
print(solution)

查看 scipy cookbook 示例。