python 中摆的泰勒级数
Taylor series for pendulum in python
我有一个学校的问题,要模拟基于泰勒级数展开的钟摆运动。
Angular 频率 d 2 θ d t 2 = − m G R I sin ( θ )
我对 python 很陌生。我现在知道如何使用欧拉方法进行模拟了。
for n in range(N_t):
u[n+1] = u[n] + dt*v[n]
v[n+1] = v[n] + dt*(m*g*r/I)*sin(u[n])
如何使用泰勒展开模拟它?
我应该 运行 只使用下面的代码吗?
f′′(x0) = 2a2
在等式 u''=f(u)
中,您可以通过应用链和乘积法则推导此等式,并将 ODE 代回 u
的所有二阶导数,从而获得高阶导数。 u
和 u'
的值取自当前状态向量。
u''' = f'(u)u'
u^{(4)} = f''(u)*u'^2 + f'(u)*u''
= f''(u)*u'^2 + f'(u)*f(u)
u^{(5)} = f'''(u)*u'^3 + 3f''(u)*u'*f(u) + f'(u)^2*u'
还有一种系统的方法是利用automatic/algorithmic微分的泰勒级数算法
我假设你的代码是这个意思,
我还假设 u := θ 和 v := θ'。
所以,sin(x) 的泰勒展开为
现在你的等式是
所以,你可以从上面的等式计算出u和v。或者,不知道你们老师有没有让你们先算积分,再用泰勒级数
我有一个学校的问题,要模拟基于泰勒级数展开的钟摆运动。
Angular 频率 d 2 θ d t 2 = − m G R I sin ( θ )
我对 python 很陌生。我现在知道如何使用欧拉方法进行模拟了。
for n in range(N_t):
u[n+1] = u[n] + dt*v[n]
v[n+1] = v[n] + dt*(m*g*r/I)*sin(u[n])
如何使用泰勒展开模拟它? 我应该 运行 只使用下面的代码吗?
f′′(x0) = 2a2
在等式 u''=f(u)
中,您可以通过应用链和乘积法则推导此等式,并将 ODE 代回 u
的所有二阶导数,从而获得高阶导数。 u
和 u'
的值取自当前状态向量。
u''' = f'(u)u'
u^{(4)} = f''(u)*u'^2 + f'(u)*u''
= f''(u)*u'^2 + f'(u)*f(u)
u^{(5)} = f'''(u)*u'^3 + 3f''(u)*u'*f(u) + f'(u)^2*u'
还有一种系统的方法是利用automatic/algorithmic微分的泰勒级数算法
我假设你的代码是这个意思,
我还假设 u := θ 和 v := θ'。
所以,sin(x) 的泰勒展开为
现在你的等式是
所以,你可以从上面的等式计算出u和v。或者,不知道你们老师有没有让你们先算积分,再用泰勒级数