微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Python 中使用 odeint 在特定时间点放置 ODE 的初始条件?

如何解决如何在 Python 中使用 odeint 在特定时间点放置 ODE 的初始条件?

如何在Python中使用odeint在特定时间点放置ODE的初始条件?

所以我有 y(0) = 5 作为初始条件, 以下代码有效::

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

# function that returns dy/dt
def model(y,t):
    k = 0.3
    dydt = -k * y
    return dydt

# initial condition
y0 = 5

# time points
t = np.linspace(0,20)

# solve ODE
y = odeint(model,y0,t)

# plot results
plt.plot(t,y)
plt.xlabel('time')
plt.ylabel('y(t)')
plt.show()

我想同时查看负时间线和正时间线中的图表。

所以我把 t = np.linspace(0,20) 改为 t = np.linspace(-5,20),但是初始条件取为 y(-5) = 5。

如何解决这个问题?

解决方法

我不认为你可以,根据 docs

但是您可以分别求解正负=LAMBDA(Number,NumberGroup,AddNumbers( SUM(LEFT(Number,1)),RIGHT(NumberGroup,LEN(NumberGroup)-1) ) )(L32) ,然后将它们拼接在一起。将相关行替换为

t

这会产生 sol

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。