Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MathCAD 2001.doc
Скачиваний:
31
Добавлен:
21.11.2018
Размер:
6.61 Mб
Скачать

3.2. Решение системы оду в одной точке

Зачастую при решении дифференциальных уравнений требуется определить значения искомой функции не на всем интервале (t0,t1), а только в одной его последней точке. Известно, что для широкого класса ОДУ одна и та же система при разных начальных условиях при t приходит в одну и ту же точку (аттрактор). Поэтому часто нужно определить именно эту точку.

Такая задача требует меньше ресурсов компьютера, чем решение системы ОДУ на всем интервале, поэтому MathCAD имеет модификации встроенных функций Rkadapt и Bulstoer. Они имеют несколько другой набор параметров и работают быстрее своих аналогов:

  • rkadapt(y0,t0,t1,acc,D,k,s) – метод Рунге-Кутты с переменным шагом;

  • bulstoer(y0,t0,t1,acc,D,k,s) – метод Булирша-Штера.

Здесь y0 – вектор начальных значений в точке t0; t0,t1 – начальная и конечная точки расчета; acc – погрешность вычисления (чем она меньше, тем с лучший точностью будет найдено решение; рекомендуется выбирать значения погрешности в районе 0.001); D – векторная функция, задающая систему ОДУ; k - максимальное число шагов, на которых численный метод будет находить решение; s – минимально допустимая величина шага.

Вместо числа шагов на интервале интегрирования ОДУ в этих функциях необходимо задать точность расчета численных методов значения функции в этой точке. Количество шагов и их расположение определяются численным методом автоматически, чтобы обеспечить эту точность. Два последних параметра нужны для того, чтобы пользователь мог искусственно повлиять на разбиение интервала на шаги. Параметр k служит для того, чтобы шагов не было чрезвычайно много, причем нельзя сделать k>1000. Параметр s – для того, чтобы ни один шаг не был слишком малым для появления больших погрешностей при разностной аппроксимации дифференциальных уравнений внутри алгоритма. Эти параметры следует задавать явно, исходя из свойств конкретной системы ОДУ. Как правило, проведя ряд тестовых расчетов, можно подобрать их оптимальный набор для каждого конкретного случая.

Задание 6. Реализуйте следующий пример и проанализируйте полученные результаты.

Самостоятельно попробуйте использовать альтернативный метод, заменив функцию bulstoer на rkadapt. Постройте фазовые портреты системы.

Приложения Приложение 1. Встроенные функции и операторы

Таблица 1. Арифметические операторы

Оператор

Клавиши

Скаляр

Вектор

Матрица

:=

:

Присваивание

~

Глобальное присваивание

=

=

Численный вывод

Ctrl =

Символьный вывод

+

+

Сложение

-

-

Вычитание

·

*

Умножение

Матричное умножение, умножение на скаляр

Скалярное произведение

×

либо /

Ctrl 8

Либо /

Деление

!

!

Факториал

\

Квадратный корень

Ctrl \

Корень n-й степени

xn

[

Нижний индекс

MT

Ctrl 1

Транспонирование

|x|

Shift \

Модуль

Модуль вектора

Определитель

Ctrl 4

Сумма элементов

x-1

Обратная величина

Обратная матрица

xy

^ n

Возведение в степень n

F(M)

Ctrl -

Векторизация (Задать вектор)

M<>

Ctrl 6

Выделение столбца

Таблица 2. Вычислительные операторы

Оператор

Клавиши

Описание

Ctrl I

Неопределенный интеграл

Shift 7

Определенный интеграл

?

Дифференцирование

Ctrl ?

Вычисление n-й производной

Ctrl Shift 4

Суммирование

Ctrl 4

Сумма ранжированной переменной

Ctrl Shift 3

Произведение

Ctrl 3

Произведение ранжированной переменной

lim

a

Ctrl L

Предел

lim

a+

Ctrl A

Левый предел

lim

a-

Ctrl B

Правый предел