Решение дифференциальных уравнений второго порядка методом рунге

Содержание
  1. Метод Рунге-Кутта решения диф. уравнений и их систем.
  2. Ссылки
  3. Оставить комментарий
  4. Комментарии
  5. Численное решение математических моделей объектов заданных системами дифференциальных уравнений
  6. Введение:
  7. Краткие теоретические и фактические данные по рассматриваемым методам и программным средствам для численного решения СДУ
  8. Вычислительный эксперимент по определению абсолютной погрешности численного решения нелинейного дифференциального уравнения с использованием обеих функций def odein(),def oden() модуля scipy.integrate и адаптированного к Python методов Рунге—Кутта и Рунге—Кутта— Фельберга
  9. Численный эксперимент по сравнению быстродействия численного решения СДУ при использовании функции ode с атрибутом dopri5 (метод Рунге – Кутты 5 порядка) и с использованием адаптированного к Python метода Рунге—Кутта— Фельберга
  10. Решение краевой задачи с поточно разделёнными краевыми условиями
  11. Вывод
  12. Численные методы решения обыкновенных дифференциальных уравнений. Метод Эйлера и методы Рунге-Кутта для решения дифференциальных уравнений
  13. 📺 Видео

Видео:6.4 Явные методы Рунге-КуттыСкачать

6.4 Явные методы Рунге-Кутты

Метод Рунге-Кутта решения диф. уравнений и их систем.

Метод позволяет решать системы обыкновенных дифференциальных уравнений (ОДУ) первого порядка следующего вида:

Решение дифференциальных уравнений второго порядка методом рунге

которые имеют решение:

Решение дифференциальных уравнений второго порядка методом рунге

где t — независимая переменная (например, время); X, Y и т.д. — искомые функции (зависимые от t переменные). Функции f, g и т.д. — заданы. Также предполагаются заданными и начальные условия, т.е. значения искомых функций в начальный момент.

Одно диф. уравнение — частный случай системы с одним элементом. Поэтому, далее речь пойдет для определенности о системе уравнений.

Метод может быть полезен и для решения диф. уравнений высшего (второго и т.д.) порядка, т.к. они могут быть представлены системой диф. уравнений первого порядка.

Метод Рунге-Кутта заключается в рекурентном применении следующих формул:

Решение дифференциальных уравнений второго порядка методом рунге

Реализация Метода Рунге-Кутта на Delphi может выглядеть так (привожу полностью модуль):

Модуль полностью работоспособен. Возвращаемое функцией Runge_Kutt значение — код ошибки. Вы можете дополнить список ошибок по своему усмотрению. Рассчитанные функции системы помещаются в массив Res. Чтобы не загромождать код, в модуле опущены проверки (типа блоков try). Рекомендую их добавить по своему усмотрению.

Ниже приводится описание функции Runge_Kutt и типов, использующихся в модуле.

  • FunArray — вектор функций (правых частей уравнений системы);
  • First, Last — начальная и конечная точки расчетного интервала;
  • Steps — число шагов по расчетному интервалу;
  • InitArray — вектор начальных значений
  • var Res — матрица результатов включая независимую переменную.

В модуле описаны типы:

Функция возвращает коды ошибок:

  • 0 — нет ошибок;
  • 100 — число уравнений не равно числу начальных условий.

Решение содержится в переменной-матрице Res. Первый индекс матрицы относится к переменной (0 — независимая переменная, 1 — первая зависимая и т.д.), второй — к номеру расчетной точки (0 — начальная точка).

Рассмотрим один пример использования модуля. Создадим новое приложение и подключим к нему модуль. На форме приложения разместим кнопку Button1 и область текста Memo1. Поместим в приложение две функции и обработчик нажатия кнопки:

Нажатие кнопки приведет к расчету точек системы, которые будут выведены в текстовую область.

Модуль с примером и справкой можно скачать бесплатно по адресу RK.zip (ZIP, 15,3Kb) (русский вариант). Английский вариант (условно-бесплатный) можно скачать по адресу RK_Eng.zip (ZIP, 23.4Kb)

Видео:Решение ОДУ методом Рунге-Кутта 4 порядка (программа)Скачать

