VBA - példák a feladatok - Runge-Kutta módszerrel megoldására differenciálegyenletek

Megoldás differenciálegyenletek az elsőrendű
Runge-Kutta módszerrel.

VBA Ez a projekt lehetővé teszi számunkra, hogy megoldja differenciálegyenletek az elsőrendű egyik numerikus módszerek, nevezetesen, a Runge-Kutta módszerrel.

háttér:
  • és a határ intervallum b;
  • h integrációs lépést;
  • kezdeti értékét megoldások Y (a). amely lehetővé teszi, hogy meghatározza a folyamatos jobbra ...
bekerülnek az oszlop «J» cellában.

És a legfontosabb (a legfontosabb része) kell lennie hibamentes hogy adjon meg egy képletet a «D3» cellában. Ez a képlet kapjuk az adott egyenletek, és egy olyan függvény, amely a származék a megoldásokat. A paraméterek lehetnek egyszer (azaz «D4» sejt), és együtt a X Y (azaz «D5» sejt). Az ábrán egy példa I általános képletű egy adott egyenlet ...
A «D4» sejtek és a «D5» adja, nem kell semmit ... ott értékeket helyettesíti a makró ...

VBA - példák a feladatok - Runge-Kutta módszerrel megoldására differenciálegyenletek

Ezt követően, csak nyomja meg a gombot „megoldani”, és ... ha ne felejtsük el, makrók, látni fogja a gyorsan változó aktuális értékét a «d» oszlop sejteket. és kiszámítása után értékeit ciklus. megváltozik menetrendek.

A grafikonok kell építeni egy adott keresési tartománya (a figura -0,4 1,25) ...
Minden ponton, ahol a származékot (chart kék) metszi a tengelyt 0y. függvény megoldások (piros) kell a szélsőséges (alacsony vagy magas) ...
Ha türelemmel Ön nem különbözik, akkor nem állít egy nagyon hosszú idő, és / vagy nagyon kis lépés ...

Tipp:
Valójában, a folyamat töltési tömbök az x és y a Runge-Kutta módszerrel a következőképpen néz ki:
(A globális változó D3formula korábban inicializált: D3formula = tartomány ( "D3") általános képletű.)

Magán Funkció func (x As Double, y As Double) As Double „származékát
Dim f As String
„Funkció kerül kiszámításra az alábbi képlet szerint a felhasználó által megadott cellában D3 (Guesde D4 - x, D5 - y)
F = Cserélje (D3formula, "D4", CStr (x))
F = Cserélje (f, "D5", CStr (y))
Tartomány ( "D3"). FormulaLocal = f
func = tartomány ( "D3")
End Function

Sub MethodRungeKutta ()
„Segédváltozók
Dim k1 As Double, k2 As Double, k3 As Double, K4 Double
Dim i As Integer

I = 1-től n „nullák már

x (i) = x (0) + i * H
k1 = func (x (i - 1), y (i - 1))
k2 = func (x (i - 1) + h / 2, y (i - 1) + K1 * H / 2)
k3 = func (x (i - 1) + h / 2, y (i - 1) + k2 * H / 2)
k4 = func (x (i), y (i - 1) + K3 * h)

y (i) = y (i - 1) + H / 6 * (K1 + 2 * K2 + 2 * k3 + k4) „értékek számítása
p (i - 1) = K1 „megőrzés tömbben grafikus

A térkép-megjelenítő a számított grafikonok kitöltve mazait oszlopok «AA-AB-AC» ... Tud összehasonlítani az eredményeket, hogy a táblázatban opciót.

Megszerzésének feltételei a kódot? Itt található?

További példák a „megoldások differenciálegyenletek”:

Kapcsolódó cikkek