· 6 min read

Jinsi Pendulum Inafundisha Kutofautiana

Huna haja ya shahada ya hisabati kuelewa solvers ya ODE. Unahitaji pendulum, skrini, na dakika 20. Hapa ni jinsi Euler, RK4, na mbinu za adaptive zinafanya kazi - kwa mfumo halisi.

Kuanza na nini unaweza kuona

Weka uzito kutoka kwenye tumbo. Weka kwa upande mmoja. Acha tu. Ya swing.

Umeunda mfumo unaoongozwa na usawa tofauti:

wa wa wa wa wa wa wa wa d /dt =(g/l) · Hakuna ( )

kwa upande mwingine, ni mtazamo. mji mkuu ni angular velocity. uzito wa juu (9.81 m/s2). L ni urefu wa kamba. Mistari hii miwili inasema: angle inabadilika kwa kiwango sawa na kasi, na mabadiliko ya kasi kwa kiwango kinachotegemea mvuto, urefu, na angle ya sasa.

Tatizo ni kwamba hatuwezi kutatua usawa huu. sin(θ) inafanya kuwa isiyo ya kawaida. Hakuna formula ambayo inakupa θ wakati wowote t. Hivyo basi, tunakaribia sisi hatua mbele katika nyongeza ndogo, kompyuta hali ijayo kutoka sasa moja.

Hivyo ndivyo HostPapa hufanya. Kuna njia bora na mbaya zaidi za kufanya hivyo.

Njia ya Euler: Rahisi lakini Imefungwa

Wazo rahisi zaidi: ikiwa najua hali sasa, na najua kiwango cha mabadiliko, naweza kukadiria hali hiyo hatua ndogo baadaye.

next_angle = current_angle + velocity × dt
next_velocity = current_velocity + acceleration × dt

Hii ni mbinu ya Euler. Ni kama kutembea kupitia ukungu: unaweza kuona hatua moja mbele, kwa hivyo chukua hatua hiyo, kisha angalia tena. Kwa mujibu wa kanuni:

function euler(f, t, y, dt) {
  const dy = f(t, y);
  return [
    y[0] + dt * dy[0],
    y[1] + dt * dy[1]
  ];
}

Tatizo: Njia ya Euler ni sahihi kwa utaratibu wa kwanza. Hii ina maana kwamba ikiwa una nusu ya ukubwa wa hatua, unapunguza nusu ya makosa. Kwa ajili ya dhambi hii pendulum ya simulated polepole hupata nishati na swings pana na pana. Baada ya dakika chache, inazunguka katika duru zote. Roho Mtakatifu kamwe hawezi kufanya hivyo.

RK4: Kazi ya farasi

Mwaka 1901, Carl Runge na Martin Kutta walichapisha mbinu bora zaidi. Badala ya kuangalia kiwango cha mabadiliko mara moja kwa hatua, angalia mara nne:

  1. Hatua ya kwanza katika hatua ya k1
  2. Hatua nusu kutumia k1, kupima mteremko huko → k2
  3. Hatua nusu kutumia k2, kipimo tena → k3
  4. Hatua ya mwisho kwa kutumia k3, kupima moja zaidi muda → k4
  5. Kuchanganya: wastani wa uzito (k1 + 2k2 + 2k3 + k4) / 6

Hii ni mara ya nne mfululizo. Punguza ukubwa wa hatua na makosa hupungua kwa sababu ya 16. Pendulum huhifadhi nishati kwa usahihi kwa maelfu ya swings.

Hii ina maana ya kuangalia badala ya kuamini. Chini, njia zote mbili kuunganisha y′ = y kutoka 0 hadi 1 - ambapo jibu sahihi ni * hatua ya nne ukubwa. Kuzuia hatua hugawanya kosa la Euler kwa karibu 2 na RK4 kwa 16, hii ndiyo maana ya kwanza na ya nne.

Interactive demo — open in editor pp:PinePaper

function rk4(f, t, y, dt) {
  const k1 = f(t, y);
  const k2 = f(t + dt/2, [y[0] + dt/2 * k1[0], y[1] + dt/2 * k1[1]]);
  const k3 = f(t + dt/2, [y[0] + dt/2 * k2[0], y[1] + dt/2 * k2[1]]);
  const k4 = f(t + dt,   [y[0] + dt   * k3[0], y[1] + dt   * k3[1]]);
  return [
    y[0] + (dt/6) * (k1[0] + 2*k2[0] + 2*k3[0] + k4[0]),
    y[1] + (dt/6) * (k1[1] + 2*k2[1] + 2*k3[1] + k4[1])
  ];
}