Решение ОДУ методом Рунге-Кутта 4 порядка (программа)

Ссылки

  • http://sadovoya.narod.ru/RK.zip (русский вариант).
  • http://sintreseng.narod.ru/RK_Eng.zip (английский, условно-бесплатный вариант)

Видео:Методы численного анализа - Метод Рунге-Кутта для ОДУ 2 порядкаСкачать

Методы численного анализа - Метод Рунге-Кутта для ОДУ 2 порядка

Оставить комментарий

Видео:Решение ОДУ: метод Рунге КуттаСкачать

Решение ОДУ: метод Рунге Кутта

Комментарии

Решение дифференциальных уравнений второго порядка методом рунге

Решение дифференциальных уравнений второго порядка методом рунгеРешение дифференциальных уравнений второго порядка методом рунге

Решение дифференциальных уравнений второго порядка методом рунге

Решение дифференциальных уравнений второго порядка методом рунгеРешение дифференциальных уравнений второго порядка методом рунге

Скачала по Вашей ссылке русский вариант, изменила для своей системы диф. уравнений, но при запуске выдаёт ошибку :
Project Ex.exe raised exception class EOverflow with message ‘ Floating point overflow ‘
Помогите, пожалуйста .

Вот изменённый мною модуль:

unit Unit1;
interface
uses
SysUtils, Forms, StdCtrls, Controls, Classes, Dialogs, Math;
type
TForm1 = class(TForm)
Memo1: TMemo;
rk_But: TButton;
procedure rk_ButClick(Sender: TObject);
private

public

end;
var
Form1: TForm1;
pn,k,ro,Pzv: Extended;

implementation
uses rk_method, Windows;

procedure Syst (var t: TFloat; var X: TFloatVector;
var RP: TFloatVector);
const
fdr1=0.503;
fdr2=0.503;
fdr3=0.196;
W1=179.8928;
W2=3773.8568;
W3=2504.1203;
b1=55.9203;
b2=98.6;
b3=98.6;
Ls1=3.78;
Ls2=9;
Ls3=15.3;
Svidj2=1352.438;
Svidj3=1352.438;
my=0.62;
vk=30;
m=1.2;
L1=30.969;
L2=42.131;
delta1=0;

begin
pn:=2.5*Power(10,4);
k:=6*Power(10,-7);
ro:=8.5*Power(10,-7);
Pzv:=3.919*Power(10,7);

RP[0] := (1/(k*W1))*(my*fdr1*sqrt(2/ro)*sqrt(Abs(pn-X[0]))-my*fdr2*sqrt(2/ro)*sqrt(Abs(X[0]-X[1]))-(delta1*delta1*delta1*b1)/(12*ro*vk*Ls1)*X[0]); // dp1/dt
RP[1] := (1/(k*W2))*(my*fdr2*sqrt(2/ro)*sqrt(Abs(X[0]-X[1]))-my*fdr3*sqrt(2/ro)*sqrt(Abs(X[1]-X[2]))-(X[4]*X[4]*X[4]*b2)/(12*ro*vk*Ls2)*X[1]); // dp2/dt
RP[2] := (1/(k*W3))*(my*fdr3*sqrt(2/ro)*sqrt(Abs(X[1]-X[2]))-(X[6]*X[6]*X[6]*b3)/(12*ro*vk*Ls3)*X[2]); // dp3/dt;
RP[3] := (((Svidj2*X[1]*(L1+L2))/L1)-Pzv)*(2/m); // dv2/dt
RP[4] := X[3]; // d delta2/dt
RP[5] := (((Svidj3*X[2]*(L1+L2))/L2)-Pzv)*(2/m); // dv3/dt
RP[6] := X[5]; // d delta3/dt
end;

procedure TForm1.rk_ButClick(Sender: TObject);
var
I, t1, t2: Cardinal;
tOut, InitConds: TFloatVector;
XOuts: TFloatMatrix;
Points: Cardinal;
First, Last: TFloat;
StepsFact: Cardinal;
Count: Word;
begin
Memo1.Clear;
First := 0.0;
Last := 10.0;
Count:= 7;
Points:=10+1; //11 points for output
StepsFact:=1000000; //all steps inside function = 10*StepsFact

