Python 在Scipy集成中解包的值太多:solve_ivp

Python 在Scipy集成中解包的值太多:solve_ivp,python,scipy,differential-equations,Python,Scipy,Differential Equations,所以我用scipy.integrate的solve_ivp来解4个一阶耦合微分方程组。 下面是一段代码: def bigF (a, b): return [f1(a, b), f2(a, b), f3(a, b), f4(a, b)] X, Y = solve_ivp(bigF, (0.1, 15),[0.999, 0.003, -0.033, 0.067]) bigF是四个函数的集合,参数是a('x')和b('y-array'),它类似于y_0'=f1,y_1'=f2等等。 第二个参

所以我用scipy.integrate的solve_ivp来解4个一阶耦合微分方程组。 下面是一段代码:

def bigF (a, b):
    return [f1(a, b), f2(a, b), f3(a, b), f4(a, b)]
X, Y = solve_ivp(bigF, (0.1, 15),[0.999, 0.003, -0.033, 0.067])
bigF是四个函数的集合,参数是a('x')和b('y-array'),它类似于y_0'=f1,y_1'=f2等等。 第二个参数是初始x和最终x的元组,最后一个参数是四个y的初始值

我收到以下错误[完整消息]:

回溯(最近一次呼叫最后一次): 文件“F:/6学期/论文/编码部分/inbuild.py”,第11行,在 十、 Y=solve_ivp(bigF,(0.1,15),[0.999,0.003,-0.033,0.067]) ValueError:要解压缩的值太多(应为2个)


我不知道这意味着什么,谷歌帮不了多少忙。

你的函数返回4个值,而你只把它读入2个变量。一个选项是只使用
x=您的_函数
a、b、c、d=您的_函数
请给出完整的错误消息及其指向的代码位置。您正在某处解包
b
,但只在左侧给出一对2个变量或者它已经用于完整调用,
solve_ivp
返回一个结构,您需要手动解压缩它的许多字段。@Amitanaware好的,我知道了。@LutzLehmann我使用Z=solve_ivp()解决了问题。例如,有关在matlab的ode45附近使用solve_ivp的更多详细信息,请参见