簡體   English   中英

python中擺的泰勒級數

[英]Taylor series for pendulum in python

我有一個來自學校的問題,要根據泰勒級數展開來模擬鍾擺運動。

角頻率 d 2 θ dt 2 = - m GRI 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的所有二階導數來推導該方程,您可以獲得更高階的導數。 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' 

還有一種使用自動/算法微分的泰勒級數算術的系統方法。


(2022/06/29)要解決x''=-sin(x) - 通過重新調整時間來使常數因子變得微不足道 - 通過任何地方的泰勒級數,將其重新表述為系統

x'=y
y'=-v
u=cos(x)  ==> u' = -v*y
v=sin(x)  ==> v' =  u*y

最后兩個通過三角導數和鏈式法則。 比較左右系數會得到所有變量的泰勒級數系數的耦合增量公式,其中x(t0)=x0, y(t0)=y0, u(t0)=cos(x0), v(t0)=sin(x0)

我假設你的意思是你的代碼,

在此處輸入圖像描述

我還假設 u := θ 和 v := θ'。

所以,sin(x) 的泰勒展開是

在此處輸入圖像描述

你的方程現在是

在此處輸入圖像描述

因此,您可以從上述等式計算 u 和 v。 或者,我不知道你的老師是否希望你先計算積分,然后使用泰勒級數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM