python - 如何使用 `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.
解决方案
推荐阅读
- r - 从带有反斜杠的 sql 的模式中获取表
- math - 使用 Coq 证明有限集的幂集是有限的
- python - Python - 将 json 数据转换为特定键的 csv 格式
- javascript - 我在使用 nativescript sidekick 在云中构建我的 nativescript 应用程序时遇到问题
- sql - SQL Server:我需要从 2 个表创建记录副本并确保 FK 反映这些副本
- python - 如何获取列表列表中外部列表元素的索引?
- c# - NpgSQL 列名即使在文本中双引号也会转换为小写
- safari - Preact 生命周期方法不会触发 safari 中的正确性
- kubernetes - 如何在 Kubernetes 中将请求定向到具有适当资源的 pod
- xamarin - 如何使用 Xamarin 实现像 Outlook 这样的选择控件