Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Классический метод Рунге-Кутта ⇐ ПредыдущаяСтр 8 из 8
Метод Рунге-Кутта четвертого порядка получаем при P=4, c1=0, c2= c3=1/2, c4=1, d1=d4=1/6, d2=d3=1/3 Расчетные формулы имеют вид: ; (i=1, 2, …, m) (9) То есть берутся 4 направления и усредняются. Для практической реализации погрешности решения можно применять правило Рунге, полагая P =4: Программа решения дифференциального уравнения методом Рунге-Кутта: program RungeKutta; {*** Mетод Рунге - Кутта ***} var d, x, a, b, h, y, k1, k2, k3, k4: 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); k1: =h*f(x, y); k2: =h*f(x+h/2, y+k1/2); k3: =h*f(x+h/2, y+k2/2); k4: =h*f(x+h, y+k3); d: =(k1+k2*2+k3*2+k4)/6; y: =y+d; x: =x+h end; readln; END.
|