摆加速度方程的初始条件

计算科学 非线性方程
2021-12-23 16:39:45

我有一个非常简单的问题,但似乎无法理解我需要做什么。在从它的 jerk 方程模拟一个钟摆时,我很难设置初始条件来让它发挥作用。例如,钟摆的运动方程是

θ¨=Asinθ

我有兴趣从它的混蛋中建模,

θ=Aθ˙cosθ

所以坐标θ=x,θ˙=yθ¨=z的一点点变化可以产生三个运动方程:

x˙=y
y˙=z
z˙=Aycosx.

我的问题是初始条件。由于问题是非线性的并且无法解决,我如何选择将产生正确结果的初始条件(围绕x=0对称振荡(从仅查看x轴的视图)。具体来说,我想知道(x_0,y_0,z_0)=(a,0,?)意味着我以角度a(x0,y0,z0)=(a,0,?)将其拉回并放手。一般过程是我所追求的,这意味着我也可以解决,a

x˙=y
y˙=z
z˙=BzAycosx

或任何其他可能是对称扰动(大约)的东西,如果你愿意的话。我能够解决这个问题,但目前我在作弊。我设置(这对于任何总是有益的,因为摆动底部的时间导数对于速度而言将为零)。然后我查看和相应的,但我希望它更干净。x=0(x0,y0,z0)=(0,v,0)vxmaxz

谢谢!

3个回答

您不能独立选择的初始条件。那是因为你有和因此的初始条件不是独立的。x,y,zz=θ¨z(0)=θ¨(0)=Asin(θ(0))=Asin(x(0))xz

但是如果你用原来的二阶方程,你会发现你可以独立选择(初始角度)和(摆的初始角速度)。然后,您可以求解微分方程以获得,并且混蛋只是该解的三阶导数。θ(0)θ˙(0)θ(t)

可以设置的最一般情况如下: }变量你可以区分前面的方程 wrt。这给你: 其中下标表示偏导数。很明显,方程必须带有的初始条件。这是通过等式完成的。如果感兴趣的变量是非线性的......可以使用迭代方法来解决 for

(*)f(x˙,x,t)=0,x(0)=x0
x˙t
(**)fx˙x¨+fxx˙+ft=0
()x˙(0)=x˙0()
f(x˙0,x0,t0)=0
x˙0

物理模拟的常识是首先尽可能简化方程,然后才设置数值方法。可以通过分析完成的所有事情都必须通过分析完成,以免您增加数字伪影。所以,你不需要解三阶方程(它甚至会适得其反)。的三阶导数,正如某人在他/她的回答中已经说过的那样。θ

关于方程(二阶一)是“不可解的”:它是可解的,它的解是雅可比椭圆函数。但是,您不需要解析地解决它。只需得到一个数值解,然后使用有限差分找到它的三阶导数。