try
SetLength(InitConds, Count);
InitConds[0]:=0.0; //x0(0)=0
InitConds[1]:=0.0; //x1(0)=0
InitConds[2]:=0.0; //x2(0)=0
InitConds[3]:=0.0; //x3(0)=0
InitConds[4]:=0.0; //x4(0)=0
InitConds[5]:=0.0; //x5(0)=0
InitConds[6]:=0.0; //x6(0)=0

SetLength(tOut, Points);
SetLength(XOuts, Count, Points);
except
ShowMessage(‘Out of memory. ‘);
exit;
end;

Видео:04 Метод Рунге-Кутты 4-го порядкаСкачать

04 Метод Рунге-Кутты 4-го порядка

Численное решение математических моделей объектов заданных системами дифференциальных уравнений

Введение:

При математическом моделировании ряда технических устройств используются системы дифференциальных нелинейных уравнений. Такие модели используются не только в технике, они находят применение в экономике, химии, биологии, медицине, управлении.

Исследование функционирования таких устройств требуют решения указанных систем уравнений. Поскольку основная часть таких уравнений являются нелинейными и нестационарными, часто невозможно получить их аналитическое решение.

Возникает необходимость использовать численные методы, наиболее известным из которых является метод Рунге — Кутты [1]. Что касается Python, то в публикациях по численным методам, например [2,3], данных по применение Рунге — Кутты крайне мало, а по его модификации — методу Рунге-Кутта-Фельберга вообще нет.

В настоящее время, благодаря простому интерфейсу, наибольшее распространение в Python имеет функцию odeint из модуля scipy.integrate. Вторая функция ode из этого модуля реализует несколько методов, в том числе и упомянутый пятиранговый метод Рунге-Кутта-Фельберга, но, вследствие универсальности, имеет ограниченное быстродействие.

Целью настоящей публикации является сравнительный анализ перечисленных средств численного решения систем дифференциальных уравнений с модифицированным автором под Python методом Рунге-Кутта-Фельберга. В публикации так же приведены решения по краевым задачам для систем дифференциальных уравнений (СДУ).

Краткие теоретические и фактические данные по рассматриваемым методам и программным средствам для численного решения СДУ

Для одного дифференциального уравнения n – го порядка, задача Коши состоит в нахождении функции, удовлетворяющей равенству:

Решение дифференциальных уравнений второго порядка методом рунге

и начальным условиям

Решение дифференциальных уравнений второго порядка методом рунге

Перед решением эта задача должна быть переписана в виде следующей СДУ

Решение дифференциальных уравнений второго порядка методом рунге(1)

с начальными условиями

Решение дифференциальных уравнений второго порядка методом рунге

Модуль имеет две функции ode() и odeint(), предназначенные для решения систем обыкновенных дифференциальных уравнений (ОДУ) первого порядка с начальными условиями в одной точке (задача Коши). Функция ode() более универсальная, а функция odeint() (ODE integrator) имеет более простой интерфейс и хорошо решает большинство задач.

Функция odeint() имеет три обязательных аргумента и много опций. Она имеет следующий формат odeint(func, y0, t[,args=(), . ]) Аргумент func – это имя Python функции двух переменных, первой из которых является список y=[y1,y2. yn], а второй – имя независимой переменной.

Функция func должна возвращать список из n значений функций Решение дифференциальных уравнений второго порядка методом рунгепри заданном значении независимого аргумента t. Фактически функция func(y,t) реализует вычисление правых частей системы (1).

Второй аргумент y0 функции odeint() является массивом (или списком) начальных значений Решение дифференциальных уравнений второго порядка методом рунгепри t=t0.

Третий аргумент является массивом моментов времени, в которые вы хотите получить решение задачи. При этом первый элемент этого массива рассматривается как t0.

Функция odeint() возвращает массив размера len(t) x len(y0). Функция odeint() имеет много опций, управляющих ее работой. Опции rtol (относительная погрешность) и atol (абсолютная погрешность) определяют погрешность вычислений ei для каждого значения yi по формуле

