我在学校时有一个问题,要根据泰勒级数展开模拟摆运动。
角频率d 2θd t 2 = − m G R I sin(θ)
我对python很陌生。我现在知道如何使用欧拉方法进行仿真。
\textblackslash
如何使用taylor扩展对其进行仿真? 我应该只按以下方式运行它吗?
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])
答案 0 :(得分:0)
在方程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'
使用泰勒级数自动/算法微分算法也有系统的方法。
答案 1 :(得分:0)