- •Метод Рунге-Кутта
- •Глава 1.
- •1.1.Суть метода Рунге-Кутта
- •Тангенс угла наклона прямой l и прямой l равен
- •В то время как для модификационного метода Эйлера
- •1.2.Назначение и область применения.
- •Глава 2.
- •2.1 Постановка задачи и разработка алгоритма решения задачи.
- •Основная блок схема
- •2.2. Выбор состава технических и программных средств.
- •2.3 Вызов и загрузка программы.
- •2.4. Тестирование программы
- •Заключение
- •Список литературы
- •Приложение: форма окна
- •Листинг программы:
Тангенс угла наклона прямой l и прямой l равен
Ф(xmymh)=½[f(xmym)+f(xm+hym+ymh)] 1.2.
где ym=f(xmym) 1.3.
Уравнение линии L при этом записывается в виде
y=ym+(x-xm)Ф(xmymh)
так что
ym+1=ym+hФ(xmymh) 1.4.
Соотношения 121314 описывают исправленный метод Эйлера
Чтобы выяснитьнасколько хорошо этот метод согласуется с разложением в ряд Тейлоравспомнимчто разложение в ряд функции f(xy) можно записать следующим образом:
f(xy)=f(xmym)+(x-xm)f/x+(y-ym)f/x+1.5.
где частные производные вычисляются при x=xmи y=ym
Подставляя в формулу 15 x=xm+h и y=ym+hym и используя выражение 13 для ym получаем
f(xm+hym+hym)=f+hfx+hffy+O(h2)
где снова функция f и ее производные вычисляются в точке xmymПодставляя результат в 12 и производя необходимые преобразованияполучаем
Ф(xmymh)=f+h/2(fx+ffy)+O(h2)
Подставим полученное выражение в 14 и сравним с рядом Тейлора
ym+1=ym+hf+h2/2(fx+ffy)+O(h3)
Как видимисправленный метод Эйлера согласуется с разложением в ряд Тейлора вплоть до членов степени h2являясьтаким образомметодом Рунге-Кутты второго порядка
Рассмотрим модификационный метод ЭйлераРассмотрим рис3 где первоначальное построение сделано так жекак и на рис2Но на этот раз мы берем точкулежащую на пересечении этой прямой и ординатой x=x+h/2На рисунке эта точка образована через Ра ее ордината равна y=ym+(h/2)ymВычислим тангенс угла наклона касательной в этой точке
Ф(xmymh)=f+(xm+h/2ym+h/2*ym)1.6.
где ym=f(xmym) 1.7.
Прямая с таким наклономпроходящая через Робозначена черезL*Вслед за теммы проводим через точку xmym прямую параллельнуюL*и обозначаем ее через L0Пересечение этой прямой с ординатой x=xm+h и даст искомую точку xm+1ym+1Уравнение прямой можно записать в виде y=ym+(x-xm)Ф(xmymh)
где Ф задается формулой 16Поэтому
ym+1=ym+hФ(xmymh)1.8.
Соотношения 161718 описывают так называемый модификационный метод Эйлера и является еще одним методом Рунге-Кутта второго порядкаОбобщим оба методаЗаметимчто оба метода описываются формулами вида
ym+1=ym+hФ(xmymh) 1.9.
и в обоих случаях Ф имеет вид
Ф(xmymh)=a1f(xmym)+a2f(xm+b1hym+b2hym) 1.10.
где ym=f(xmym) 111.
В частностидля исправленного метода Эйлера
a1=a2=1/2;
b1=b2=1
В то время как для модификационного метода Эйлера
a1=0a2=1
b1=b2=1/2
Формулы 19110111 описывают некоторый метод типа Рунге-КуттыПосмотримкакого порядка метод можно рассчитывать получить в лучшем случае и каковы допустимые значения параметров a1a2b1и b2
Чтобы получить соответствие ряду Тейлора вплоть до членов степени hв общем случае достаточно одного параметраЧтобы получить согласование вплоть до членов степени h2потребуется еще два параметратак как необходимо учитывать члены h2fxи h2ffyТак как у нас имеется всего четыре параметратри из которых потребуются для создания согласования с рядом Тейлора вплоть до членов порядка h2то самое лучшеена что здесь можно рассчитывать - это метод второго порядка
В разложении f(xy) в ряд 15 в окрестности точки xmymположим x=xm+b1h
y=ym+b2hf
Тогда f(xm+b1hym+b2hf)=f+b1hfx+b2hffy+O(h2)где функция и производные в правой части равенства вычислены в точке xmym
Тогда 19 можно переписать в виде ym+1=ym+h[a1f+a2f+h(a2b1fx+a2b2ffy)]+O(h3)
Сравнив эту формулу с разложением в ряд Тейлораможно переписать в виде
ym+1=ym+h[a1f+a2f+h(a2b1fx+a2b2ffy)]+O(h3)
Если потребовать совпадения членов hfто a1+a2=1
Сравнивая членысодержащие h2fxполучаем a2b1=1/2
Сравнивая членысодержащие h2ffyполучаем a2b2=1/2
Так как мы пришли к трем уравнениям для определения четырех неизвестныхто одно из этих неизвестных можно задать произвольноисключаяможет бытьнульв зависимости от тогокакой параметр взять в качестве произвольного
Положимнапримерa2=0тогда a1=1-b1=b2=1/2и соотношения 19110111 сведутся к
ym+1=ym+h[(1-)f(xmym)+f(xm+h/2ym+h/2f(xmym))]+O(h3) 1.12
Это наиболее общая форма записи метода Рунге-Кутта второго порядкаПри=1/2 мы получаем исправленный метод Эйлерапри=1 получаем модификационный метод ЭйлераДля всехотличных от нуляошибка ограничения равна
et=kh31.13.
Методы Рунге-Кутта третьего и четвертого порядков можно вывести совершенно аналогично томукак это делалось при выводе методов первого и второго порядковМы не будем воспроизводить выкладкиа ограничимся темчто приведем формулыописывающие метод четвертого порядкаодин из самых употребляемых методов интегрирования дифференциальных уравненийЭтот классический метод Рунге-Кутта описывается системой следующих пяти соотношений
ym+1=ym+h/6(R1+2R2+2R3+R4) 1.14.
где R1=f(xmym)1.15.
R2=f(xm+h/2ym+hR1/2)1.16.
R3=f(xm+h/2ym+hR2/2)1.17.
R4=f(xm+h/2ym+hR3/2). 1.18.
Ошибка ограничения для этого метода равна et=kh5
так что формулы 114.-118. описывают метод четвертого порядка Заметим что при использовании этого метода функцию необходимо вычислять четыре раза