Решение дифференциальных уравнений второго порядка методом рунге

Они могут быть векторами или скалярами. По умолчанию

Решение дифференциальных уравнений второго порядка методом рунге

Вторая функция модуля scipy.integrate, которая предназначена для решения дифференциальных уравнений и систем, называется ode(). Она создает объект ОДУ (тип scipy.integrate._ode.ode). Имея ссылку на такой объект, для решения дифференциальных уравнений следует использовать его методы. Аналогично функции odeint(), функция ode(func) предполагает приведение задачи к системе дифференциальных уравнений вида (1) и использовании ее функции правых частей.

Отличие только в том, что функция правых частей func(t,y) первым аргументом принимает независимую переменную, а вторым – список значений искомых функций. Например, следующая последовательность инструкций создает объект ODE, представляющий задачу Коши.

При построении численных алгоритмов будем считать, что решение этой дифференциальной задачи существует, оно единственно и обладает необходимыми свойствами гладкости.

При численном решении задачи Коши

Решение дифференциальных уравнений второго порядка методом рунге(2)

Решение дифференциальных уравнений второго порядка методом рунге(3)

по известному решению в точке t =0 необходимо найти из уравнения (3) решение при других t. При численном решении задачи (2),(3) будем использовать равномерную, для простоты, сетку по переменной t с шагом т > 0.

Приближенное решение задачи (2), (3) в точке Решение дифференциальных уравнений второго порядка методом рунгеобозначим Решение дифференциальных уравнений второго порядка методом рунге. Метод сходится в точке Решение дифференциальных уравнений второго порядка методом рунгеесли Решение дифференциальных уравнений второго порядка методом рунгепри Решение дифференциальных уравнений второго порядка методом рунге. Метод имеет р-й порядок точности, если Решение дифференциальных уравнений второго порядка методом рунге, р > 0 при Решение дифференциальных уравнений второго порядка методом рунге. Простейшая разностная схема для приближенного решения задачи (2),(3) есть

Решение дифференциальных уравнений второго порядка методом рунге(4)

При Решение дифференциальных уравнений второго порядка методом рунгеимеем явный метод и в этом случае разностная схема аппроксимирует уравнение (2) с первым порядком. Симметричная схема Решение дифференциальных уравнений второго порядка методом рунгев (4) имеет второй порядок аппроксимации. Эта схема относится к классу неявных — для определения приближенного решения на новом слое необходимо решать нелинейную задачу.

Явные схемы второго и более высокого порядка аппроксимации удобно строить, ориентируясь на метод предиктор-корректор. На этапе предиктора (предсказания) используется явная схема

Решение дифференциальных уравнений второго порядка методом рунге(5)

а на этапе корректора (уточнения) — схема

Решение дифференциальных уравнений второго порядка методом рунге

В одношаговых методах Рунге—Кутта идеи предиктора-корректора реализуются наиболее полно. Этот метод записывается в общем виде:

Решение дифференциальных уравнений второго порядка методом рунге(6),

Решение дифференциальных уравнений второго порядка методом рунге

Формула (6) основана на s вычислениях функции f и называется s-стадийной. Если Решение дифференциальных уравнений второго порядка методом рунгепри Решение дифференциальных уравнений второго порядка методом рунгеимеем явный метод Рунге—Кутта. Если Решение дифференциальных уравнений второго порядка методом рунгепри j>1 и Решение дифференциальных уравнений второго порядка методом рунгето Решение дифференциальных уравнений второго порядка методом рунгеопределяется неявно из уравнения:

Решение дифференциальных уравнений второго порядка методом рунге(7)

О таком методе Рунге—Кутта говорят как о диагонально-неявном. Параметры Решение дифференциальных уравнений второго порядка методом рунгеопределяют вариант метода Рунге—Кутта. Используется следующее представление метода (таблица Бутчера)

Решение дифференциальных уравнений второго порядка методом рунге

Одним из наиболее распространенных является явный метод Рунге—Кутта четвертого порядка

Решение дифференциальных уравнений второго порядка методом рунге(8)

Метод Рунге—Кутта— Фельберга

