python中钟摆的Taylor级数

2024-03-28 11:38:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个来自学校的问题来模拟基于泰勒级数展开的摆运动。你知道吗

角频率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

Tags: 方法代码infordtrangesin学校
2条回答

在方程u''=f(u)中,通过应用链和积规则导出该方程,并用ODE替换u的所有二阶导数,得到高阶导数。uu'的值取自当前状态向量。你知道吗

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' 

还有一种系统的方法是使用自动/算法微分的泰勒级数算法。你知道吗

我猜你的意思是你的密码里的这个

enter image description here

我还假设u:=θ,v:=θ'。你知道吗

sin(x)的泰勒展开式是

enter image description here

你的方程式是

enter image description here

所以,你可以从上面的方程计算u和v。或者,我不知道你的老师是不是要你先计算积分,然后用泰勒级数。你知道吗

相关问题 更多 >