Метод адамса решения дифференциальных уравнений доклад
Обновлено
Поделиться
Курсовая работа: Решение систем дифференциальных уравнений при помощи неявной схемы Адамса 3-го порядка
Название: Решение систем дифференциальных уравнений при помощи неявной схемы Адамса 3-го порядка Раздел: Рефераты по математике Тип: курсовая работа Добавлен 07:21:59 15 июня 2010 Похожие работы Просмотров: 722 Комментариев: 22 Оценило: 3 человек Средний балл: 5 Оценка: неизвестно Скачать
Кафедра вычислительной математики и программирования
Пояснительная записка к курсовому проекту
«Решение систем дифференциальных уравнений при
помощи неявной схемы Адамса 3-го порядка»
1. Постановка задачи
2. Описание математических методов решения
3. Описание используемого метода
4. Описание блок-схемы
5. Описание программы
6. Анализ результатов
Бурное развитие в последнее десятилетие информационных технологий и компьютерной техники способствует возникновению всё более сложных математических задач, для решения которых без применения численных методов требуется значительное время. Очень часто перед специалистом возникают задачи, не требующие абсолютно точного решения; как правило, требуется найти приближенное решение с заданной погрешностью. Наряду с совершенствованием компьютерной техники происходит процесс совершенствования и численных методов программирования, позволяющих за минимальный отрезок времени получить решение поставленной задачи с заданной степенью точности.
Одной из таких задач является решение систем дифференциальных уравнений. Обыкновенными дифференциальными уравнениями можно описать поведение материальных точек в силовом поле, законы химической кинетики, уравнения электрических цепей и т. д. Ряд физических задач может быть сведён к решению дифференциальных уравнений или системы дифференциальных уравнений. Задача решения системы дифференциальных уравнений имеет важное прикладное значение при решении научных и технических проблем. Кроме того, она является вспомогательной задачей при реализации многих алгоритмов вычислительной математики, математической физики, обработки результатов экспериментальных исследований. Поэтому для инженеров крайне важно грамотно находить решение этой задачи.
1. Постановка задачи
Необходимо решить с заданной степенью точности задачу Коши для системы дифференциальных уравнений на заданном интервале [a,b]. Добиться погрешности на втором конце не более 0,0001. Результат получить в виде таблицы значений приближенного и точного решений в точках заданного интервала. Построить графики полученных решений и сравнить их с точным решением.
– система дифференциальных уравнений вида:
– интервал, на котором ищется решение: [a,b]
– погрешность, с которой ищется решение: е
– формулировка задачи Коши в начальной точке заданного интервала: u(a)=u, v(a)=v
– количество узлов сетки, для которой формируется таблица значений приближенного и точного решений системы: nx
– шаг вывода на экран значений искомых функций в узлах заданной сетки: np
– таблица значений приближенного и точного решений в узлах заданной сетки;
– графики полученных и точных решений.
2. Описание математических методов решения задачи
Конкретная прикладная задача может привести к дифференциальному уравнению любого порядка или к системе таких уравнений. Произвольную систему дифференциальных уравнений любого порядка можно привести к некоторой эквивалентной системе дифференциальных уравнений первого порядка. Среди таких систем выделяют класс систем, разрешённых относительно производной неизвестных функций:
(2.1)
Дифференциальное уравнение или система дифференциальных уравнений имеет бесконечное множество решений. Единственные решения выделяют с помощью дополнительных условий, которым должны удовлетворять искомые решения. В зависимости от вида таких условий рассматривают три типа задач, для которых доказано существование и единственность решений.
Первый тип – это задачи Коши, или задачи с начальными условиями. Для таких задач кроме исходного уравнения в некоторой точке a должны быть заданы начальные условия, т.е. значения функции u1(a),…, um(a):
u1(a)=,…, um(a)= (2.2)
Ко второму типу задач относятся так называемые граничные, или краевые задачи, в которых дополнительные условия задаются в виде функциональных соотношений между искомыми решениями. Количество условий должно совпадать с порядком n уравнения или системы. Если решение задачи определяется в интервале xÎ[a,b], то такие условия могут быть заданы как на границах, так и внутри интервала.
Третий тип задач для систем дифференциальных уравнений – это задачи на собственные значения. Такие задачи отличаются тем, что кроме искомых функций u1(x),…, um(x) в уравнения входят дополнительно n неизвестных параметров l1 , l2 , . ln , которые называются собственными значениями. Для единственности решения на интервале [a,b] необходимо задать n + m граничных условий.
Рассмотрим подробнее задачу Коши. Воспользуемся компактной записью задачи (2.1), (2.2) в векторной форме:
(2.3)
Требуется найти на интервале [a,b].
Задачу Коши удобнее всего решать методом сеток. Метод сеток состоит в следующем :
1) Выбираем в области интегрирования упорядоченную систему точек a=x1
#pragma resource «*.dfm»
char *opz(char *); // ф-ия преобразования в обратную польскую запись;
double fpr(char *str,double u, double v,double x); // обратныйходпольской
Видео:Дифференциальные уравнения. Задача Коши. Метод Эйлера.Скачать
Задача Коши. Метод Адамса
Обращаем Ваше внимание, что в соответствии с Федеральным законом N 273-ФЗ «Об образовании в Российской Федерации» в организациях, осуществляющих образовательную деятельность, организовывается обучение и воспитание обучающихся с ОВЗ как совместно с другими обучающимися, так и в отдельных классах или группах.
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное образовательное учреждение высшего образования ‹‹Национальный исследовательский Нижегородский государственный университет
Кафедра кристаллографии и экспериментальной физики
ПО УЧЕБНОЙ ПРАКТИКЕ
студент 2 курса
г. Нижний Новгород
1.1 Задача Коши для обыкновенных дифференциальных уравнений первого порядка
1.2 Методы решения задачи Коши
1.3 Метод Адамса
2. Практическая часть
1.1 ЗАДАЧА КОШИ ДЛЯ ДИФФЕРЕНЦИАЛЬНОГО УРАВНЕНИЯ 1-ОГО ПОРЯДКА
Пусть дано обыкновенное дифференциальное уравнение первого порядка вида yfx,y, (1)
где f(x,y)непрерывная функция двух переменных и дифференцируемая по у. Решением данного уравнения называется функция y=(x) , непрерывно дифференцируемая на некотором конечном или бесконечном множестве и обращающая на нём данное уравнение в тождество (x)f(x,(x)).
Общее решение записывается в виде функции y (x,Cₒ) с произвольной числовой постоянной C .
Частное решение y(x,Cₒ) получается из общего решения при конкретном значении числового параметра CCₒ . Для выделения частного решения обычно ставится условие, которому должно удовлетворять это решение: у=yₒ при х=xₒ , которое называется начальным условием, а точка (хₒ,уₒ)– начальной точкой.
Задача Коши состоит в следующем: найти решение уравнения yfx,y в виде функции у(х), удовлетворяющей начальному условию: у(хₒ)=уₒ .
Геометрически это означает, что требуется найти интегральную кривую проходящую через заданную точку Мₒ(хₒ,уₒ) при выполнения равенства yfx,y.
1.2 МЕТОДЫ РЕШЕНИЯ ЗАДАЧИ КОШИ
Наиболее мощными и универсальными методами решения обыкновенных дифференциальных уравнений являются численные методы, позволяющие получать решения тогда, когда традиционные, классические, методы не помогают.
Среди численных методов решения обыкновенных дифференциальных уравнений одним из важнейших является метод конечных разностей.
Метод конечных разностей основывается:
1) на замене непрерывной области определения решения D дискретным множеством точек, называемым сеткой ω h ;
2) на замене непрерывных функций дискретными (сеточными), определенными на введенной сетке изменения аргумента;
3) на замене производных, входящих в уравнение, конечными разностями. В результате вместо дифференциального уравнения получается конечно-разностное уравнение, определенное в узлах разностной сетки. Решение его сводится к отысканию значений сеточной функции в узлах сетки.
Методы численного решения задачи Коши для обыкновенных дифференциальных уравнений разделяют на два класса:
1) одноступенчатые методы, использующие данные о решении только в одной точке;
2) многоступенчатые, или многошаговые, методы, не требующие много повторных вычислений функций f(x,у), использующие данные о решении в нескольких точках, что вынуждает применять одношаговые методы для запуска метода и при изменении шага интегрирования. Это методы прогноза-коррекции, Адамса и другие.
1.3 МЕТОД АДАМСА
Метод Адамса относится к методам, в которых вычисление вычисление искомой функции в точке х i+1 зависит от значения этой функции в предыдущих точках, например, x i—k , x i—k+1 . x i-1 , x i . Такие методы называются многошаговыми.
Для вычисления у i+1 нужно проинтегрировать обе части уравнения уꞌ= f ( x , y ) от x i до x i+1 :
Воспользуемся для разложения 2-ой интерполяционной формулой Ньютона, где q i = => x = hq i + x i => dx = hdq . Подставим получившиеся преобразования в (2) и преобразуем:
Формула y i+1 = y i + (3) называется расчётной формулой интерполяционного метода Адамса.
2. ПРАКТИЧЕСКАЯ ЧАСТЬ
Данную задачу мы решали с помощью метода Адамса через Рунге-Кутта.
рис.1. Первый блок программы
На рисунке 1 представлено начало программы. Первым делом мы задали функцию yꞌ = f ( x , y ).
n =100 — количество точек;
х= и y = — списки, состоящие из нулевых элементов. Задаём их именно так, чтобы не было накопления старых значений.
spic =<> — матрица из нулевых элементов х,у.
рис.2. Блок программы для расчёта х i
Рисунок 2: цикл For для расчёта i -ого элемента х, начиная с 1-ого и заканчивая n -ым ( n соответствует количеству точек).
AppendTo [ x , t ] — добавляет элемент t в конец списка х (список х модифицируется).
рис.3. Расчёт коэффициентов с помощью метода Рунге-Кутта
Метод Рунге-Кутта является одним из способов решения задачи Коши обыкновенных дифференциальных уравнений. Метод Адамса является сочетанием методов Эйлера и Рунге-Кутта.
Нахожу приближенные значения задачи Коши для с помощью метода Рунге-Кутта (коэффициента k 1 , k 2 , k 3 , k 4 ).
Цикл For начинается с первого, а заканчивается четвёртым элементом, так как мне нужно посчитать четыре коэффициента. Получила многочлен t . Так же добавляю полученный элемент t в конец списка у — за эту операцию отвечает функция AppendTo [ y , t ].
Сравнивая методы Рунге-Кутты четвертого порядка точности и метод Адамса при k=3так же четвертого порядка точности, видно, что на каждом шаге метод Адамса требует вычисления одного значения функции f(x,y), а метод Рунге-Кутты- четырех вычислений значений функции. Но, метод Рунге-Кутты не требует знания нескольких начальных значений и позволяет менять шаг следования точек в любой момент вычисления.
рис.4. Метод Адамса
Сам метод Адамса начинается с четвёртого элемента, а заканчивается n -ым ( n соответствует числу точек (последним)).
Следующим этапом программируем формулу (3) (п.1.3 ‹‹МЕТОД АДАМСА››).
Модифицируем список — добавляем посчитанные значения в конец списка у.
Делаем список t , состоящий из двух элементов х и у ( x [[ i ]], y [[ i ]])
Объединяем нулевой список с полученным.
рис.6. Проверка с помощью встроенной функции
Выполним проверку заданного уравнения с помощью встроенной функции DSolve (функция, которая применяется для решения обыкновенных дифференциальных уравнений, имеющих аналитические решения)
рис.7. Построение графиков
1. График состоящий из точек полученного списка из элементов x [[ i ]], y [[ i ]]. Сделаем эти точки розового цвета ( RGB С olor и номер цвета)
2. График проверки решения обыкновенных дифференциальных уравнений
3.Объединение двух графиков (1,2).
Для того, чтобы вывести результат решения дифференциального уравнения у’= f ( x ,у), нужно зажать клавиши Enter + Shift .
рис.8. График решения методом Адамса
На рисунке 8 изображен график решения уравнения f ( x ,у)= x +у (данная функция изображена на рис.1) методом Адамса.
Лабораторная работа по выч. математике №4 «Решение обыкновенных дифференциальных уравнений. Метод Адамса»
CАНКТ-ПЕТЕРБУРГСКИЙ НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ, МЕХАНИКИ И ОПТИКИ
Лабораторная работа по выч. математике №4
«Решение обыкновенных дифференциальных уравнений.
Выполнил: Припадчев Артём
Задание: составить подпрограмму для решения ОДУ первого порядка используя многошаговый метод Адамса. Разгонные точки вычислить методом Рунге-Кутта 4-го порядка. Вычисление правых частей реализовать отдельной подпрограммой. Найти решение заданного уравнения с точностью e, контролируя точность на каждом шаге вычислений, построить график решения.
Воспользовавшись хорошо зарекомендовавшей себя формулой Симпсона, можно получить еще более точную формулу для решения задачи Коши для ОДУ первого порядка — широко используемого в вычислительной практике метода Рунге-Кутты.
В формуле Симпсона для приближенного вычисления определенного интеграла используются значения подинтегрального выражения в трех точках. В интеграле их всего две, поэтому введем дополнительную точку в середине отрезка [xi+1 xi]
тогда можно переписать так:
Полученное выражение является неявным, так как в правой части содержатся еще не определенные значения функции yi+h/2 и yi+1. Чтобы воспользоваться этой формулой, надо использовать некоторое приближение для вычисления этих значений
При использовании различных методов приближенного вычисления этих величин, получаются выражения для методов Рунге-Кутты различного порядка точности.
Алгоритм Рунге-Кутты третьего порядка — РК3 (погрешность порядка h3):
(6.8)
Алгоритм Рунге-Кутты четвертого порядка — РК4 (погрешность порядка h4):
(6.9)
Алгоритмы третьего и четвертого порядков требуют на каждом шаге трех и четырех вычислений функции соответственно, но являются весьма точными.
Рассмотренный ранее метод Рунге-Кутты использует значение функции на одном предшествующем шаге, поэтому они относятся к так называемым одношаговым методам. Точность вычислений можно увеличить, если использовать при нахождении решения в некотором узле xi информацию о значениях функции, полученных в нескольких (k) предыдущих узлах сетки интегрирования (xi-1, xi-2 … xi-k).
Если используются значения в k предыдущих узлах, то говорят о k-шаговом методе интегрирования уравнения. Одним из способов построения многошаговых методов заключается в следующем. По значениям функции, вычисленным в k предшествующих узлах, строится интерполяционный полином степени (k-1) — , который используется при интегрировании дифференциального уравнения по выражению (6.3). Интеграл при этом выражается через квадратурную формулу:
,
где лl – квадратурные коэффициенты.
Очевидно, что при k=1 в качестве частного случая получается формула Эйлера. Значения квадратурных коэффициентов для k от 2 до 4 приведены в таблице.