- •Часть 4
- •Введение
- •Лекция 1. Система математических расчетов MathCad и особенности ее применения
- •1. Общая характеристика системы MathCad
- •2. Информационная среда, предоставляемая в распоряжение пользователя
- •3. Входной язык, встроенные функции и модули системы MathCad
- •3.1. Входной язык системы MathCad
- •3.2. Основные модули системы MathCad
- •Лабораторное занятие 1: Вычисления и типы данных
- •1. Вычисление значений арифметических и алгебраических выражений
- •2. Переменные, функции и операторы
- •2.1. Переменные
- •2.2. Функции
- •2.3. Операторы
- •3. Данные в MathCad
- •3.1 Типы данных
- •3.2. Размерные переменные
- •4. Массивы
- •4.1. Создание массивов
- •4.2. Ранжированные переменные
- •Лабораторное занятие 2. Создание графиков
- •1. Двумерная графика
- •1.4. Полярный график
- •1.5. Построение нескольких рядов данных
- •1.6. Форматирование осей
- •1.7. Форматирование рядов данных
- •1.8. Трассировка и увеличение графиков
- •2. Трехмерная графика
- •2.1 Создание трехмерной графики
- •2.2. Форматирование трехмерных графиков
- •Лабораторное занятие 3. Символьные вычисления
- •1. Символьная алгебра
- •1.1.Разложение выражений (Expand)
- •1.2. Упрощение выражений (Simplify)
- •1.3. Разложение на множители (Factor)
- •1.4. Приведение подобных слагаемых
- •1.5. Определение коэффициентов полинома (Polynomial Coefficients)
- •1.6. Разложение на элементарные дроби
- •1.7. Подстановка переменной (Substitute)
- •1.8. Решение алгебраических уравнений (solve)
- •1.9. Суммы и произведения
- •2. Символьное решение задач математического анализа
- •2.1. Дифференцирование (Differentiate) и интегрирование (Integrate)
- •2.2. Разложение в ряд (Expand to Series)
- •2.3. Интегральные преобразования
- •3. Дополнительные возможности символьного процессора
- •3.1. Применение функций пользователя
- •3.2. Получение численного значения выражений
- •3.3. Последовательности символьных команд
- •Лабораторное занятие 4. Численные методы
- •1. Интегрирование и дифференцирование
- •1.1. Интегрирование
- •1.2. Дифференцирование
- •2. Алгебраические уравнения и оптимизация
- •2.1. Одно уравнение с одним неизвестным
- •2.2. Корни полинома
- •2.3. Системы уравнений
- •2.4. Символьное решение уравнений
- •3. Поиск экстремума функции
- •3.1. Экстремум функции одной переменной
- •3.2. Условный экстремум
- •3.3. Экстремум функции многих переменных
- •3.4. Линейное программирование
- •Лабораторное занятие 5. Матричные вычисления
- •Простейшие операции с матрицами
- •Транспонирование
- •Сложение
- •1.3. Умножение
- •1.4. Определитель квадратной матрицы
- •1.5. Модуль вектора
- •1.6. Скалярное произведение векторов
- •1.7. Векторное произведение
- •1.8. Сумма элементов вектора и след матрицы
- •1.9. Обратная матрица
- •1.10. Возведение матрицы в степень
- •1.11. Векторизация массивов
- •2.1.2. Создание матриц специального вида
- •2.2. Слияние и разбиение матриц
- •2.2.1. Выделение части матрицы
- •2.2.2. Слияние матриц
- •2.3. Сортировка матриц
- •2.4. Вывод размера матриц
- •2.5. Норма квадратной матрицы
- •2.6. Число обусловленности квадратной матрицы
- •2.7. Ранг матрицы
- •3. Система линейных уравнений
- •4. Собственные векторы и собственные значения матриц
- •Лабораторное занятие 6. Обыкновенные дифференциальные уравнения
- •1. Оду первого порядка
- •1.1. Вычислительный блок Given/Odesolve
- •1.2. Встроенные функции rkfixed, Rkadapt, Bulstoer
- •2. Оду высшего порядка
- •3. Системы оду первого порядка
- •3.1. Встроенные функции для решения системы оду
- •3.2. Решение системы оду в одной точке
- •Приложения Приложение 1. Встроенные функции и операторы
- •Встроенные функции
- •Приложение 2. Сообщения об ошибках
- •Оглавление
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 |
Правый предел |