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

Автор работы: Пользователь скрыл имя, 29 Мая 2013 в 13:06, реферат

Описание работы

Одна из основных проблем, связанных с применением методов Рунге-Кутты, состоит в получении надежных и, в то же время простых и эффективных оценок погрешности решения задачи Коши. В решении данной проблемы значительные успехи достигнуты за счет введения вложенных методов Рунге-Кутты (ВМРК) или методов вложенных форм. Основные соображения, положенные в основу этих методов, таковы: нужно получить формулы из семейства Рунге-Кутты, которые использовали бы одни и те же значения функций – правой части уравнения – и определяли бы разные конкретные методы одного или смежных порядков.

Файлы: 1 файл

реферат.docx

— 218.14 Кб (Скачать файл)

Рассмотренные методы Рунге-Кутта  относятся к классу одношаговых  методов, в которых для вычисления значения в очередной точке xk+1 нужно знать значение в предыдущей точке xk.

Еще один класс методов  решения задачи Коши – многошаговые методы, в которых используются точки xk-3, xk-2, xk-1, xk для вычисления xk+1. В многошаговых методах первые четыре начальные точки (t0, x0), (t1, x1), (t2, x2) (t3, x3) должны быть получены заранее любым из одношаговых методов (метод Эйлера, Рунге-Кутта и т.д.).

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

function [x,t,j]=kut_merson(a,b,n,eps,x0)

%Функция решения задачи  Коши x'(t)=g(t,x) x(a)=x0 методом

%Кутта-Мерсона на интервале  интегрирования [a,b]

%c точночтью eps, n - количество  отрезков, на которые

% вначале разбивается  интервал [a,b].

% Вычисление шага h.

h=(b-a)/n;

x(1)=x0;t(1)=a;i=2;

while (t(i-1)+h)<=b

R=3*eps;

while R>eps

%Расчет коэффициентов K1, K2, K3, K4, K5.

K1=g(t(i-1),x(i-1));

K2=g(t(i-1)+h/3,x(i-1)+h/3*K1);

K3=g(t(i-1)+h/3,x(i-1)+h/6*K1+h/6*K2);

K4=g(t(i-1)+h/2,x(i-1)+h/8*K1+3*h/8*K2);

K5=g(t(i-1)+h,x(i-1)+h/2*K1-3*h/2*K3+2*h*K4);

%Вычисление сравниваемых  значений x(i+1)

X1=x(i-1)+h/2*(K1-3*K3+4*K4);

X2=x(i-1)+h/6*(K1+4*K4+K5);

%Вычисление оценочного  коэффициента R.

R=0.2*abs(X1-X2);

%Сравнение оценочного  коэффициента R с точностью eps.

if R>eps

h=h/2;

else

%Если оценочный коэффициента R меньше точности eps,

%то происходит формирование  очередной найденной точки и

%переход к следующему  этапу по i.

t(i)=t(i-1)+h;

x(i)=X2;

i=i+1;

%Если оценочный коэффициент  R меньше eps/64,

%то можно попробовать  увеличить шаг.

if R<=eps/64

if (t(i-1)+2*h)<=b

h=2*h;

end

end

%В переменной j возвращается  количество элементов в

%массивах x и t

j=i-1

end

 


Информация о работе Методы Рунге-Кутты