Методы Рунге-Кутта
Например, в одном из усовершенствований метода Эйлера, который также называют методом Рунге-Кутта второго порядка, переход осуществляют в два этапа по формулам: Zi = Yi +h/2*f(Xi,Yi) Yi+1=Yi+h*f(Xi+h/2,Zi). При этом получается погрешность порядка h2. А самый распространенный на практике метод - метод Рунге-Кутта четвертого порядка, в котором точность имеет порядок величины h4, а переход к следующей точке осуществляется с помощью четырех вспомогательных величин: k1= h*f(Xi,Yi) k2= h*f(Xi+h/2,Yi+k1/2) k3= h*f(Xi+h/2,Yi+k2/2) k4= h*f(Xi+h,Yi+k3) После вычисления этих вспомогательных величин переход от точки (Xi,Yi) к следующей точке осуществляется по формуле Yi+1=Yi+1/6*(k1+2k2+2k3+k4). Упражнение 4.5. Выяснить геометрический смысл перехода к следующей точке по формулам усовершенствованного метода Эйлера. Оценка точности в методах Рунге-Кутта второго и четвертого порядков на практике производится с помощью метода двойного счета, сформулированного в предыдущем параграфе. Упражнение 4.6. Выписать и объяснить формулы оценки точности в методах Рунге-Кутта второго и четвертого порядков. Поясним происхождение формул в методах Рунге-Кутта. Для получения закона вычисления значения Y(x) в каждой следующей точке поступают приблизительно так: выписывают разложение неизвестной функции в ряд Тейлора в точке Xi, как мы проделывали это выше, затем берут несколько первых членов этого разложения, и преобразуют полученную формулу Тейлора. После подставления Xi вместо переменной X и получают окончательное правило перехода к следующей точке. Легко убедиться, что при выписывании разложения в ряд Тейлора только до линейного члена и подстановки значения X мы получим формулу метода Эйлера, т.е. и он является частным случаем общих методов Рунге-Кутта. Пример 4.3. Применим формулы разобранных методов для нахождения значения функции Y(x) в точке 1, если эта функция удовлетворяет уравнению y'=y с начальным условием y(0)=1. При решении методом Эйлера (n=2) имеем: Y1=Y0+hf(X0,Y0)=1+0.5f(0,1)=1.5, Y(b)=Y2=Y1+hf(X1,Y1)=1.5+0.5f(0.5,1.5)=2.25. При решении методом Рунге-Кутта 2-го порядка (n=1) имеем: Z0=Y0+h/2*f(X0,Y0)=1+0.5f(0,1)=1.5, Y(b)=Y1=Y0+hf(X0+h/2,Z0)=1+f(0.5,1.5)=2.5. При решении методом Рунге-Кутта 4-го порядка (n=1) имеем: k1=h*f(X0,Y0)= 1*f(0,1)= 1 k2=h*f(X0+h/2,Y0+k1/2)= 1*f(0.5,1.5)= 1.5 k3=h*f(X0+h/2,Y0+k2/2)=1*f(0.5,1.75)=1.75 k4=h*f(X0+h,Y0+k3)= 1*f(1,2.75)=2.75 Y(b)=Y1=Y0+1/6*(k1+2k2+2k3+k4)=1+1/6*(1+3+3.5+2.75)=65/24 Упражнение 4.7. Найти точный ответ и сравнить погрешности, полученные при решении тремя различными методами. Контрольные вопросы. 1. Какие типы приближенных методов решения обыкновенных дифференциальных уравнений Вы знаете? Назовите по одному примеру каждого типа. 2. В чем суть метода Пикара? Объясните происхождение рекуррентной формулы метода. 3. В чем суть метода разложения функции Y(x) в ряд? 4. В чем суть метода Эйлера? Поясните графически. 5. Какова общая схема численных методов решения дифференциальных уравнений первого порядка? 6. Каков порядок точности при решении дифференциальных уравнений методами Эйлера, Рунге-Кутта второго и четвертого порядков? 7. Каким образом на практике следят за точностью при решении дифференциальных уравнений методами Рунге-Кутта второго и четвертого порядков? Обоснуйте этот способ. Содержание лабораторной работы. Постановка задачи: По заданному обыкновенному дифференциальному уравнению на фиксированном отрезке и значению искомой функции в левом конце определить значение в правом конце с требуемой точностью. Предварительная работа. 1. Для своего уравнения найти дома точное решение в заданных точках. 2. Найти методом Пикара третье приближение к решению своего уравнения, подставить заданные точки и найти погрешность. 3. С помощью метода разложения в ряд найти для своей задачи ответы с точностью 0.01. 4. Нарисовать для своей задачи с помощью метода Эйлера 5 звеньев ломаной, дающей представление об интегральной кривой. Порядок работы: 1.Ответить на вопросы контролирующей программы. 2.Ввести в ЭВМ и отладить программы для вычисления ответа тремя способами численного решения уравнений: методами Рунге-Кутта 1-го, 2-го и 4-го порядков. Отладку производить на уравнении y'=y с начальным условием y(0)=1 и правым концом отрезка, равным 1. 3.Исполнить программу для своего варианта и записать ответы. 4.Дополнить программу вычисления по формуле Рунге-Кутта 4-го порядка так, чтобы по введенному e она с помощью метода двойного счета выдавала результат с требуемой точностью. 5.Оформить и сдать работу. ОТЧЕТ должен содержать 1. название и цель работы, 2. домашнее исследование своей задачи методами Пикара, Эйлера и разложения в ряд. 3. тексты программ для всех трех методов, 4. ответы для своего варианта, точное аналитическое решение задачи.
|