首页 > 解决方案 > 如何使用 `fsolve` 的初始值使用 `odeint` 求解 ODE?

问题描述

我想用 解决这个 ode odeint,但是 ode 的初始值应该是通过 提供的变量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.

标签: pythonmathscipyode

解决方案


推荐阅读