Hii ni njia PinePaper anatumia kwa pendulum, spring-mass, na Van der Pol simulations. Ni njia sawa inayotumiwa katika mahesabu ya trajectory ya aerospace. 22 ya kanuni za bunge.

Kwa nini hii ni muhimu nje ya fizikia

Pendulum ni mfano wa kufundisha. Teknolojia hiyo – kuendeleza mwelekeo, mwelekeo, mwelekeo hii inatumika popote ulipo na kiwango cha mabadiliko:

    • Ukuaji wa Population*: dx / dt = r·x· (1 - x / k). Maendeleo kwa kutumia uwezo. Ya solver.
  • Majibu ya kiufundi: viwango vinabadilika kwa viwango vinavyolingana na viwango vya sasa. Ya solver.
    • Mitandao ya Neural **: kushuka kwa gradient ni ODE iliyofichwa. Kila hatua ya mafunzo ni hatua ya Euler kando ya uso wa kupoteza.
    • Uchumi **: misombo ya riba kuendelea kupitia dy / dt = r·y. Ukuaji wa wazi ni ODE rahisi zaidi.
    • Muda wa utekelezaji **: Miamba ya kupunguza ni suluhisho la ODEs ya spring. "elastic" na "bounce" easings katika CSS ni simulations ya kimwili.

Mabadiliko ya katiba hayabadiliki. Domain hufanya hivyo. Hii ndiyo maana ya lugha – sarufi hiyo inaelezea kuhesabu kondoo, swings pendulum, na mafunzo ya mtandao wa neural.

Jaribu mwenyewe

Fungua PinePaper na uchague jenereta ya Mfumo wa Dynamic. Chagua ‘pendull’. Kuwa bob swings. Sasa kubadili vigezo:

  • Kuongeza mvuto → swing kasi (kipindi kifupi)
  • Ongeza urefu wa fimbo → swing polepole (kipindi cha muda mrefu)
  • Anza kwa pembe kubwa → angalia jinsi kipindi kinaongezeka (athari ya mtandao kwamba karibu na kitabu kidogo cha karibu kinapoteza)

Mabadiliko yoyote unayofanya ni kipimo. Umebadilisha parameter na kuona matokeo. Suluhisho la RK4 liliweka tena sura za 30 kwa sekunde, na pendulum ilikuonyesha kile usawa unatabiri.

Hii ni pointi yote. Mathematics wizard maana yake nini. PinePaper inafanya kuwa wazi.

Interactive demo — open in editor pp:PinePaper

Marejeo ya

  • Mwenyekiti, J.C. (2016) kuwa. * Mbinu za numerical kwa Equations ya kawaida * (3rd ed). Ya Wiley.
  • Mkuu wa Mkoa, J.R. Waziri Mkuu, J. (mwaka wa 1980). Fomu ya Runge-Kutta. Jarida la Computational and Applied Mathematics*, 6(1), 19-26.
  • Kwa upande wake, L. (1787). Taasisi ya calculi integralis *, Vol. 1. Chuo Kikuu cha Imperialis Scientiarum.
  • Picha zote na Wizara ya Mambo ya Ndani ya Nchi. .................................................................... ya mwaka (1993). • Kutatua tofauti za kawaida I: Matatizo yasiyo ya kawaida * (2nd ed). Ya Springer.
  • Kwa upande wake, Bw. (1901) kwa wakati mmoja. Beitrag zur näherungsweisen Ushirikiano wa Jumla ya Tofauti. Picha zote na Wizara ya Mambo ya Ndani ya Nchi. ....................................................................
  • Newton ya. (1687). Philosophiæ Naturalis Principia Mathematica*. Mwandishi: Joseph Streater.
  • Kwa upande wake, Dk. (1895). Über kufa numerische Auflösung von Differentialgleichungen. Picha zote na Wizara ya Mambo ya Ndani ya Nchi. ....................................................................
  • Mheshimiwa Spika, Sh. (2015) kuwa. Nonlinear Dynamics na Chaos (2nd ed). Vyombo vya habari vya Westview.

Suluhisho la ODEX la PinePaper linafunika Euler, RK4, na Dormand-Prince RK45 kwa mistari ya 200. Jaribu simulation pendulum bure katika [pinepaper.studio/editor] (/editor).

Ready to create?

Start making animated GIFs, videos, and graphics — free, no signup.

Open PinePaper Editor