Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






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






Численные методы решения задачи Коши , y(x0)=y0 на равномерной сетке { x0=a, x1, x2, …, xm=b } отрезка [ a, b ] с шагом являются методами Рунге-Кутта, если, начиная с данных y(x0)=y0 решение ведется по следующим рекуррентным формулам:

; (i=1, 2, …, m) (7)

,

Метод называют методом Рунге-Кутта порядка P, если от имеет P -й порядок точности по шагу h на сетке.

Метод Эйлера можно назвать методом Рунге-Кутта первого порядка.

Метод Рунге-Кутта второго порядка называют методом Эйлера-Коши, если P=2, c1=0, c2=1, d1=d2=1/2

; (i=1, 2, …, m) (8)

Для практической реализации погрешности решения можно применять правило Рунге, полагая P =2:

Программа решения дифференциального уравнения методом Эйлера-Коши:

program Eiler_Koshi;

var x, a, b, h, y, z: real;

m, i: integer;

function f(x, y: real): real;

begin f: =cos(x);

end;

begin writeln('Введите значения концов отрезка [a, b]');

readln(a, b);

writeln('Введите начальное значение y0=y(x0)'); readln(y);

writeln('Введите число значений функции на промежутке [a, b]');

read(m);

x: =a; h: =(b-a)/m;

for i: =0 to m do

begin writeln (x: 10: 3, y: 15: 4);

z: =y+h*f(x, y);

y: =y+h*(f(x, y)+f(x+h, z))/2;

x: =x+h

end; readln;

end.

 


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.006 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал