首页 文章

args的Python ODEINT问题

提问于
浏览
0

我是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中传递像参数这样的矩阵有问题 . 我怎么解决?

1 回答

  • 0
    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的示例 .

相关问题