Как решить ODE с помощью `odeint`, используя начальное значение из` fsolve`? - PullRequest
0 голосов
/ 05 января 2020

Я хочу решить эту оду с помощью odeint, но начальное значение для оды должно быть переменной, предоставленной через fsolve. Любая помощь приветствуется.

from scipy.integrate import odeint
from scipy.optimize import fsolve
import matplotlib.pyplot as plt
import numpy as np

def f(u):
  return u+1

lam = 1
t = np.linspace(0,10,100)

def model(z,t):
  dzdt = -lam*f(z)-z/(t+1)
  return dzdt

def eqn(z0):
  return odeint(model, z0, t)

x =  fsolve(eqn, 1)
plt.plot(x,t)
plt.show()

Я получаю сообщение об ошибке:

error: Result from function call is not a proper array of floats.
...