【发布时间】:2013-01-03 18:56:45
【问题描述】:
我有一个二阶微分方程,我想在 python 中求解它。问题是对于其中一个变量,我在0 中没有初始条件,而只有无穷大的值。谁能告诉我应该为 scipy.integrate.odeint 提供哪些参数?能解决吗?
方程:
需要根据时间找到 Theta。它的一阶导数在t=0 处为零。 t=0 不知道 theta,但它会在足够长的时间内变为零。其余的都是已知的。作为近似值I 可以设置为零,从而消除二阶导数,这应该会使问题更容易。
【问题讨论】:
-
你可以从这个问题stackoverflow.com/questions/1824751/…找到答案
-
您不能在
t的两个不同值下给出scipy.integrate.odeint条件。如果不是无穷大的第二个条件,而是在t = t1,您可以将您的解决方案与scipy.integrate.odeint嵌套在对scipy.optimize.root的调用中,以在t = 0处找到tetha 的值,从而为您提供所需的行为t = t1。也许选择一个足够大的t1可以让你使用这个想法。您可能还想尝试scicomp.stackexchange.com 寻求帮助,找出解决问题的正确策略。 -
@Jaime,您能否通过使用
scipy.optimize.root并预测t1值来提供一个粗略的答案?