Matlab  |  Mathcad  |  Maple  |  Mathematica  |  Statistica  |  Другие пакеты
Internet-класс  |  Примеры  |  Методики  |  Банк задач  |  Консультации & Форум  |  Download  |  Ссылки  |  Конкурсы
Mathcad-справочник по высшей математике
 
Обыкновенные дифференциальные уравнения в среде пакета Mathcad

Для решения дифференциальных уравнений Mathcad предоставляет пользователю библиотеку встроенных функций Differential Equation Solving, предназначенных для численного решения дифференциальных уравнений.

  • Встроенная функция odesolve (Mathcad 2000), предназначенная для решения дифференциальных уравнений, линейных относительно старшей производной (наиболее проста в использовании).
подробная информация о функции odesolve,
примеры
  • Встроенные функции, предназначенные для решения задачи Коши и граничных задач для систем обыкновенных дифференциальных уравнений в нормальной форме.
подробная информация о функциях,
примеры

ODESOLVE

Встроенная функция odesolve предназначена для решения дифференциальных уравнений, линейных относительно старшей производной. В отличие от других функций библиотеки Differential Equation Solving, odesolve решает дифференциальные уравнения, записанные в общепринятом в математической литературе виде.

  • Функция odesolve решает для уравнений вида
    a(x) y(n) + F(x, y, y' , ..., y(n-1) )=f(x)
    задачу Коши
    y(x0 )=y0 , y'(x0 )=y0,1 , y''(x0 )=y0,2 , ..., y(n-1)(x0 )=y0,n-1
    или простейшую граничную задачу
    y(k) (a)=ya,k , y(m) (b)=yb,k , 0<= k<= n-1, 0<= m<= n-1.
  • Функция odesolve решает поставленную задачу методом Рунге-Кутты с фиксированным шагом. Для решения задачи методом Рунге-Кутты с автоматическим выбором шага нужно щелкнуть в рабочем документе по имени функции правой кнопкой мыши и пометить во всплывающем меню пункт Adaptive
  • Обращение к функции имеет вид
    Y:=odesolve(x,b,step) или Y:=odesolve(x,b),
    где Y - имя функции, содержащей значения найденного решения, x — переменная интегрирования, b — конец промежутка интегрирования, step — шаг, который используется при интегрировании уравнения методом Рунге-Кутты.
  • Перед обращением к функции odesolve необходимо записать ключевое слово Given, затем ввести уравнение и начальные либо граничные условия. При вводе уравнения и условий задачи используется знак символьного равенства (<Ctrl>+<=>), а для записи производных можно использовать как оператор дифференцирования, так и знак производной, например, вторую производную можно вводить в виде m15.gif (994 bytes)  или в виде y''(x). При этом необходимо обязательно записывать аргумент искомой функции.
  • Для того чтобы вывести в рабочий документ значения решения в любой точке промежутка интегрирования, достаточно ввести имя функции Y, указать в скобках значение аргумента и знак равенства.
  • Значения решения в любой точке промежутка интегрирования можно использовать в дальнейших вычислениях, достаточно ввести в нужном месте имя функции Y, указав в скобках значение аргумента.

Полную информацию о правилах использования функции odesolve можно получить во встроенном справочнике Mathcad в разделе Overview fnd Tutorials.

Пример 1. Решение задачи Коши с помощью функции odesolve.

Пример 2. Решение граничной задачи с помощью функции odesolve.

В начало страницы

Функции для решения систем, записанных в нормальной форме

Встроенные функции Mathcad, предназначенные для решения задачи Коши и граничных задач, решают их для нормальных с и с т е м обыкновенных дифференциальных уравнений. Задачи для уравнений высших порядков сводятся к соответствующим задачам для нормальных с и с т е м.

Рассмотрим задачу Коши:

m3.gif (2272 bytes)        m4.gif (1667 bytes)

Численное решение этой задачи состоит в построении таблицы приближенных значений
yi,1 , yi,2 , ..., yi,N
решения y1 (x), y2 (x), ..., yN (x)
на отрезке [x0 , xN ] в точках
x1 , x2 , ..., xN, которые называются узлами сетки.
Обозначив

, ,

,

,

где — искомое решение, — вектор начальных условий, а — вектор правых частей, запишем систему дифференциальных уравнений в векторной форме:

, .

В Mathcad решить задачу Коши для такой системы можно с помощью следующих функций:

  • rkfixed(y, x1, x2, npoints, D) —решение задачи на отрезке методом Рунге—Кутты с постоянным шагом;
  • Rkadapt(y, x1, x2, npoints, D) —решение задачи на отрезке методом Рунге—Кутты с автоматическим выбором шага;
  • rkadapt(y, x1, x2, acc, npoints, D, kmax, save) —решения задачи в заданной точке методом Рунге-Кутты с автоматическим выбором шага;
  • Bulstoer(y, x1, x2, npoints, D) —решение задачи на отрезке методом Булирша-Штера;
  • bulstoer(y, x1, x2, acc, npoints, D, kmax, save) —решение задачи в заданной точке методом Булирша—Штера;
  • Stiffr(y, x1, x2, acc, D, J) — решение задачи для жестких систем на отрезке с использованием алгоритма Розенброка;
  • stiffr(y, x1, x2, acc, D, J, kmax, save) —решения задач для жестких систем на отрезке с использованием алгоритма Розенброка;
  • Stiffb(y, x1, x2, acc, D, J) —решение задачи для жестких систем на отрезке с использованием алгоритма Булирша—Штера;
  • stiffb(y, x1, x2, acc, D, J, kmax, save) —решение задач для жестких систем в заданной точке с использованием алгоритма Булирша—Штера.

Смысл параметров для всех функций одинаков и определяется математической постановкой задачи:
y — вектор начальных условий , ;
x1, x2 — начальная и конечная точки отрезка интегрирования системы; для функций, вычисляющих решение в заданной точке, x1 — начальная точка, x2 — заданная точка;
npoints — число узлов на отрезке [x1, x]; при решении задачи на отрезке результат содержит npoints+1 строку;
D — имя вектор-функции D(x,y) правых частей , ; ( имя D – от Derivative — производная, имя вектора, содержащего выражения для производных (derivatives) искомого решения);
J — имя матрицы-функции J(x,y) размерности n x (n+1), в первом столбце которой хранятся выражения частных производных по x правых частей системы, а в остальных n столбцах содержится матрица Якоби правых частей:
.
acc — параметр, контролирующий погрешность решения при автоматическом выборе шага интегрирования (если погрешность решения больше acc, то шаг сетки уменьшается; шаг уменьшается до тех пор, пока его значение не станет меньше save );
kmax — максимальное число узлов сетки, в которых может быть вычислено решение задачи на отрезке, максимальное число строк в результате;
save — наименьшее допустимое значение шага неравномерной сетки.

Результат работы функции — матрица, содержащая n+1; ее первый столбец содержит координаты узлов сетки, второй столбец — вычисленные приближенные значения решения y1 (x) в узлах сетки, (k+1) -й — значения решенияyk (x) в узлах сетки.

При решении задачи Коши для дифференциального уравнения первого порядка результат вычислений всех приведенных выше функций — матрица, в первом столбце которой содержатся координаты узлов сетки x0 , x1 , ..., xN, а во втором — значения приближенного решения в соответствующих узлах.

Пример 3. Решение задачи Коши для ОДУ 1 порядка с помощью функции rkfixed.

Пример 4. Решение задачи Коши для ОДУ 2 порядка с помощью функции rkfixed.

Пример 5. Решение задачи Коши для системы ОДУ 1 порядка с помощью функции rkfixed.

Пример 6. Решение жесткой задачи Коши для системы ОДУ 1 порядка с помощью функции Stiffr.

При исследовании автономных систем дифференциальных уравнений второго порядка полезную информацию можно получить рассматривая интегральные и фазовые кривые системы.

Пример 7. Построение фазовой и интегральной кривых решения задачи Коши для системы ОДУ 1 порядка.

При исследовании автономных систем дифференциальных уравнений второго порядка полезную информацию о свойствах решений можно получить, построив векторное поле системы.

Запишем автономную систему второго порядка

.

Эта система полностью определяется заданием векторного поля , поскольку векторное поле задает в каждой точке направление касательной к фазовой кривой системы, проходящей через эту точку.

Пример 8. Построение векторного поля системы ОДУ.

В начало страницы

Карта сайта | На первую страницу | Поиск |О проекте |Сотрудничество |
Exponenta Pro | Matlab.ru

Наши баннеры


Copyright © 2000-2003. Компания SoftLine. Все права защищены.

Дата последнего обновления информации на сайте: 15.04.03
Сайт начал работу 1.09.00

www.softline.ru

Призы для подписчиков научно-практического журнала: Exponenta Pro. Математика в приложениях