Обыкновенные дифференциальные уравнения Обыкновенные дифференциальные уравнения Дифференциальные уравнения
Обыкновенные дифференциальные уравнения
Обыкновенные дифференциальные уравнения Дифференциальные уравнения — это уравнения, в которых неизвестными являются не переменные (т. е. числа), а функции одной или нескольких переменных. Эти уравнения (или системы) включают соотношения между искомыми функциями и их производными. Если в уравнения входят производные только по одной переменной, то они называются обыкновенным дифференциальными уравнениями (далее ОДУ). В противном случае говорят об уравнениях в частных производных.
Обыкновенные дифференциальные уравнения Решить дифференциальное уравнение — значит, определить неизвестную функцию на определенном интервале изменения ее переменных. Одно обыкновенное дифференциальное уравнение или система ОДУ имеет единственное решение, если помимо уравнения определенным образом заданы начальные и граничные условия. В соответствующих курсах высшей математики доказываются теоремы о существовании и единственности решения в зависимости от тех или иных условий.
Обыкновенные дифференциальные уравнения Имеются два типа задач, которые возможно решать с помощью Mathcad: задачи Коши, для которых определены начальные условия на искомой функции, т. е. заданы значения этих функций в начальной точке интервала интегрирования уравнения; краевые задачи, для которых заданы определенные соотношения сразу на обеих границах интервала, а также задачи на собственные значения
Обыкновенные дифференциальные уравнения Как правило, решение задач Коши для ОДУ и их систем — задача хорошо разработанная и с вычислительной точки зрения не слишком сложная. Между тем, имеется целый класс ОДУ, называемых жесткими, который не поддается решению стандартными методами, типа методов Рунге—Кутты. Для них в Mathcad имеются специальные возможности.
ОДУ первого порядка Дифференциальное уравнение первого порядка может по определению содержать помимо самой искомой функции y(t) только ее первую производную у' (t). В подавляющем большинстве случаев дифференциальное уравнение можно записать в стандартной форме (форме Коши): И только с такой формой умеет работать вычислительный процессор Mathcad.
ОДУ первого порядка Правильная с математической точки зрения постановка соответствующей задачи Коши для ОДУ первого порядка должна, помимо самого уравнения, содержать одно начальное условие — значение функции у (t0) в некоторой точке t0. Требуется явно определить функцию y(t) на интервале от t0 до t1. По характеру постановки задачи Коши называют еще задачами с начальными условиями (initial value problem), в отличие от краевых задач.
ОДУ первого порядка Для численного интегрирования одного ОДУ у пользователя Mathcad имеется выбор — либо использовать вычислительный блок Given/Оdesolve, либо встроенные функции, как в прежних версиях Mathcad. Первый путь предпочтительнее из соображений наглядности представления задачи и результатов, а второй дает пользователю больше рычагов воздействия на параметры численного метода.
ОДУ первого порядка Вычислительный блок для решения одного ОДУ, реализующий численный метод Рунге—Кутты, состоит из трех частей: Given - ключевое слово; ОДУ и начальное условие, записанное с помощью логических операторов, причем начальное условие должно быть в форме у (to) = b; Odesolve(t,t1) — встроенная функция для решения ОДУ относительно переменной t на интервале (to,t1).
ОДУ первого порядка Допустимо, и даже часто предпочтительнее, задание функции Odesolve (t, t1,step) с тремя параметрами, где step— внутренний параметр численного метода, определяющий количество шагов, в которых метод Рунге—Кутты будет рассчитывать решение дифференциального уравнения. Чем меньше step, тем с лучшей точностью будет получен результат, но тем больше времени будет затрачено на его поиск. Помните, что подбором этого параметра можно заметно (в несколько раз) ускорить расчеты без существенного ухудшения их точности.
ОДУ первого порядка Вставлять логические операторы следует при помощи панели инструментов Boolean (Булевы операторы). Mathcad требует, чтобы конечная точка интегрирования ОДУ лежала правее начальной: to < t1, иначе будет выдано сообщение об ошибке. Пользователь имеет возможность выбирать между двумя модификациями численного метода Рунге—Кутты. Для смены метода необходимо нажатием правой кнопки мыши на области функции Оdesolve вызвать контекстное меню и выбрать в нем один из пунктов: Fixed (Фиксированный шаг), Stiff (Для жестких ОДУ) или Adaptive (Адаптивный). По умолчанию применяется первый из них, т. е. метод Рунге—Кутты с фиксированным шагом.
ОДУ первого порядка
ОДУ первого порядка Альтернативный метод решения ОДУ перешел из прежних версий Mathcad. Он заключается в использовании одной из встроенных функций: rkfixed, Rcadapt или Buistoer. Этот способ несколько проигрывает первому и в простоте, и в наглядности. Однако иногда приходится решать ОДУ первого порядка с помощью второго способа, например, при следующих обстоятельствах: вы работаете одновременно с более старыми версиями Mathcad и хотите, чтобы ваши документы воспринимались каждой из них корректно;
ОДУ первого порядка одно ОДУ решается в контексте решения более сложных задач, в которые входят системы дифференциальных уравнений (для которых вычислительный блок неприменим) — в этом случае может потребоваться единый стиль программирования; ответ предпочтительнее получить в виде вектора, а не функции; вы привыкли к записи ОДУ в старых версиях Mathcad, у вас много документов, созданных с их помощью
ОДУ первого порядка
ОДУ высшего порядка Обыкновенное дифференциальное уравнение с неизвестной функцией y(t), в которое входят производные этой функции вплоть до y(N) (t), называете ОДУ n-го порядка. Если имеется такое уравнение, то для корректной постановки задачи Коши требуется задать N начальных условий на саму функцию y(t) и ее производные от первого до (N-1)-гo порядка включительно. В Mathcad можно решать ОДУ высших порядков как с помощью вычислительного блока Given/Оdesoive, так и путем сведения их к системам уравнений первого порядка.
ОДУ высшего порядка Внутри вычислительного блока: ОДУ должно быть линейно относительно старшей производной, т. е фактически должно быть поставлено в стандартной форме; начальные условия должны иметь форму y(t) = b или y(N) (t) = b, а не более сложную (как например, встречающаяся в некоторых математических приложениях форма y(t) + y' (t) = b). В остальном решение ОДУ высших порядков ничем не отличается от решения уравнений первого порядка.
Системы ОДУ первого порядка Mathcad требует, чтобы система дифференциальных уравнений была представлена в стандартной форме:
Системы ОДУ первого порядка Задание системы эквивалентно следующему векторному представлению: Y' (t)=F(Y(t),t), где y и y’ — соответствующие неизвестные векторные функции переменной t размера n x 1, a f — векторная функция того же размера и (N+1) количества переменных (n компонентов вектора и, возможно, t). Именно векторное; представление используется для ввода системы ОДУ в среде Mathcad.
Системы ОДУ первого порядка Для того чтобы определить задачу Коши для системы ОДУ, следует определить еще n начальных условий, задающих значение каждой из функций yi(to) в начальной точке интегрирования системы to. В векторной форме они могут быть записаны в виде где В — вектор начальных условий размера N х 1, составленный из yi (to).
Системы ОДУ первого порядка В Mathcad имеются три встроенные функции, которые позволяют решать поставленную задачу Коши различными численными методами. rkfixed (yO,to,t1,M, d) — метод Рунге—Кутты с фиксированным шагом; Rkadapt (yO,to, t1, M, d) — метод Рунге—Кутты с переменным шагом; Buistoer (yO,tO,t1,M,D) —метод Булирша—Штера, где:
Системы ОДУ первого порядка у0 — вектор начальных значений в точке t0 размера n x 1; t0 — начальная точка расчета; t1— конечная точка расчета; М — число шагов, на которых численный метод находит решение; d — векторная функция размера n x 1 двух аргументов — скалярного t и векторного у. При этом у — искомая векторная функция аргумента t того же размера n x 1.
Системы ОДУ первого порядка Каждая из приведенных функций выдает решение в виде матрицы размером (m+1)x(n+1). В ее левом столбце находятся значения аргумента t, делящие интервал на равномерные шаги, а в остальных n столбцах — значения искомых функций yo(t), y1(t), ..., yN-1(t), рассчитанные для этих значений аргумента. Поскольку всего точек (помимо начальной) м, то строк в матрице решения будет всего м + 1.
Системы ОДУ первого порядка Не забывайте, что векторную функцию D(t,y) следует определять через компоненты вектора у с помощью кнопки нижнего индекса (Subscript) с наборной панели Calculator (Калькулятор) или нажатием клавиши <[>
Системы ОДУ первого порядка
Системы ОДУ первого порядка
Системы ОДУ первого порядка
Численное интегрирование Численное интегрирование (историческое название: квадратура) — вычисление значения определённого интеграла (как правило, приближённое), основанное на том, что величина интеграла численно равна площади криволинейной трапеции, ограниченной осью абсцисс, графиком функции и отрезками прямых x=a и x=b, где a и b — пределы интегрирования.
Численное интегрирование Необходимость применения численного интегрирования чаще всего может быть вызвана отсутствием у первообразной функции представления в элементарных функциях и, следовательно, невозможностью аналитического вычисления значения определённого интеграла по формуле Ньютона-Лейбница. Также возможна ситуация, когда вид первообразной настолько сложен, что быстрее вычислить значение интеграла численным методом.
Численное интегрирование Пусть требуется вычислить определенный интеграл при условии, что A и B конечны и f(x) является непрерывной функцией x во всем интервале A < x < B. Значение интеграла I представляет собой площадь, ограниченную кривой f(x),осью x и прямыми x=A, x=B. Вычисление I проводится путем разбиения интервала от A до B на множество меньших интервалов, приближенным нахождением площади каждой полоски, получающейся при таком разбиении, и дальнейшем суммировании площадей этих полосок.
Численное интегрирование Суть методов численного интегрирования состоит в замене подынтегральной функции f(x) вспомогательной, интеграл от которой легко вычисляется в элементарных функциях. Обычно f(x) заменяется некоторым интерполяционным многочленом, что приводит к квадратурным формулам: где xi - узлы интерполяции; i - произвольный номер узла; Ci - коэффициенты; R - остаточный член или погрешность метода. Неучет (отбрасывание) R приводит к погрешности усечения. К этим погрешностям в процессе вычислений добавляются погрешности округления.
Метод прямоугольников Идея численного интегрирования предельно проста и вытекает из геометрического смысла определенного интеграла – значение определенного интеграла численно равно площади криволинейной трапеции, ограниченной графиком функции y=f(x), осью абсцисс и прямыми х=а, х=b. Находя приближенно площадь криволинейной трапеции, мы получаем значение интеграла. Формально процедура численного интегрирования заключается в том, что отрезок [а, b] разбивается на n частичных отрезков, а затем подинтегральная функция заменяется на нем легко интегрируемой функцией, по определенной зависимости интерполирующей значения подинтегральной функции в точках разбиения. Рассмотрим теперь простейшие из численных методов интегрирования.
Метод прямоугольников Итак, функция у=f(x) интегрируема на сегменте [a,b] и требуется вычислить ее интеграл . Составим интегральную сумму для f(x) на сегменте [a,b] . Для этого разобьем сегмент [a,b] на n равных между собой частей с помощью точек: x1, x2, … , xk, … , xn-1. Если длину каждой части мы обозначим через х, так что , то для каждой точки xk будем иметь: (k=0, 1, 2, …, n). Обозначим теперь через yk значение подынтегральной функции f(x) при то есть положим (k=0, 1, …, n).
Тогда суммы будут интегральными для функции f(x) на отрезке [a,b]. (При составлении первой суммы мы рассматриваем значения функции y=f(x) в точках, являющихся левыми концами частичных сегментов, а при составлении второй суммы – в точках, являющихся правыми концами этих сегментов.)
Метод прямоугольников По определению интеграла имеем: и поэтому в качестве приближенного значения естественно взять интегральную сумму т.е. положить: а также
Метод прямоугольников (1) (1*)
Метод прямоугольников В том случае, когда f(x) 0, формулы (1) и (1’) с геометрической точки зрения означают, что площадь криволинейной трапеции aABb, ограниченной дугой кривой y=f(x), осью Ох и прямыми х=а и х=b, принимается приближенно равной площади ступенчатой фигуры, образованной из n прямоугольников с основаниями и высотами: y0, y1, y2, …, yn-1 – в случае формулы (1) (рис.8) и y1, y2, y3, …, yn – в случае формулы (1') (рис.9).
Метод прямоугольников
Метод прямоугольников Исходя из приведенного выше геометрического смысла формул (1) и (1') способ приближенного вычисления определенного интеграла по этим формулам принято называть методом прямоугольников. Всякое приближенное вычисление имеет определенную ценность лишь тогда, когда оно сопровождается оценкой допущенной при этом погрешности. Поэтому формулы прямоугольников будут практически пригодны для приближенного вычисления интегралов лишь в том случае, если будет существовать удобный способ оценки получающейся при этом погрешности (при заданном n), позволяющий к тому же находить и число частей n разбиения сегмента, гарантирующее требуемую степень точности приближенного вычисления. Метод прямоугольников – это наиболее простой и вместе с тем наиболее грубый метод приближенного интегрирования. Заметно меньшую погрешность дает другой метод – метод трапеций.
Метод трапеций Очевидно, что чем больше будет число n отрезков разбиения, тем более точный результат дадут формулы. Однако увеличение числа отрезков разбиения промежутка интегрирования не всегда возможно. Поэтому большой интерес представляют формулы, дающие более точные результаты при том же числе точек разбиения. Простейшая из таких формул получается как среднее арифметическое правых частей формул (1) и (1'): (4)
Метод трапеций Легко усмотреть геометрический смысл этой формулы. Если на каждом отрезке разбиения дугу графика подинтегральной функции y=f(x) заменить стягивающей ее хордой (линейная интерполяция), то мы получим трапецию, площадь которой равна и следовательно, формула (4) представляет собой площадь фигуры, состоящей из таких трапеций (рис.10) . Из геометрических соображений понятно, что площадь такой фигуры будет, вообще говоря, более точно выражать площадь криволинейной трапеции, нежели площадь ступенчатой фигуры, рассматриваемая в методе прямоугольников.
Метод трапеций
Метод трапеций
Метод парабол (метод Симпсона) Значительное повышение точности приближенных формул может быть достигнуто за счет повышения порядка интерполяции. Одним из таких методов приближенного интегрирования является метод парабол. Идея метода исходит из того, что на частичном промежутке дуга некоторой параболы в общем случае теснее прилегает к кривой y=f(x), чем хорда, соединяющая концы дуги этой кривой, и поэтому значения площадей соответствующих элементарных трапеций, ограниченных “сверху” дугами парабол, являются более близкими к значениям площадей соответствующих частичных криволинейных трапеций, ограниченных сверху дугой кривой y=f(x), чем значения площадей соответствующих прямолинейных трапеций.
Метод парабол (метод Симпсона) Сущность метода заключается в следующем. Отрезок [a,b] делится на 2n равных частей. Пусть точки деления будут х0=а, x1, x2, …x2n-2, x2n-1, x2n=b, а y0, y1, …y2n – соответствующие значения подинтегральной функции на отрезке [a,b]. Произведем квадратичную интерполяцию данной подинтегральной функции на каждом из отрезков разбиения (заменим дугу графика подинтегральной функции дугой параболы с вертикальной осью) (рис.11).
Метод парабол (метод Симпсона)
Метод парабол (метод Симпсона)
119-obyknovennye_differencialynye_uravneniya.ppt
- Количество слайдов: 47