- •ВВЕДЕНИЕ
- •2. СОЗДАНИЕ И РЕДАКТИРОВАНИЕ ФОРМУЛ И ТЕКСТА
- •2.1.Курсор
- •2.2. Шаблоны
- •2.3. Текстовые области
- •2.4. Задание размерности
- •3. ВХОДНОЙ ЯЗЫК СИСТЕМЫ
- •3.1. Общие сведения
- •3.2. Алфавит
- •3.3. Элементарные конструкции
- •3.4. Выражения
- •3.5. Операторы
- •3.6. Константы и переменные
- •3.7. Функции
- •3.7.1. Встроенные функции
- •3.7.2. Функции, принимающие несколько значений
- •3.7.3. Функции, определяемые пользователем
- •4. РАБОТА С ДОКУМЕНТАМИ
- •5. ВЫПОЛНЕНИЕ ВЫЧИСЛЕНИЙ
- •6. ВЕКТОРЫ И МАТРИЦЫ
- •6.1. Создание и отображение массивов
- •6.2. Задание элементов массивов
- •6.3. Векторные и матричные операции
- •6.4. Векторные и матричные функции
- •6.4.1. Формирование матриц
- •6.4.2. Определение размеров массивов и значений элементов
- •6.4.3. Сортировка векторов и матриц
- •6.4.4.Специальные характеристики матрицы
- •7. ПОСТРОЕНИЕ ГРАФИКОВ
- •7.1. Графические возможности
- •7.2. Создание графиков на плоскости
- •7.2.1. График в декартовых координатах (X-Y Plot)
- •7.2.2. График в полярной системе координат (Polar Plot)
- •7.3. Построение трёхмерных графиков
- •7.3.1. Создание трёхмерных графиков
- •7.3.2. Форматирование трехмерных поверхностей
- •7.3.3. Построение контурных графиков (Contour Plot)
- •7.3.4. Построение точечного графика (3D Scatter Plot)
- •7.3.5. Построение трёхмерной гистограммы
- •7.3.6. Векторное поле (Vector Field Plot)
- •7.4. Применение функций CreateMesh и CreateSpace
- •7.5. Импорт изображений
- •8. ДАННЫЕ ФАЙЛОВОГО ТИПА
- •9. СИМВОЛЬНЫЕ ВЫЧИСЛЕНИЯ
- •9.1. Организация символьных вычислений
- •9.2. Меню Symbolics
- •9.2.1. Обзор команд меню Symbolics
- •9.2.2. Операции с выделенными выражениями
- •9.2.3. Операции с выделенными переменными
- •9.2.4. Операции с выделенными матрицами
- •9.2.5. Операции преобразования
- •9.3. Система SmartMath
- •9.3.1 Операции символьного вывода
- •9.3.2.Состав директив
- •9.3.3. Вычисление пределов
- •9.3.4. Специальные функции
- •9.3.5. Большие символьные результаты
- •10. РЕШЕНИЕ УРАВНЕНИЙ И СИСТЕМ
- •10.1. Решение уравнения с одной неизвестной
- •10.2. Поиск всех корней полинома
- •10.3. Решение систем нелинейных уравнений и неравенств
- •10.4. Решение систем линейных уравнений
- •10.5. Символьное решение алгебраического уравнения
- •11. ОБРАБОТКА ДАННЫХ
- •11.1. Интерполяция
- •11.2. Регрессии
- •11.3. Сглаживание данных
- •12. ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ И СИСТЕМЫ
- •12.1. Методы решения
- •12.2. Пример использования функции rkfixed
- •12.3. Решение системы ОДУ первого порядка
- •13. ПРОГРАММНЫЕ БЛОКИ
- •13.1. Программирование в пакете MathCad
- •13.2. Программные операторы
- •ЗАДАНИЯ
- •БИБЛИОГРАФИЧЕСКИЙ СПИСОК
- •ОГЛАВЛЕНИЕ
Так как уравнение одно, то можно не формировать векторы. Если воспользоваться этим и, кроме того, задать интервал, количество шагов и начальное условие при вызове функции, то запись выполняемых действий получится более простой и логичной:
f1(x ,y) := sin(x) + 1y F(x ,s) := f1(x ,s0)
z := rkfixed(1 ,0 ,24 ,100 ,F)
s := z 1 |
arg := z 0 |
12.3. Решение системы ОДУ первого порядка
Последовательность действий при решении системы такая же, как при решении уравнения. Исходная система уравнений должна быть представлена в форме Коши (слева производная, а справа – всё остальное).
d y0(t) −8 y0(t) + 8 y1(t) dt
d y1(t) 30 y0(t) + y1(t) − y0(t) y2(t) dt
d y2(t) |
|
|
y0(t) y1(t) − |
8 |
y2(t) |
|
|
|
||||
|
|
3 |
|
|
|
|||||||
dt |
|
|
|
|
|
|
|
|
|
|
||
y0(0) |
|
|
−1 |
y1(0) |
|
0 |
y2(0) |
|
1 |
|||
|
|
|
|
|||||||||
|
|
|
|
Количество уравнений и количество начальных условий должны быть равны числу неизвестных.
Сформируем символьный вектор, элементами которого будут правые части уравнений, записанные для точки (t,Y), где t – аргумент, Y – вектор решения. Элементы вектора Y соответствуют отдельным неизвестным.
62
|
−8 Y0 + 8 Y1 |
|
|||
|
Y0 + Y1 − Y0 Y2 |
|
|||
30 |
|
||||
D(t ,Y) := |
|
|
8 |
|
|
|
Y |
Y − |
Y |
|
|
|
0 |
1 |
3 |
2 |
|
Определим параметры, необходимые для получения решения:
t0, t1 – начальное и конечное значения независимой переменной;
Y0 – вектор начальных условий;
N – количество шагов (при необходимости) на интервале
[t0,t1].
−1
Y0 := |
0 |
|
t0 := 0 |
t1 := 10 |
N := 1000 |
|
1 |
|
|
|
|
|
|
|
|
|
Получим решение, вызвав одну из функций: rkfixed,
Bulstoer, Rkadapt:
S := Rkadapt(Y0 ,t0 ,t1 ,N ,D)
Выделим из матрицы решения S независимую переменную и функции y0, y1, y2, учитывая, что аргумент расположен в начальном столбце (номер 0), а функции в последующих столбцах.
t := S 0 |
y0 := S 1 |
y1 := S 2 |
y2 := S 3 |
По найденным t, y0, y1, y2 можно построить графики. Однако формирование этих векторов для построения графиков не является обязательным. Для примера создадим график по двум функциям решения, не выделяя их предварительно из матрицы
(рис. 7.).
Следует понимать, что при реализации рассмотренного метода решения системы дифференциальных уравнений, нет необходимости записывать систему и начальные условия в документе Mathcad, так как в вычислениях участвуют только параметры, заданные в используемой функции.
63