Привожу значение расчётных коэффициентов Решение дифференциальных уравнений второго порядка методом рунгеметода

Решение дифференциальных уравнений второго порядка методом рунге(9)

С учётом(9) общее решение имеет вид:

Решение дифференциальных уравнений второго порядка методом рунге(10)

Это решение обеспечивает пятый порядок точности, остаётся его адаптировать к Python.

Вычислительный эксперимент по определению абсолютной погрешности численного решения нелинейного дифференциального уравнения Решение дифференциальных уравнений второго порядка методом рунгес использованием обеих функций def odein(),def oden() модуля scipy.integrate и адаптированного к Python методов Рунге—Кутта и Рунге—Кутта— Фельберга

Решение дифференциальных уравнений второго порядка методом рунге

Решение дифференциальных уравнений второго порядка методом рунге

Решение дифференциальных уравнений второго порядка методом рунге

Решение дифференциальных уравнений второго порядка методом рунге

Адаптированные к Python методы Рунге—Кутта и Рунге—Кутта— Фельберга имеют меньшую абсолютную, чем решение с применением функции odeint, но большую, чем с использованием функции edu. Необходимо провести исследование быстродействия.

Численный эксперимент по сравнению быстродействия численного решения СДУ при использовании функции ode с атрибутом dopri5 (метод Рунге – Кутты 5 порядка) и с использованием адаптированного к Python метода Рунге—Кутта— Фельберга

Сравнительный анализ проведём на примере модельной задачи, приведенной в [2]. Чтобы не повторять источник, приведу постановку и решение модельной задачи из [2].

Решим задачу Коши, описывающую движение тела, брошенного с начальной скоростью v0 под углом α к горизонту в предположении, что сопротивление воздуха пропорционально квадрату скорости. В векторной форме уравнение движения имеет вид

Решение дифференциальных уравнений второго порядка методом рунге

где Решение дифференциальных уравнений второго порядка методом рунге– радиус вектор движущегося тела, Решение дифференциальных уравнений второго порядка методом рунге– вектор скорости тела, Решение дифференциальных уравнений второго порядка методом рунге– коэффициент сопротивления, вектор Решение дифференциальных уравнений второго порядка методом рунгесилы веса тела массы m, g – ускорение свободного падения.

Решение дифференциальных уравнений второго порядка методом рунге

Особенность этой задачи состоит в том, что движение заканчивается в заранее неизвестный момент времени, когда тело падает на землю. Если обозначить Решение дифференциальных уравнений второго порядка методом рунге, то в координатной форме мы имеем систему уравнений:

Решение дифференциальных уравнений второго порядка методом рунге

К системе следует добавить начальные условия: Решение дифференциальных уравнений второго порядка методом рунге(h начальная высота), Решение дифференциальных уравнений второго порядка методом рунге. Положим Решение дифференциальных уравнений второго порядка методом рунге. Тогда соответствующая система ОДУ 1 – го порядка примет вид:

Решение дифференциальных уравнений второго порядка методом рунге

Для модельной задачи положим Решение дифференциальных уравнений второго порядка методом рунге. Опуская довольно обширное описание программы, приведу только листинг из комментариев к которому, думаю, будет ясен принцип её работы. В программу добавлен отсчёт времени работы для сравнительного анализа.

Flight time = 1.2316 Distance = 5.9829 Height =1.8542
Flight time = 1.1016 Distance = 4.3830 Height =1.5088
Flight time = 1.0197 Distance = 3.5265 Height =1.2912
Flight time = 0.9068 Distance = 2.5842 Height =1.0240
Время на модельную задачу: 0.454787

Решение дифференциальных уравнений второго порядка методом рунге

Для реализации средствами Python численного решения СДУ без использования специальных модулей, мною была предложена и исследована следующая функция:

