擅长:python、mysql、java
<p>解析法是获得服从胡克定律的简单系统速度的最简单方法</p>
<p>然而,如果你想要一个物理上精确的数值/迭代方法,我强烈建议不要使用标准的Euler或runge-kutta方法(Patrick87建议)。[更正:如果加速度项的符号已更正,则OPs方法为辛一阶方法。]</p>
<p>您可能希望使用哈密顿方法和合适的辛积分器,如二阶蛙跳(Patrick87也建议)</p>
<p>对于胡克定律,可以表示哈密顿量H=T(p)+V(q),其中p是动量(与速度相关),q是位置(与弦离平衡的距离相关)</p>
<p>有动能T和势能V</p>
<p>T(p)=0.5*p^2/m</p>
<p>V(q)=0.5*k*q^2</p>
<p>您只需要这两个表达式的导数来模拟系统</p>
<p>dT/dp=p/m</p>
<p>dV/dq=k*q</p>
<p>我提供了一个详细的示例(尽管是针对另一个二维系统),其中包括一阶和四阶方法的实现:
^方法0和方法1下的{a1}</p>
<p>这些是辛积分器,它具有能量保持特性,这意味着您可以执行长时间模拟,而不会产生耗散误差</p>