Python 如何修复错误:func返回的数组必须是一维的,但得到ndim=2
这是我的密码:Python 如何修复错误:func返回的数组必须是一维的,但得到ndim=2,python,python-3.x,Python,Python 3.x,这是我的密码: 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
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,))
错误是
func返回的数组必须是一维的,但得到的ndim=2
尝试将函数参数的顺序更改为def g(y,t,B)。这使得错误信息消失了。您需要验证数学是否符合您的预期
上面说,“f(t,y,…)的前两个参数的顺序相反……”尝试将函数参数的顺序更改为def g(y,t,B)。这使得错误信息消失了。您需要验证数学是否符合您的预期
函数表示,“f(t,y,…)的前两个参数的顺序相反……”函数的输出数组取决于输入的内容 要确保初始条件为一维,可以重塑y0阵列的形状
y0\u重塑=y0。重塑(n,)
其中n是y0向量中的元素数函数的输出数组取决于输入内容 要确保初始条件为一维,可以重塑y0阵列的形状
y0\u重塑=y0。重塑(n,)
其中n是y0向量中的元素数请包含完整的错误消息。请包含完整的错误消息。