
- •Высокоуровневые методы информатики и программирования: автоматизированная математическая система mathcad
- •351400 “Прикладная информатика (в экономике)”,
- •060800 “Экономика и управление на предприятии”
- •Введение
- •1. Простейшие вычисления и документы
- •1. Ознакомление с системой, ввод текста
- •Панель инструментов
- •2. Математические выражения
- •3. Использование функций
- •4. Дискретные переменные, суммы, произведения
- •5. Вычисление пределов
- •6. Действия с комплексными числами
- •2. Двумерная графика
- •1. Декартовы графики
- •2. Графики в полярной системе координат
- •3. Определение координат точек пересечения графиков по двумерному графику.
- •3. Трехмерная (3d) графика
- •1. Построение поверхностей
- •2. Дополнительные возможности построения поверхностей.
- •Пространственные кривые.
- •4. Алгебраические уравнения, оптимизация
- •1. Численное решение нелинейного уравнения с помощью функции root
- •2. Определение корней полинома
- •3.Решение систем нелинейных уравнений
- •4. Определение точек экстремума функций одной и двух переменных
- •5. Математический анализ, символьные вычисления
- •Вычисление определенных интегралов
- •2. Вычисление неопределенных интегралов
- •3. Дифференцирование
- •4. Символьные вычисления
- •6. Дифференциальные уравнения
- •1. Функция rkfixed
- •2. Функция odesolve
- •7. Линейная алгебра, матрицы
- •1. Матричные8 уравнения
- •2. Действия с матрицами
- •8. Линейное программирование
- •1. Транспортная задача
- •Минимальные затраты на перевозок
- •2. Графический анализ задач оптимизации с двумя переменными
- •9. Программирование в среде MathCad
- •Приложение
- •1. Системные переменные
- •2. Встроенные операторы
- •3. Встроенные функции Тригонометрические функции
- •Рекомендуемая литература
- •351400 “Прикладная информатика (в экономике)”,
- •060800 “Экономика и управление на предприятии”
- •4 28015. Чебоксары, ул. Урукова, 17
4. Символьные вычисления
Системы компьютерной алгебры снабжаются специальным процессором для выполнения аналитических (символьных) вычислений. Его основой является ядро, хранящее всю совокупность формул и формульных преобразований, с помощью которых производятся аналитические вычисления. Чем больше этих формул в ядре, тем надежней работа символьного процессора и тем вероятнее, что поставленная задача будет решена, если такое решение существует. Ядро символьного процессора системы MathCAD — несколько упрощенный вариант ядра известной системы символьной математики Maple фирмы Waterloo Maple Software.
Символьные операции можно выполнять двумя способами:
С помощью операторов символьного преобразования, используя палитру инструментов Symbolic (Символы)
(рис. 24).
Непосредственно в командном режиме, используя операции меню Symbolics (Символы) (рис. 25-27).
Рис. 24. Вычисления с помощью палитры инструментов Символы
Для того, чтобы символьные операции выполнялись процессором, необходимо выделить выражение синей сплошной линией. Для ряда операций следует указать переменную, относительно которой выполняется операция. Само выражение в таком случае не выделяется.
Если в документе есть выделенное выражение, то с ним можно выполнять различные операции меню Symbolics (Символы), представленные ниже:
Evaluate (Расчеты) — преобразовать выражение с выбором вида преобразований из подменю;
Symbolically (Символические) [Shift] F9 – выполнить символьное преобразование выделенного выражения;
Floating Point… (С плавающей запятой…) – вычислить выделенное выражение в вещественных числах;
Complex (Комплексные) – выполнить вычисления в комплексном виде;
Simplify (Упростить) — упростить выделенное выражение с выполнением таких операций, как сокращение подобных слагаемых, приведение к общему знаменателю, использование основных тригонометрических тождеств и т д.;
Expand (Расширить) — раскрыть выражение [например, для (Х + Y) (Х - Y) получаем X 2- Y 2];
Factor (Фактор) — разложить число или выражение на множители [например, для X 2- Y 2 получим (Х + Y) (Х - Y)];
Collect (Подобные) — собрать слагаемые, подобные выделенному выражению, которое может быть отдельной переменной или функцией со своим аргументом (результатом будет выражение, полиномиальное относительно выбранного выражения);
Polynomial Coefficients (Коэффициенты Полинома) — по заданной переменной найти коэффициенты полинома, аппроксимирующего выражение, в котором эта переменная использована.
После выделения переменной путем установки на ней маркера ввода (или ее указания после запятой, как на рис. 24) становятся доступными следующие операции подменю Variable (Переменные):
Solve (Вычислить) — найти значения выделенной переменной, при которых содержащее ее выражение становится равным нулю;
Substitute (Замена) — заменить указанную переменную содержимым буфера обмена;
Differentiate (Дифференциалы) — дифференцировать выражение, содержащее выделенную переменную, по этой переменной (остальные переменные рассматриваются как константы);
Integrate (Интеграция) — интегрировать все выражение, содержащее переменную, по этой переменной;
Expand to Series… (Разложить на составляющие…) — найти несколько членов разложения выражения в ряд Тейлора относительно выделенной переменной;
Convert to Partial Fraction (Преобразование в Частичные Доли) — разложить на элементарные дроби выражение, которое рассматривается как рациональная дробь относительно выделенной переменной.
Рассмотрим подробнее
операцию
Разложить на составляющие...
. Она возвращает разложение в ряд Тейлора
выражения относительно выделенной
переменной с заданным по запросу числом
членов ряда n
(число определяется по степеням ряда).
По умолчанию задано п
= 6.
В разложении указывается остаточная
погрешность разложения. На рис. 25
представлено применение этой операции
для разложения функции
.
Минимальная
погрешность получается при малых
значениях х.
Рис. 25. Разложение функции в ряд Тейлора
Операции с выделенными матрицами представлены позицией подменю Матрицы, которая имеет подменю со следующими операциями:
Transpose (Транспонирование) — получить транспонированную матрицу;
Invert (Инвертирование) — получить обратную матрицу;
Determinant (Определитель) — вычислить детерминант (определитель) матрицы.
Результаты символьных операций с матрицами часто оказываются чрезмерно громоздкими и поэтому плохо обозримы.
В позиции Transform (Преобразование) содержится раздел операций преобразования, создающий подменю со следующими возможностями:
Fourier (Фурье) — выполнить прямое преобразование Фурье относительно выделенной переменной;
Inverse Fourier (Фурье Обратное) — выполнить обратное преобразование Фурье относительно выделенной переменной;
Laplace (Лапласа) — выполнить прямое преобразование Лапласа относительно выделенной переменной (результат — функция переменной s);
Inverse Laplace (Обратное Лапласа) — выполнить обратное преобразование Лапласа
На наглядность вычислений влияет стиль представления их результатов. Команда Стиль Вычислений... позволяет задать вывод результата символьной операции под основным выражением, рядом с ним или вместо него (рис. 26).
Рис. 26. Стиль Вычислений
Особо следует отметить возможность выполнения численных вычислений с повышенной точностью до 20 знаков после запятой. Для перехода в такой режим вычислений нужно числовые константы в вычисляемых объектах задавать с обязательным указанием десятичной точки, например 10.0 или 3.0, а не 10 или 3. Этот признак является указанием на проведение вычислений такого типа.
На рис. 27 даны типовые примеры действия операции Расчеты: слева показаны исходные выражения, подвергаемые символьным преобразованиям, а справа — результат этих преобразований. Эта операция позволяет в символьном виде вычислять суммы (и произведения) рядов, производные и неопределенные интегралы, выполнять символьные и численные операции с матрицами. Команда Символические всплывающего меню операции Расчеты является наиболее важной. Назначение других команд очевидно: они нужны, если результат требуется получить в форме комплексного или действительного числа. К примеру, если вы хотите вместо числа получить 3.1415, используйте команду С плавающей запятой…. В режиме символьных вычислений результат может превосходить машинную бесконечность системы — см. пример на вычисление ехр(1000.0) на рис. 26. При этом число точных значащих цифр результата практически не ограничено (или, точнее говоря, зависит от емкости ОЗУ).
Рис. 27. Вычисления с помощью операции меню Символические операции Расчеты
Задания.
5.4.1. Для полинома g(x) (табл. 11) выполнить следующие действия:
1) разложить на множители, используя операцию Symbolic (Символы) Factor (Фактор);
2) подставьте выражение x = y + z в g(x), используя операцию Symbolic (Символы) Variable (Переменные) Substitute (Замена) (предварительно скопировав подставляемое выражение в буфер обмена, выделив его и нажав комбинацию клавиш Ctrl + C);
3) используя операцию Symbolic (Символы) Expand (Расширить), разложите по степеням выражение, полученное в п. 2 данного упражнения);
4) используя операцию Symbolic (Символы) Simplify (Упростить), упростите выражение, полученное в п.3 данного упражнения.
Таблица 11
№ |
g(x) |
№ |
g(x) |
1 |
x4 - 2x3 + x2 - 12x + 20 |
2 |
x4 + x3 - 17x2 - 45x – 100 |
3 |
x4 + 6x3 + x2 - 4x - 60 |
4 |
x4 - 5x3 + x2 - 15x + 50 |
5 |
x4 - 14x2 – 40x - 75 |
6 |
x4 - 4x3 - 2x2 - 20x + 25 |
Продолжение таблицы 11
7 |
x4 - x3 + x2 - 11x + 10 |
8 |
x4 + 5x3 + 7x2 + 7x – 20 |
9 |
x4 - x3 - 29x2 - 71x -140 |
10 |
x4 - 7x3 + 7x2 - 5x + 100 |
11 |
x4 + 7x3 + 9x2 + 13x - 30 |
12 |
x4 + 10x3 +36x2 +70x+ 75 |
13 |
x4 + 3x3 - 23x2 - 55x - 150 |
14 |
x4 + 9x3 + 31x2 + 59x+ 60 |
15 |
x4 - 6x3 + 4x2 + 10x + 75 |
16 |
x4 - 3x3 - 19x2 - 61x -125 |
5.4.2. Разложите выражения на элементарные дроби, используя операцию Symbolic (Символы) Variable (Переменные) Convert to Partial Fraction (Преобразование в частичные доли):
|
|
|
|
5.4.3. Разложите выражения в ряд с заданной точностью в окрестности точки х0, используя операцию Symbolic (Символы) Variable (Переменные) Expand to Series… (Разложить на составляющие):
ln ( 1 + x), х0 = 0, порядок разложения - 6;
sin (x)2, х0 = 0, порядок разложения 6.
5.4.4. Разложите в ряд функции из табл. 1, 2, 6, 7.
5.4.5. Найти первообразную аналитически заданной функции f(x) (табл. 9), используя операцию Symbolic (Символы) Variable (Переменные) Integrate (Интеграция).
5.4.6. Определить символьное значение первой и второй производной функции f(x) (табл. 10), используя команду Symbolic (Символы) Variable (Переменные) Differentiate (Дифференциалы)