ПредишенСледващото

Решение на диференциални уравнения от първи ред
метод Runge-Kutta.

VBA Този проект ни дава възможност за решаване на диференциални уравнения от първи ред един от числени методи, а именно по метода на Рунге-Kutta.

Предистория:
  • и граница интервал б;
  • стъпка ч интеграция;
  • начална стойност за у разтвори (а). което позволява да се определи постоянен прав ...
са вписани в графа «J» клетка.

И най-важното (най-важната част от) трябва да бъде без грешки, за да въведете формула в «D3» клетката. Тази формула е получена от дадените уравнения и е функция, която е производно на разтворите. Неговите параметри могат да бъдат едновременно (т.е. «D4» клетки) и заедно с х у (т.е. «D5» клетка). Фигурата показва пример на формула I за даден уравнение ...
В «D4» клетки и «D5» въведете нямат нужда от нищо ... там стойности ще замени макро ...

метод Runge-Kutta за решаване на диференциални уравнения - VBA - примери на задачи

След това, просто натиснете бутона "Решете" и ... ако не забравяйте да се даде възможност на макроси, ще видите, бързо променящи се стойности на тока в «D» на клетките в колоната. и след изчисляване на стойностите на един цикъл при. ще се промени графици.

Графиките трябва да бъдат изградени върху даден диапазон търсене (на фигурата от -0,4 до 1,25) ...
При всяка точка, където производното (диаграма синьо) пресича оста 0y. функционални разтвори (червено) трябва да бъдат екстремни (висока или ниска) ...
Ако търпение не сте различни, тогава не се създаде един много дълъг интервал, и / или много малка стъпка ...

Съвет:
Всъщност, процесът на пълнене масиви от х и у по метода на Runge-Kutta ще изглежда така:
(Глобална променлива D3formula преди инициализира: D3formula = обхват ( "D3") Формула).

Private Function функции (х Както Двойна, у Както Double) Както производно Double "
Дим е ​​Както стринга
"Функция се изчислява съгласно формулата въведен от потребителя в клетка D3 (Гед D4 - е х, D5 - е у)
е = Замяна (D3formula "D4", CStr (х))
е = Замяна (е "D5", CStr (у))
Обхват ( "D3"). FormulaLocal = F
функция = обхват ( "D3")
Крайна Длъжност

Под MethodRungeKutta ()
"Спомагателни променливи
Дим k1 Както Двойна, k2 Както Двойна, k3 Както Двойна, k4 Както Двойна
Дим аз Като цяло число

За I = 1 до п "нули вече имат

х (l) = х (0) + I * з
k1 = функция (х (I - 1), Y (I - 1))
k2 = функция (х (I - 1) + Н / 2, у (- 1) + k1 * Н / 2)
k3 = функция (х (I - 1) + Н / 2, у (- 1) + k2 * Н / 2)
К4 = функция (х (I), Y (I - 1) + k3 * з)

Y (l) = у (- 1) + Н / 6 * (k1 + 2 * k2 + 2 * k3 + К4) "стойности се изчисляват
р (I - 1) = запазване k1 "в масив за графика

За да се покаже графиката изчислените графиките са пълни в съответните диапазони на колони «AA-AB-AC» ... Можете ли да сравните резултатите с тази опция на маса.

Условия за получаване на код? Покажете?

Други примери за "разтвори на диференциални уравнения":

Свързани статии

Подкрепете проекта - споделете линка, благодаря!