КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Решение обыкновенных дифференциальных уравнений
Постановка задачи. Типы задач для ОДУ. Известно, что с помощью дифференциальных уравнений можно описать задачи движения системы взаимодействующих материальных точек, химической кинетики, электрических цепей, и др. Конкретная прикладная задача может приводить к дифференциальному уравнению любого порядка, или к системе уравнений любого порядка. Так как любое ОДУ порядка p u (p)(x) = f (x, u, u /, u //, … u (p+1)) заменой u (k)(x) = y k(x) можно свести к эквивалентной системе из p уравнений первого порядка, представленных в каноническом виде: y /k(x) = y k+1(x) для 0 ≤ k ≤ p –2 (1) y /p-1(x) = f (x, y 0, y 1, … y p–1), при этом y 0(x) ≡ u (x). (2) Покажем такое преобразование на примере уравнения Бесселя: Предполагая тождественную замену y 1(x) ≡ y (x) представим систему ОДУ в следующем виде:
Аналогично произвольную систему дифференциальных уравнений любого порядка можно заменить некоторой эквивалентной системой уравнений первого порядка. Следовательно, алгоритмы численного решения достаточно реализовать для решения системы дифференциальных уравнений первого порядка. Известно, что система p -го порядка имеет множество решений, которые в общем случае зависят от p параметров { C 1, C 2, … C p}. Для определения значений этих параметров, т.е. для выделения единственного решения необходимо наложить p дополнительных условий на u k(x). По способу задания условий различают три вида задач, для которых доказано существование и единственность решения. Это 1) Задача Коши. Задается координата u k(x 0) = u k0 начальной точки интегральной кривой в (p +1) – мерном пространстве (k = 1… p). Решение при этом требуется найти на некотором отрезке x 0 ≤ x ≤ x max . 2) Краевая задача. Это задача отыскания частного решения системы ОДУ на отрезке a ≤ x ≤ b, в которой дополнительные условия налагаются на значения функции u k(x) более чем в одной точке этого отрезка. 3) Задача на собственные значения. Кроме искомых функций и их производных в уравнение входят дополнительно m неизвестных параметров λ1, λ2, … λm, которые называются собственными значениями. Для единственности решения на некотором интервале необходимо задать p+m граничных условий. В большинстве случаев необходимость численного решения систем ОДУ возникает в случае, когда аналитическое решение найти либо невозможно, либо нерационально, а приближенное решение (в виде набора интерполирующих функций) не дает требуемой точности. Численное решение системы ОДУ, в отличие от двух вышеприведенных случаев, никогда не покажет общего решения системы, так как даст только таблицу значений неизвестных функций, удовлетворяющих начальным условиям. По этим значениям можно построить графики данных функций или рассчитать для некоторого x > x 0 соотвествующие u k(x), что обычно и требуется в физических или инженерных задачах. При этом требуется, чтобы соблюдались условия корректно поставленной задачи. Метод Эйлера (метод ломаных). Рассмотрим задачу Коши для уравнения первого порядка: u /(x) = f (x, u(x)), x 0 ≤ x ≤ x max, u (x 0) = u 0. (3) В окрестности точки x 0 функцию u (x) разложим в ряд Тейлора:
Пусть h – малое приращение аргумента. Тогда (4) превратится в
Так как в соответствии с (3) u /(x 0) = f (x 0, u 0), то Теперь приближенное решение в точке x 1 = x 0 + h можно вновь рассматривать как начальное условие, т.е. организуется расчет по следующей рекуррентной формуле:
где y 0 = u 0, а все y k – приближенные значения искомой функции (см. рисунок). В методе Эйлера происходит движение не по интегральной кривой, а по касательной к ней. На каждом шаге касательная находится уже для новой интегральной кривой (что и дало название методу – метод ломаных), таким образом ошибка будет возрастать с отдалением x от x 0. При Метод Эйлера легко обобщается для систем ОДУ. При этом общая схема процесса (5) может быть записана так:
где i = 1…m – число уравнений, k – номер предыдущей вычисленной точки.
Усовершенствованный метод Эйлера-Коши с уточнением. Данный метод базируется на предыдущем, однако здесь апостериорная погрешность контролируется на каждом шаге вычисления. Как и в предыдущем случае, рассматриваем задачу Коши на сетке с постоянным шагом h. Грубое значение
где m – номер итерации. Итерационный цикл повторяется до тех пор, пока
Блок-схема метода Эйлера-Коши с уточнением.
Метод Рунге-Кутты II порядка. Увеличение точности решения ОДУ из предыдущей задачи при заданном шаге h может быть достигнуто учетом большего количества членов разложения функции в ряд Тейлора. Для метода Рунге-Кутты второго порядка следует взять три первых коэффициента, т.е. обеспечить:
Переходя к приближенному решению y ≈ u и заменяя производные в (8) конечными разностями, получаем в итоге следующее выражение:
где 0 ≤ α ≤ 1– свободный параметр. Можно показать, что если f (x, u) непрерывна и ограничена вместе со своими вторыми производными, то решение, полученное по данной схеме, равномерно сходится к точному решению с погрешностью порядка h 2.
Для параметра α наиболее часто используют следующие значения: 1)
2) α = ½. В этом случае
Метод Рунге-Кутты IV порядка. Данная схема является наиболее употребительной. Здесь в разложении функции в ряд Тейлора учитываются члены до h 4 включительно, т.е. погрешность на каждом шаге пропорциональна h 5. Для практических вычислений используются следующие соотношения, обобщенные в данном случае на решение системы ОДУ:
К достоинствам метода следует отнести высокую точность вычислений. Схемы более высокого порядка точности практически не употребляются в силу своей громоздкости. Также немаловажно, что метод является явным, т.е. значение y k+1 вычисляется по ранее найденным значениям за известное заранее число действий. Все представленные выше схемы допускают расчет с переменным шагом. Например, шаг можно уменьшить там, где функция быстро изменяется, и увеличить в обратном случае. Так, метод Рунге-Кутты-Мерсона позволяет оценивать погрешность на каждом шаге и, в зависимости от полученной оценки принимать решение об изменении шага. Автоматический выбор шага позволяет значительно сократить время вычислений. Метод Рунге – Кутта - Мерсона. Этот метод отличается от метода Рунге – Кутта четвертого порядка возможностью оценивать погрешность на каждом шаге и в зависимости от этого принимать решение об изменении шага. Один из вариантов формул:
Rn+1 = 0.2k4 – 0.3k3 – 0.1k5 - погрешность на каждом шаге.
Пусть задана максимальна погрешность
Автоматический выбор шага позволяет значительно сократить время решения ОДУ. Схема РКМ обобщается на системы ОДУ аналогично классической схеме Рунге – Кутта.
Метод Адамса. Метод основан на аппроксимации интерполяционными полиномами правых частей ОДУ. Пусть с помощью любого из методов, рассмотренных выше, вычислено решение заданного дифференциального уравнения в точках x 1, x 2, x 3 (а в точке x 0 решение и так известно – поставлена задача Коши). Полученные значения функции обозначим как y 0, y 1, y 2, y 3, а значения правой части дифференциального уравнения как f 0, f 1, f 2, f 3, где f k = f (x k, y k). Начиная с четвертой точки, на каждом шаге интегрирования дифференциального уравнения вычисления осуществляются по схеме P(EC){m}E где P – прогноз решения; Е – вычисление f(x,y); С – коррекция решения; m – количество итераций коррекции. Схемы такого типа называют «прогноз-коррекция»: это подразумевает сначала приблизительное вычисление решение по формуле низкого порядка, а затем уточнение с учетом полученной информации о поведении интегральной кривой. Прогноз осуществляется по экстраполяционной формуле Адамса:
Коррекция осуществляется по интерполяционной формуле Адамса:
Вычисление осуществляется по формуле:
Количество итераций m ≤ p, где p – порядок используемого метода. В ходе каждой итерации решается нелинейное уравнение (11) относительно неизвестной y 4 (обычно методом простых итераций). Иногда в методе Адамса используется схеме PECE на каждом шаге процесса интегрирования, т.е. осуществляется только одна коррекция. В силу сложности вычислений метод используется только в мощных программных пакетах численного анализа. Формулы метода также легко переносятся на решение систем ОДУ первого порядка.
Постановка краевой задачи. Метод стрельбы. Краевая задача – задача отыскания частного решения системы
Найти точное решение краевой задачи в элементарных функциях удается редко: для этого надо найти общее решение системы (12) и суметь явно определить из краевых условий значения входящих в него постоянных. Одним из методов, предполагающих численное решение поставленной задачи, является метод стрельбы, в котором краевая задача для системы (12) сводится к задаче Коши для той же системы. Рассмотрим систему двух дифференциальных уравнений первого порядка
с краевыми условиями
Сначала выберем некоторое значение
Теперь мы должны каким-либо способом менять параметр Если это осуществилось, пара таких значений определяет интервал
Решение уравнений в частных производных. К уравнениям в частных производных приводят задачи газодинамики, теплопроводности, переноса излучения, электромагнитных полей, процессов переноса в газах, и др. Независимыми переменными в физических задачах обычно являются время t, координаты
где U – температура, Для решения дифференциальных уравнений в частных производных применяется сеточный метод, суть которого – в разбиении области, в которой ищется решение, сеткой узлов заданной конфигурации, после чего составляется разностная схема уравнения и находится его решение, например методом разностной аппроксимации. Рассмотрим в качестве примера одномерную задачу, близкую по смыслу к (17):
Здесь 0 ≤ x ≤ a, 0 ≤ t ≤ T. Граничные условия:
Для одной и той же задачи можно составить много разностных схем. Метод разностной аппроксимации заключается в том, что каждая производная, входящая в дифференциальное уравнение и краевые условия, заменяется разностным выражением, включающим в себя только значения в узлах сетки. Введем равномерную прямоугольную сетку по x и t с шагом h и τ соответственно и заменить производные соответствующими разностными отношениями. Тогда
Здесь 1 ≤ k ≤ N -1 – число точек по координате x; 0 ≤ m ≤ M – число точек по координате t. Число неизвестных в (19) больше числа уравнений, недостающие уравнения выводятся из начальных и граничных условий:
Схема (19) содержит в каждом уравнении несколько неизвестных значений функции. Такие схемы называют неявными. Для фактического вычисления решения следует переписать схему так:
Теперь схема представляет собой систему линейных уравнений для определения величин
Другим вариантом решения сеточной задачи является использование интегро-интерполяционных методов (методов баланса), в которых дифференциальное уравнение интегрируют по ячейке сетки, приближенно вычисляя интегралы по квадратурным формулам. Приложение 1. Случайные величины в компьютерном моделировании. Параметры случайных величин. Величину ξ называют случайной с плотностью распределения ρ(x), если вероятность того, что величина примет значения между x 1 и x 2, равна Псевдослучайные распределения. Иллюстрация возможностей Mathcad.
Моделирование броуновского движения в системе MathLab. Литература
Во всех делах твоих помни о конце твоем и во век не согрешишь. Библия, “Книга Премудрости
Дата добавления: 2014-01-07; Просмотров: 1129; Нарушение авторских прав?; Мы поможем в написании вашей работы! |