python - 如何使用Python求解具有边界条件的微分方程,其中一个是不等式

标签 python scipy ode

可以设置像 psi(z>L)< eps 这样的边界条件吗?

我有一个系统:

dD/dz = ....  
dPsi/dz = ....   

和边界条件:

D(0) = 1,6*Pi  
Psi(z>L) < eps

我读到了 scipy.integrate.solve_bvp 和 odeint ,但所有示例都有边界条件,例如:y(0) = y(1) = 0

有人知道如何设置这样的条件吗?

最佳答案

如果您提供有关该问题的更多信息,答案会更容易。 如果我理解正确的话,L是积分的极限,所以边界条件实际上是

Psi(L)=eps

如果您的积分超出了 L,您可能需要有一个条件来检查每次迭代(新点等)。大致思路是这样的:

if z>L and Psi(z)>=eps:
    do the action

该操作应该是什么取决于问题。希望这会有所帮助。

关于python - 如何使用Python求解具有边界条件的微分方程,其中一个是不等式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55786067/

相关文章:

python - 如何使用 pytest 运行与生产代码位于同一文件中的测试?

python - scipy.stats.gaussian_kde 中的关键字错误?

python - 基于最小二乘法拟合SIR模型

matlab - 使用 Matlab ODE 求解器收敛

python - 同一表单域的多个实例

python - 另一个作业不接受在 Python 脚本中生成的换行符

python - 控制洗牌距离

python - 如何用python获得复杂网络的拉普拉斯矩阵的第二小特征值?

python - 二阶颂歌系统的庞加莱截面

python - 如何在 python 上解决 TISE 的简单边值问题