这是我的代码:
import numpy as np
from scipy.integrate import odeint
import math
y0=np.array([1,3,2,3,5])
b=np.array([[1],[3],[4],[2],[5]])
'''generate matrix'''
B=np.dot(b,b.T)
def g(t,y,B):
return np.exp(np.dot(y,B))
t=np.linspace(0,1,100)
y= odeint(g, y0, t, args=(B,))
错误是
"The array return by func must be one-dimensional, but got ndim=2."
尝试将函数参数的顺序更改为defg(y,t,B)。这使得错误信息消失了。你需要验证数学是否符合你的期望。在
documentation of odeint表示:“f(t,y,…)的前两个参数的顺序相反…”
相关问题 更多 >
编程相关推荐