1.
ЗАДАЧА КОШИ
1.1
ЗАДАЧА КОШИ ДЛЯ ДИФФЕРЕНЦИАЛЬНОГО УРАВНЕНИЯ 1-ОГО ПОРЯДКА
Пусть дано обыкновенное дифференциальное уравнение первого порядка вида y¢=f(x,y),
(1)
где
f(x,y)-непрерывная функция двух переменных и
дифференцируемая по у. Решением данного уравнения называется функция y=j(x)
, непрерывно дифференцируемая на некотором конечном или бесконечном множестве и
обращающая на нём данное уравнение в тождество j¢(x)=f(x,j(x)).
Общее решение записывается в виде функции y =j(x,Cₒ)
с произвольной числовой постоянной C .
Частное решение y=j(x,Cₒ) получается из
общего решения при конкретном значении числового параметра C=Cₒ
. Для выделения частного решения обычно ставится условие, которому должно
удовлетворять это решение: у=yₒ при х=xₒ , которое называется начальным условием,
а точка (хₒ,уₒ)– начальной точкой.
Задача Коши состоит в следующем: найти решение
уравнения y¢=f(x,y) в виде функции у(х), удовлетворяющей начальному условию: у(хₒ)=уₒ.
Геометрически это означает, что требуется найти интегральную кривую проходящую
через заданную точку Мₒ(хₒ,уₒ) при выполнения равенства y¢=f(x,y).
1.2
МЕТОДЫ РЕШЕНИЯ ЗАДАЧИ КОШИ
Наиболее мощными и универсальными методами решения обыкновенных дифференциальных
уравнений являются численные методы, позволяющие получать решения тогда, когда
традиционные, классические, методы не помогают.
Среди численных методов решения обыкновенных дифференциальных уравнений одним
из важнейших является метод конечных разностей.
Метод
конечных разностей основывается:
1) на замене непрерывной области определения решения D дискретным множеством
точек, называемым сеткой ωh;
2) на замене непрерывных функций дискретными (сеточными), определенными на
введенной сетке изменения аргумента;
3) на
замене производных, входящих в уравнение, конечными разностями. В результате
вместо дифференциального уравнения получается конечно-разностное уравнение,
определенное в узлах разностной сетки. Решение его сводится к отысканию
значений сеточной функции в узлах сетки.
Методы
численного решения задачи Коши для обыкновенных дифференциальных уравнений
разделяют на два класса:
1)
одноступенчатые методы, использующие данные о решении только в одной точке;
2)
многоступенчатые, или многошаговые, методы, не требующие много повторных
вычислений функций f(x,у), использующие данные о решении в нескольких точках,
что вынуждает применять одношаговые методы для запуска метода и при изменении
шага интегрирования. Это методы прогноза-коррекции, Адамса и другие.
1.3
МЕТОД АДАМСА
Метод Адамса относится к методам, в которых вычисление вычисление искомой
функции в точке хi+1
зависит от значения этой функции в предыдущих точках,
например, xi-k,
xi-k+1,...,xi-1,
xi.
Такие методы называются многошаговыми.
Пусть каким-либо одношаговым методом в точках xi-k,
xi-k+1,...,xi вычислены соответственно значения yi-k,
yi-k+1,...,yi,
следовательно можно считать известными fi-k,
fi-k+1,...,fi,
где yi=y(xi),
fi=f(xi,yi),
f(x,y)-функция
уравнения yꞌ=f(x,y).
Для вычисления уi+1
нужно проинтегрировать обе части уравнения уꞌ=f(x,y)
от xi до xi+1:
∆yi=.
(2)
Воспользуемся для разложения 2-ой интерполяционной формулой Ньютона, где qi=
=> x=hqi+xi
=> dx=hdq.
Подставим получившиеся преобразования в (2) и преобразуем:
yꞌ=yꞌi+q∆yꞌi-1+∆2yꞌi-2
+∆3yꞌi-3+...=yꞌi+q∆yꞌi-1+
∆2yꞌi-2+∆3yꞌi-3
- интерполяционный полином Ньютона
∆yi=h=hyꞌi+
∆yi=yi+1-yi,
yi+1=yi+∆yi
Формула
yi+1=yi+
(3) называется расчётной формулой интерполяционного метода Адамса.
2.
ПРАКТИЧЕСКАЯ ЧАСТЬ
Данную
задачу мы решали с помощью метода Адамса через Рунге-Кутта.
рис.1.
Первый блок программы
На рисунке 1 представлено начало программы. Первым делом мы задали функцию yꞌ=f(x,y).
n=100 - количество
точек;
h=0.1 - шаг
х={0}
и y={0} -
списки, состоящие из нулевых элементов. Задаём их именно так, чтобы не было
накопления старых значений.
spic={{0,0}} -
матрица из нулевых элементов х,у.
рис.2.
Блок программы для расчёта хi
Рисунок 2: цикл For для
расчёта i-ого
элемента х, начиная с 1-ого и заканчивая n-ым (n соответствует
количеству точек).
AppendTo[x,t] -
добавляет элемент t в конец
списка х (список х модифицируется).
рис.3.
Расчёт коэффициентов с помощью метода Рунге-Кутта
Метод Рунге-Кутта является одним из способов решения задачи Коши обыкновенных
дифференциальных уравнений. Метод Адамса является сочетанием методов Эйлера и
Рунге-Кутта.
Нахожу приближенные значения задачи Коши для с помощью метода Рунге-Кутта
(коэффициента k1,k2,k3,k4).
Цикл For
начинается с первого, а заканчивается четвёртым элементом, так как мне нужно
посчитать четыре коэффициента. Получила многочлен t. Так же
добавляю полученный элемент t в конец списка у - за эту операцию
отвечает функция AppendTo[y,t].
Сравнивая методы Рунге-Кутты четвертого порядка точности и метод Адамса при k=3так
же четвертого порядка точности, видно, что на каждом шаге метод Адамса требует
вычисления одного значения функции f(x,y), а метод Рунге-Кутты- четырех
вычислений значений функции. Но, метод Рунге-Кутты не требует знания нескольких
начальных значений и позволяет менять шаг следования точек в любой момент
вычисления.
рис.4.
Метод Адамса
Сам метод Адамса начинается с четвёртого элемента, а заканчивается n-ым (n
соответствует числу точек (последним)).
Следующим
этапом программируем формулу (3) (п.1.3 ‹‹МЕТОД АДАМСА››).
Модифицируем список - добавляем посчитанные значения в конец списка у.
рис.5.
Список
Делаем список 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) методом Адамса.
рис.9.
График проверки обыкновенных дифференциальных уравнений
На рисунке 9 изображен график решения дифференциального уравнения с помощью
встроенной функции.
рис.10.
Объединение двух графиков (8,9)
Объединяем график проверки решения дифференциального уравнения и график решения
уравнения методом Адамса.
3.ВЫВОД
Метод Адамса отличается от метода Рунге-Кутта тем, что для вычисления
очередного значения искомого решения используется не одно, а несколько
значений, которые уже вычислены в предыдущих точках
Мы решали
дифференциальное уравнение методом Адамса. При вычислении и построении графика
решения дифференциального уравнение с помощью встроенной функции и графика
решения функции с помощью метода Адамса мы видим, что они совпали и лежат на
одной кривой.
Метод Адамса является
более универсальным и точным.
4. ЛИТЕРАТУРА
1. Муравьёв В.А., Бурланков Д.Е.
- Практическое введение в пакет Mathematica: учеб. пособие. Н.Новгород, Издательство Нижегородского госуниверситета,
2010
2. Демидович Б.П., Марков И.А.,
Шувалова Э.З. Численные методы анализа. Приближение функций, дифференциальные
интегральные уравнения. С-Пб.: Лань, 2010.
3. Марков К.А., Фаддеев М.А.,
Хомицкий Д.В. - Избранные методы решения обыкновенных дифференциальных
уравнений для физиков: учеб. пособие для студентов, обучающихся по направлениям
подготовки 03.03.02 "Физика", 11.03.04 "Электроника и
наноэлектроника", 28.03.01 "Нанотехнологии и микросистемная
техника", 09.03.02 "Информ. системы и технологии". Н.Новгород,
изд-во ННГУ, 2015, 261.с.
4. Мостовской А.П. - Численные
методы и система Mathematica: учеб. пособие. Мурманск: 2009.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.