def increment(f, t, y, tau
k1=tau*f(t,y)
k2=tau*f(t+(1/4)*tau,y+(1/4)*k1)
k3 =tau *f(t+(3/8)*tau,y+(3/32)*k1+(9/32)*k2)
k4=tau*f(t+(12/13)*tau,y+(1932/2197)*k1-(7200/2197)*k2+(7296/2197)*k3)
k5=tau*f(t+tau,y+(439/216)*k1-8*k2+(3680/513)*k3 -(845/4104)*k4)
k6=tau*f(t+(1/2)*tau,y-(8/27)*k1+2*k2-(3544/2565)*k3 +(1859/4104)*k4-(11/40)*k5)
return (16/135)*k1+(6656/12825)*k3+(28561/56430)*k4-(9/50)*k5+(2/55)*k6

Функция increment(f, t, y, tau) обеспечивает пятый порядок численного метода решения. Остальные особенности программы можно посмотреть в следующем листинге:

Время на модельную задачу: 0.259927

Решение дифференциальных уравнений второго порядка методом рунге

Предложенная программная реализация модельной задачи без использования специальных модулей имеет почти в двое большее быстродействие, чем с функцией ode, однако нельзя забывать, что ode имеет более высокую точность численного решения и возможности выбора метода решения.

Решение краевой задачи с поточно разделёнными краевыми условиями

Приведем пример некоторой конкретной краевой задачи с поточно разделенными краевыми условиями:

Решение дифференциальных уравнений второго порядка методом рунге(11)

Для решения задачи (11) используем следующий алгоритм:

1. Решаем первые три неоднородные уравнения системы (11) с начальными условиями
Решение дифференциальных уравнений второго порядка методом рунге
Введем обозначение для решения задачи Коши:
Решение дифференциальных уравнений второго порядка методом рунге

2. Решаем первые три однородные уравнения системы (11) с начальными условиями
Решение дифференциальных уравнений второго порядка методом рунге
Введем обозначение для решения задачи Коши:
Решение дифференциальных уравнений второго порядка методом рунге

3. Решаем первые три однородные уравнения системы (11) с начальными условиями

Решение дифференциальных уравнений второго порядка методом рунге

Введем обозначение для решения задачи Коши:

Решение дифференциальных уравнений второго порядка методом рунге

4. Общее решение краевой задачи (11) при помощи решений задач Коши записывается в виде линейной комбинации решений:
Решение дифференциальных уравнений второго порядка методом рунге
где p2, p3 — некоторые неизвестные параметры.

5. Для определения параметров p2, p3, используем краевые условия последних двух уравнений (11), то есть условия при x = b. Подставляя, получим систему линейных уравнений относительно неизвестных p2, p3:
Решение дифференциальных уравнений второго порядка методом рунге(12)
Решая (12), получим соотношения для p2, p3.

По приведенному алгоритму с применением метода Рунге—Кутта—Фельберга получим следующую программу:

y0[0]= 0.0
y1[0]= 1.0
y2[0]= 0.7156448588231397
y3[0]= 1.324566562303714
y0[N-1]= 0.9900000000000007
y1[N-1]= 0.1747719838716767
y2[N-1]= 0.8
y3[N-1]= 0.5000000000000001
Время на модельную задачу: 0.070878

Решение дифференциальных уравнений второго порядка методом рунге

Вывод

Разработанная мною программа отличается от приведенной в [3] меньшей погрешностью, что подтверждает приведенный в начале статьи сравнительный анализ функции odeint с реализованным на Python метода Рунге—Кутта—Фельберга.

3. Н.М. Полякова, Е.В. Ширяева Python 3. Создание графического интерфейса пользователя (на примере решения методом пристрелки краевой задачи для линейных обыкновенных дифференциальных уравнений). Ростов-на-Дону 2017.

Видео:Метод Рунге Кутты 2 и 4 порядковСкачать

Метод Рунге Кутты 2 и 4 порядков

Численные методы решения обыкновенных дифференциальных уравнений. Метод Эйлера и методы Рунге-Кутта для решения дифференциальных уравнений

Суть метода Эйлера заключается в переходе от бесконечно малых приращений в уравнении к конечным: Решение дифференциальных уравнений второго порядка методом рунге(1)

т.е. в замене производной приближенным конечно-разностным отношением:

Решение дифференциальных уравнений второго порядка методом рунге

где h = ∆х — шаг интегрирования.

Отсюда Решение дифференциальных уравнений второго порядка методом рунге(3)

Рассматривая приближенное решение в точке Решение дифференциальных уравнений второго порядка методом рунгекак новые начальные условия, можно по формуле (3) найти значение искомой функции у(х) в следующей точке. В общем случае формула Эйлера имеет вид: Решение дифференциальных уравнений второго порядка методом рунге(4)

Метод Эйлера может быть интерпретирован геометрически следующим образом: функцию у(х) заменяют ломаной, представляющей собой отрезки касательных к этой функции в узлах (рис. 5.1).

Решение дифференциальных уравнений второго порядка методом рунге

Рис. 5.1. Метод Эйлера

Достоинствами метода Эйлера являются его простота и наглядность, недостатками — относительно невысокая точность (он имеет первый порядок точности) и систематическое накопление ошибки. Точность и устойчивость решения в значительной степени зависят от величины шага интегрирования. Для оценки погрешности и выбора шага может быть применена формула Рунге Решение дифференциальных уравнений второго порядка методом рунге.

Методы Рунге-Кутта второго порядка

Методы Рунге-Кутта второго порядка основаны на разложении функции у(х) в ряд Тейлора и учете трех его первых членов (до второй производной включительно).

Метод Рунге-Кутта второго порядка с полным шагом реализуется по формуле:

Решение дифференциальных уравнений второго порядка методом рунге(6.1.)

Его геометрическая интерпретация (рис. 6.1.) заключается в следующем:

1. Приближенно вычисляют значение функции в точке xi+h по формуле Эйлера Решение дифференциальных уравнений второго порядка методом рунгеи наклон интегральной кривой в этой точке Решение дифференциальных уравнений второго порядка методом рунге

2. Находят средний наклон на шаге h: Решение дифференциальных уравнений второго порядка методом рунге

3. По этому наклону уточняют значение yi+1 по формуле (6.1.).

Решение дифференциальных уравнений второго порядка методом рунгеРис. 6.1. Метод Рунге-Кутта второго порядка с полным шагом

Формула метода Рунге-Кутта второго порядка с половинным шагомимеет вид

Решение дифференциальных уравнений второго порядка методом рунге

Решение дифференциальных уравнений второго порядка методом рунге

Рисунок 6.3. Метод Рунге-Кутта второго порядка с половинным шагом

Метод Рунге-Кутта четвертого порядка

📺 Видео

3_11. Алгоритм Рунге-КуттыСкачать

3_11. Алгоритм Рунге-Кутты

6.1 Численные методы решения задачи Коши для ОДУСкачать

6.1 Численные методы решения задачи Коши для ОДУ

Линейное неоднородное дифференциальное уравнение второго порядка с постоянными коэффициентамиСкачать

Линейное неоднородное дифференциальное уравнение второго порядка с постоянными коэффициентами

Метод ЭйлераСкачать

Метод Эйлера

4a. Методы Рунге-КуттаСкачать

4a. Методы Рунге-Кутта

15. Линейные однородные дифференциальные уравнения второго порядка с постоянными коэффициентамиСкачать

15. Линейные однородные дифференциальные уравнения второго порядка с постоянными коэффициентами

Операционное исчисление. Решить неоднородное дифференциальное уравнение 2 порядкаСкачать

Операционное исчисление. Решить неоднородное дифференциальное уравнение 2 порядка

16. Линейные неоднородные дифференциальные уравнения 2-го порядка с постоянными коэффициентамиСкачать

16. Линейные неоднородные дифференциальные уравнения 2-го порядка с постоянными коэффициентами

Видеоурок "Системы дифференциальных уравнений"Скачать

Видеоурок "Системы дифференциальных уравнений"

14. Дифференциальные уравнения второго порядка, допускающие понижение порядкаСкачать

14. Дифференциальные уравнения второго порядка, допускающие понижение порядка

06 Неявные методы Рунге-КутыСкачать

06 Неявные методы Рунге-Куты

Явный метод Рунге-Кутты второго порядка для решения задачи Коши. Контрольная работа МФТИСкачать

Явный метод Рунге-Кутты второго порядка для решения задачи Коши. Контрольная работа МФТИ
Поделиться или сохранить к себе: