首页 > 解决方案 > RuntimeError: func(1)返回的数组大小与y0的大小不匹配(2)

问题描述

我一直运行这个错误,我不确定为什么。这是我的代码:

import numpy
import numpy as np
import pylab
from scipy.integrate import odeint

a = 0.1
b = 0.5
x = 0.1
y = 0.1

def df(p, t):
    x, y = p
    dxdt = a-x+np.power(x, 2)*y
    dydt = b-np.power(x, 2)
    return np.array(dxdt, dydt)
C0 = np.array([0.1, 0.1])
t = np.linspace(0, 50.0, 50)
solve = odeint(df, C0, t)
pylab.plot(t,solve [:, 0])
pylab.plot(t, solve [:, 1])
pylab.show

我不断收到的错误是:

Traceback (most recent call last):
  File "C:/Users/Mine/AppData/Roaming/JetBrains/PyCharmCE2021.1/scratches/scratch_3.py", line 18, in 
<module>
    solve = odeint(df, C0, t)
  File "C:\Users\Mine\PycharmProjects\final project\venv\lib\site- 
packages\scipy\integrate\odepack.py", line 241, in odeint
    output = _odepack.odeint(func, y0, t, args, Dfun, col_deriv, ml, mu,
RuntimeError: The size of the array returned by func (1) does not match the size of y0 (2).

我不知道如何解决这个问题,所以非常感谢任何帮助。先感谢您!

标签: python

解决方案


推荐阅读