5.2 Метод Рунге-Кутта
Теоретические сведения
1. Эти методы являются одноступенчатыми: чтобы найти уm+1, нужна информация о предыдущей точке xm, ym.
2. Они согласуются с рядом Тейлора вплоть до членов порядка hp, где степень р различна для различных методов и называется порядковым номером или порядком метода.
3. Они не требуют вычисления производных от f (x, y), а требуют вычисления самой функции.
Текст программы
const
x0=0;
y0=1;
n=5;
Xn=1;
deltax=(Xn-x0)/n;
var x,y:array[1..100] of real;
i,j:integer;
k:integer;
t:text;
k1,k2,k3,k4,deltay:real;
function f(x,y:real):real;
begin
f:=2*y-2*x+1;
{f:=exp(2*x)+x;}
end;
begin
assign(t,H:Phoenix unge-kut.txt);
rewrite(t);
x[1]:=x0; y[1]:=y0;
writeln(x[1]:2:5, ,y[1]:2:5);
for i:=2 to n+1 do begin
x[i]:=x[i-1]+deltax;
k1:=deltax*f(x[i-1],y[i-1]);
k2:=deltax*f(x[i-1]+deltax/2,y[i-1]+k1/2);
k3:=deltax*f(x[i-1]+deltax/2,y[i-1]+k2/2);
k4:=deltax*f(x[i-1]+deltax,y[i-1]+k3);
deltay:=(k1+2*k2+2*k3+k4)/6;
y[i]:=y[i-1]+deltay;
writeln(x[i]:2:5, ,y[i]:2:5);
end;
for i:=1 to n+1 do
writeln(t,x[i]:2:5, ,y[i]:2:5);
close(t);
end.
Результаты
1 |
0.00000 |
1.00000 |
|
2 |
0.20000 |
1.69173 |
|
3 |
0.40000 |
2.62527 |
|
4 |
0.60000 |
3.91951 |
|
5 |
0.80000 |
5.75182 |
|
6 |
1.00000 |
8.38679 |
Вывод
Метод Рунге-Кутта достаточно точный и за малое количество итераций приходит к ответу, недостатки в том, что требуются большие и неудобные выражения для вычислений.
Общий вывод
Если при решении дифференциальных уравнений требуется точность вычислений, то лучше использовать метод Рунге-Кутта, если же достаточно приблизительной точности, то можно воспользоваться методом Эйлера. По уровню сложности написания текста задачи одинаковы.
- 1. Операции с файлами
- 2. Решение иррациональных уравнений
- 2.1 Метод хорд
- 2.2 Метод половинного деления
- 3. Вычисление определенного интеграла
- 3.2 Метод прямоугольников
- 3.3 Метод Трапеций
- Решение систем линейных алгебраических уравнений
- 4.1 Метод Гаусса
- 4.2 Метод Ньютона
- 4.3. Метод Зейделя
- 5. Решение дифференциальных уравнений
- 5.1 Метод Эйлера
- 5.2 Метод Рунге-Кутта
- 6. Ряды Фурье
- Список литературы
- Модуль 3. Основные численные методы. Роль численных методов
- 1.1. Математическое моделирование и численные методы
- 9. Математические модели и численные методы
- 6.1 Математические модели и численные методы решения задач в различных предметных областях
- Численные методы построения математических моделей
- 19. Численные методы решения научно-технических задач
- Тема 1. Математическое моделирование и численные методы.