Основы работы с MathCAD. Математические выражения. Типы данных

Лекция 1

Тема: Основы работы с MathCAD. Математические выражения. Типы данных

Правила записи математических выражений. Операторы. Операнды. Глобальные, локальные, системные переменные и константы. Массивы. Функции

MathCAD – это мощная и в то же время простая универсальная среда для решения задач в различных отраслях науки и техники, финансов и экономики, физики и астрономии, математики и статистики… MathCAD остается единственной системой, в которой описание решения математических задач задается с помощью привычных математических формул и знаков. MathCAD позволяет выполнять как численные, так и аналитические (символьные) вычисления, имеет чрезвычайно удобный математико-ориентированный интерфейс и прекрасные средства научной графики.

Система MathCAD существует в нескольких основных вариантах:

  • MathCAD Standard – идеальная система для повседневных технических вычислений. Предназначена для массовой аудитории и широкого использования в учебном процессе;
  • MathCAD Professional – промышленный стандарт прикладного использования математики в технических приложениях. Ориентирована на математиков и научных работников, проводящих сложные и трудоемкие расчеты.
  • MathCAD Professional Academic – пакет программ для профессионального использования математического аппарата с электронными учебниками и ресурсами.

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

Расположение нетекстовых блоков в документе имеет принципиальное значение – слева направо и сверху вниз.

Математические выражения

К основным элементам математических выражений MathCAD относятся типы данных, операторы, функции и управляющие структуры.

Операторы

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

Оператор определяет:

  1. действие, которое должно выполняться при наличии тех или иных значений операндов;
  2. сколько, где и какие операнды должны быть введены в оператор.

Операнд – число или выражение, на которое действует оператор. Например, в выражении 5! + 3 число 3 и выражение 5! – операнды оператора + (плюс), а число 5 операнд оператора факториал (!). После указания операндов операторы становятся исполняемыми по документу блоками.

Типы данных

К типам данных относятся числовые константы, обычные и системные переменные, массивы (векторы и матрицы) и данные файлового типа.

Константами называют поименованные объекты, хранящие некоторые значения, которые не могут быть изменены. Переменные являются поименованными объектами, имеющими некоторое значение, которое может изменяться по ходу выполнения программы. Тип переменной определяется ее значением; переменные могут быть числовыми, строковыми, символьными и т. д. Имена констант, переменных и иных объектов называют идентификаторами. Идентификаторы в MathCAD представляют собой набор латинских или греческих букв и цифр.

В MathCAD содержится небольшая группа особых объектов, которые нельзя отнести ни к классу констант, ни к классу переменных, значения которых определены сразу после запуска программы. Их правильнее считать системными переменными, имеющими предопределенные системой начальные значения. Изменение значений системных переменных производят во вкладке Встроенные переменные диалогового окна Math Options команды Математика Опции.

Рисунок - Математические выражения

Обычные переменные отличаются от системных тем, что они должны быть предварительно определены пользователем, т. е. им необходимо хотя бы однажды присвоить значение. В качестве оператора присваивания используется знак :=, тогда как знак = отведен для вывода значения константы или переменной.

Если переменной присваивается начальное значение с помощью оператора :=, вызывается нажатием клавиши : (двоеточие) на клавиатуре, такое присваивание называется локальным. До этого присваивания переменная не определена и ее нельзя использовать. Однако с помощью знака (клавиша ~ на клавиатуре) можно обеспечить глобальное присваивание (см. Пример 1 Рисунка 1). MathCAD прочитывает весь документ дважды слева направо и сверху вниз. При первом проходе выполняются все действия, предписанные локальным оператором присваивания (), а при втором – производятся действия, предписанные локальным оператором присваивания (:=), и отображаются все необходимые результаты вычислений (=).

Существуют также жирный знак равенства = (комбинация клавиш Ctrl + =), который используется, например, как оператор приближенного равенства при решении систем уравнений, и символьный знак равенства (комбинация клавиш Ctrl + .).

Дискретные аргументы - особый класс переменных, который в пакете MathCAD зачастую заменяет управляющие структуры, называемые циклами (однако полноценной такая замена не является). Эти переменные имеют ряд фиксированных значений, либо целочисленных (1 способ), либо в виде чисел с определенным шагом, меняющихся от начального значения до конечного (2 способ).

  1. Name := Nbegin .. Nend,

где Name – имя переменной, Nbegin – ее начальное значение, Nend – конечное значение, .. – символ, указывающий на изменение переменной в заданных пределах (вводится клавишей ;). Если Nbegin < Nend, то шаг переменной будет равен +1, иначе –1.

  1. Name := Nbegin, (Nbegin + Step) .. Nend

Здесь Step – заданный шаг изменения переменной (он должен быть положительным, если Nbegin < Nend, или отрицательным в обратном случае).

Дискретные аргументы значительно расширяют возможности MathCAD, позволяя выполнять многократные вычисления или циклы с повторяющимися вычислениями, формировать векторы и матрицы (Пример 3 Рисунка 1).

Массив - имеющая уникальное имя совокупность конечного числа числовых или символьных элементов, упорядоченных некоторым образом и имеющих определенные адреса. В пакете MathCAD используются массивы двух наиболее распространенных типов:

  • одномерные (векторы);
  • двумерные (матрицы).

Порядковый номер элемента, который является его адресом, называется индексом. Индексы могут иметь только целочисленные значения. Они могут начинаться с нуля или единицы, в соответствии со значением системной переменной ORIGIN.

Векторы и матрицы можно задавать различными способами:

  • с помощью команды Вставка Матрица, или комбинации клавиш Ctrl + M, или щелчком на кнопке панели Матрица, заполнив массив пустых полей для не слишком больших массивов;
  • с использованием дискретного аргумента, когда имеется некоторая явная зависимость для вычисления элементов через их индексы (Пример 3 Рисунка 1).

Функции

Функция – выражение, согласно которому проводятся некоторые вычисления с аргументами и определяется его числовое значение.

Следует особо отметить разницу между аргументами и параметрами функции. Переменные, указанные в скобках после имени функции, являются ее аргументами и заменяются при вычислении функции значениями из скобок. Переменные в правой части определения функции, не указанные скобках в левой части, являются параметрами и должны задаваться до определения функции (см. Пример 2 Рисунка 1).

Главным признаком функции является возврат значения, т.е. функция в ответ на обращение к ней по имени с указанием ее аргументов должна возвратить свое значение.

Функции в пакете MathCAD могут быть встроенные (см. Приложение 3), т. е. заблаговременно введенные разработчиками, и определенные пользователем.

Способы вставки встроенной функции:

  1. Выбрать пункт меню Вставка Функция.
  2. Нажать комбинацию клавиш Ctrl + E.
  3. Щелкнуть на кнопке .

Контрольные вопросы

  1. С помощью какого оператора можно вычислить выражение?
  2. Чем отличается глобальное и локальное определение переменных? С помощью каких операторов определяются?
  3. Как изменить формат чисел для всего документа?
  4. Как изменить формат чисел для отдельного выражения?
  5. Какие системные (предопределенные) переменные Вам известны? Как узнать их значение? Как изменить их значение?
  6. Какие виды функций в Mathcad Вам известны?
  7. Как вставить встроенную функцию в документ Mathcad?
  8. С помощью каких операторов можно вычислить интегралы, производные, суммы и произведения?
  9. Как определить дискретные переменные с произвольным шагом? Какой шаг по умолчанию?
  10. Как определить индексированную переменную?
  11. Какие виды массивов в Mathcad Вам известны?
  12. Какая системная переменная определяет нижнюю границу индексации элементов массива?
  13. Опишите способы создания массивов в Mathcad.
  14. Как просмотреть содержимое массива, определенного через дискретный аргумент?


Лекция 2

Тема: Построение графиков функций, поверхностей, пространственных кривых и их анимация

Текстовые и графические области. Функции графических построений. Создание анимационных файлов

Текстовые фрагменты

Текстовые фрагменты представляют собой куски текста, которые пользователь хотел бы видеть в своем документе. Существуют два вида текстовых фрагментов:

  • текстовая область предназначена для небольших кусков текста - подписей, комментариев и т. п. Вставляется с помощью команды Вставка Текстовая регион или комбинации клавиш Shift + " (двойная кавычка);
  • текстовый абзац применяется в том случае, если необходимо работать с абзацами или страницами. Вставляется с помощью комбинации клавиш Shift + Enter.

Графические области

Графические области делятся на три основных типа - двумерные графики, трехмерные графики и импортированные графические образы. Двумерные и трехмерные графики строятся самим MathCAD на основании обработанных данных.

Для создания декартового графика:

  1. Установить визир в пустом месте рабочего документа.
  2. Выбрать команду Вставка График Х-У график, или нажать комбинацию клавиш Shift + @, или щелкнуть кнопку панели Графики. Появится шаблон декартового графика.
  3. Введите в средней метке под осью Х первую независимую переменную, через запятую – вторую и так до 10, например х1, х2, …
  4. Введите в средней метке слева от вертикальной оси Y первую независимую переменную, через запятую – вторую и т. д., например у1(х1), у2(х2), …, или соответствующие выражения.
  5. Щелкните за пределами области графика, что бы начать его построение.

Трехмерные, или 3D-графики, отображают функции двух переменных вида Z(X, Y). При построении трехмерных графиков в ранних версиях MathCAD поверхность нужно было определить математически (Рисунок 2, способ 2). Теперь применяют функцию MathCAD CreateMesh.

CreateMesh(F (или G, или f1, f2, f3), x0, x1, y0, y1, xgrid, ygrid, fmap)

Создает сетку на поверхности, определенной функцией F. x0, x1, y0, y1 – диапазон изменения переменных, xgrid, ygrid – размеры сетки переменных, fmap – функция отображения. Все параметры, за исключением F, - факультативные. Функция CreateMesh по умолчанию создает сетку на поверхности с диапазоном изменения переменных от –5 до 5 и с сеткой 2020 точек.

Пример использования функции CreateMesh для построения 3D-графиков приведен на Рисунке 2, способ 1. На Рисунке 2 построена одна и та же поверхность разными способами, с разным форматированием, причем изображены поверхности и под ними те же поверхности в виде контурного графика. Такое построение способно придать рисунку большую наглядность.

Рисунок - Пример построения на одном рисунке двух 3D-графиков разного типа

Нередко поверхности и пространственные кривые представляют в виде точек, кружочков или иных фигур. Такой график создается операцией Вставка График 3D Точечный, причем поверхность задается параметрически – с помощью трех матриц (X, Y, Z) (см. Рисунок 3, способ 2), а не одной как в примере на Рисунке 2. Для определения исходных данных для такого вида графиков используется функция CreateSpace (см. Рисунок 3, способ 1).

CreateSpace (F , t0, t1, tgrid, fmap) – Возвращает вложенный массив трех векторов, представляющих х-, у-, и zкоординаты пространственной кривой, определенной функцией F. t0 и t1 – диапазон изменения переменной, tgrid – размер сетки переменной, fmap – функция отображения. Все параметры, за исключением F, - факультативные.

Рисунок 3-Построение точечных 3D графиков

Построение пересекающихся фигур

Особый интерес представляет собой возможность построения на одном графике ряда разных фигур или поверхностей с автоматическим учетом их взаимного пересечения. Для этого надо раздельно задать матрицы соответствующих поверхностей и после вывода шаблона 3D-графика перечислить эти матрицы под ним с использованием в качестве разделителя запятой (Рисунок 4).

Рисунок - Построение двух пересекающихся поверхностей и одновременно контурного графика одной из них

Создание анимационного клипа

MathCAD имеет встроенную переменную FRAME, чье единственное назначение - управление анимациями:

  • Создайте объект, чей вид зависит от FRAME.
  • Убедитесь, что установлен режим автоматического расчета (Математика Автоматическое Вычисление).
  • Выберите Вид Анимация для вызова одноименного диалогового окна.
  • Заключите в выделяющий пунктирный прямоугольник часть рабочего документа, которую нужно анимировать.
  • Установите нижние и верхние границы FRAME (поля От: и До:).
  • В поле Скорость введите значение скорости воспроизведения (кадров/сек).
  • Выберите Анимация. Сейчас анимация только создается.
  • Сохраните анимацию как АVI файл (Сохранить как).
  • Воспроизведите сохраненную анимацию Вид Воспроизведение.

Контрольные вопросы

  1. Как вставить текстовую область в документ Mathcad?
  2. Как построить графики: поверхности; полярный; декартовый?
  3. Как построить несколько графиков в одной системе координат?
  4. Как изменить масштаб графика?
  5. Как определить координату точки на графике?
  6. Как построить гистограмму?
  7. Какие функции используются для построения трехмерных графиков?
  8. Как создать анимацию в Mathcad?
  9. Какое расширение имеют сохраненные файлы анимаций?


Лекция 3

Тема: Численное и символьное решение уравнений. Корни полинома

Способы решения уравнений. Поиск начального приближения. Графическое решение уравнений. Поиск корней Полина с использованием функции polyroots

Решение уравнений средствами Mathcad

Как известно, многие уравнения и системы уравнений не имеют аналитических решений. В первую очередь это относится к большинству трансцендентных уравнений. Доказано также, что нельзя построить формулу, по которой можно было бы решить произвольное алгебраическое уравнение степени выше четвертой. Однако такие уравнения могут решаться численными методами с заданной точностью (не более значения заданного системной переменной TOL).

Численное решение нелинейного уравнения

Для простейших уравнений вида f(x) = 0 решение в Mathcad находится с помощью функции root (Рисунок 5).

root( f(х1, x2, …), х1, a, b ) – Возвращает значение х1, принадлежащее отрезку [a, b], при котором выражение или функция f(х) обращается в 0. Оба аргумента этой функции должны быть скалярами. Функция возвращает скаляр.

Аргументы:

f(х1, x2, …) - функция, определенная где-либо в рабочем документе, или выражение. Выражение должно возвращать скалярные значения.

х1 - - имя переменной, которая используется в выражении. Этой переменной перед использованием функции root необходимо присвоить числовое значение. Mathcad использует его как начальное приближение при поиске корня.

a, b – необязательны, если используются, то должны быть вещественными числами, причем a < b.

Рисунок . Решение уравнений средствами Mathcad

Приближенные значения корней (начальные приближения) могут быть:

  1. Известны из физического смысла задачи.
  2. Известны из решения аналогичной задачи при других исходных данных.
  3. Найдены графическим способом.

Наиболее распространен графический способ определения начальных приближений. Принимая во внимание, что действительные корни уравнения f(x) = 0 - это точки пересечения графика функции f(x) с осью абсцисс, достаточно построить график функции f(x) и отметить точки пересечения f(x) с осью Ох, или отметить на оси Ох отрезки, содержащие по одному корню. Построение графиков часто удается сильно упростить, заменив уравнение f(x) = 0 равносильным ему уравнением: ,где функции f1(x) и f2(x) - более простые, чем функция f(x). Тогда, построив графики функций у = f1(x) и у = f2(x), искомые корни получим как абсциссы точек пересечения этих графиков.

Пример. Графически отделить корни уравнения: x lg x = 1. Это уравнение удобно переписать в виде равенства:

Отсюда ясно, что корни уравнения могут быть найдены как абсциссы точек пересечения логарифмической кривой y = lg x и гиперболы y = . Построив эти кривые, приближенно найдем единственный корень уравнения или определим его содержащий отрезок [2, 3].

Отсутствие сходимости функции root

Если после многих итераций Mathcad не находит подходящего приближения, то появится сообщение (отсутствует сходимость). Эта ошибка может быть вызвана следующими причинами:

Уравнение не имеет корней.

Корни уравнения расположены далеко от начального приближения.

Выражение имеет локальные max и min между начальным приближением и корнями.

Выражение имеет разрывы между начальными приближениями и корнями.

Выражение имеет комплексный корень, но начальное приближение было вещественным.

Чтобы установить причину ошибки, исследуйте график f(x). Он поможет выяснить наличие корней уравнения f(x) = 0 и, если они есть, то определить приблизительно их значения. Чем точнее выбрано начальное приближение корня, тем быстрее будет root сходиться.

Рекомендации по использованию функции root

Для изменения точности, с которой функция root ищет корень, нужно изменить значение системной переменной TOL. Если значение TOL увеличивается, функция root будет сходиться быстрее, но ответ будет менее точен. Если значение TOL уменьшается, то функция root будет сходиться медленнее, но ответ будет более точен. Чтобы изменить значение TOL в определенной точке рабочего документа, используйте определение вида . Чтобы изменить значение TOL для всего рабочего документа, выберите команду Математика Параметры… Переменные Допуск сходимости (TOL). .

Для выражения f(x) с известным корнем а нахождение дополнительных корней f(x) эквивалентно поиску корней уравнения h(x) = f(x)/(x  a). Подобный прием полезен для нахождения корней, расположенных близко друг к другу. Проще искать корень выражения h(x), чем пробовать искать другой корень уравнения f(x) = 0, выбирая различные начальные приближения.

Если два корня расположены близко друг от друга, следует уменьшить TOL, чтобы различить их.

Если функция f(x) имеет малый наклон около искомого корня, функция root(f(x), x) может сходиться к значению r, отстоящему от корня достаточно далеко. В таких случаях для нахождения более точного значения корня необходимо уменьшить значение TOL. Другой вариант заключается в замене уравнения

f(x) = 0 на g(x) = 0

Нахождение корней полинома

Для нахождения корней выражения, имеющего вид

vnxn + ... + v2x2 + v1x + v0,

лучше использовать функцию polyroots, нежели root. В отличие от функции root, функция polyroots не требует начального приближения и возвращает сразу все корни, как вещественные, так и комплексные.

Polyroots(v)

Возвращает корни полинома степени n. Коэффициенты полинома находятся в векторе v длины n + 1. Возвращает вектор длины n, состоящий из корней полинома.

Аргументы:

v – вектор, содержащий коэффициенты полинома.

Вектор v удобно создавать использую команду Символы Коэффициенты полинома. Рисунок 6 иллюстрирует определение корней полинома средствами Mathcad.

Рисунок . Определение корней полинома

Контрольные вопросы

  1. Назовите способы нахождения начального приближения.
  2. Какие функции для решения одного уравнения в MathCAD вы знаете? В чем их отличие?
  3. Какие аргументы функции root не обязательны?
  4. В каких случаях MathCAD не может найти корень уравнения?
  5. Какая системная переменная отвечает за точность вычислений?
  6. Как изменить точность, с которой функция root ищет корень?
  7. Как системная переменная TOL влияет на решение уравнения с помощью функции root?


Лекция 4

Тема: Численное и символьное решение систем уравнений. Решение СЛАУ в матричной форме

Функции Find и Miner решения систем уравнений. Функция lsolve для решения матричных уравнений

Решение систем уравнений

MathCAD дает возможность решать также и системы уравнений. Максимальное число уравнений и переменных равно 50. Результатом решения системы будет численное значение искомого корня.

Для решения системы уравнений необходимо выполнить следующее:

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

Напечатать ключевое слово Given. Оно указывает Mathcad, что далее следует система уравнений.

Введите уравнения и неравенства в любом порядке. Используйте [Ctrl]= для печати символа =. Между левыми и правыми частями неравенств может стоять любой из символов <, >, и .

Введите любое выражение, которое включает функцию Find, например: а:= Find(х, у).

Find(z1, z2, . . .) –Возвращает точное решение системы уравнений. Число аргументов должно быть равно числу неизвестных.

Ключевое слово Given, уравнения и неравенства, которые следуют за ним, и какое–либо выражение, содержащее функцию Find, называют блоком решения уравнений.

Следующие выражения недопустимы внутри блока решения:

Ограничения со знаком .

Дискретный аргумент или выражения, содержащие дискретный аргумент в любой форме.

Неравенства вида a < b < c.

Блоки решения уравнений не могут быть вложены друг в друга, каждый блок может иметь только одно ключевое слово Given и имя функции Find.

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

Можно вывести найденное решение, напечатав выражение вида:

Find(var1, var2,…) =.

Определить переменную с помощью функции Find:

a := Find(x) – скаляр,

var := Find(var1, var2,…) – вектор.

Это удобно сделать, если требуется использовать решение системы уравнений в другом месте рабочего документа.

Определить другую функцию с помощью Find

f(a, b, c, …) := Find(x, y, z, …).

Эта конструкция удобна для многократного решения системы уравнений для различных значений некоторых параметров a, b, c,…, непосредственно входящих в систему уравнений.

Сообщение об ошибке (Решение не найдено) при решении уравнений появляется, когда:

Поставленная задача может не иметь решения.

Для уравнения, которое не имеет вещественных решений, в качестве начального приближения взято вещественное число и наоборот.

В процессе поиска решения последовательность приближений попала в точку локального минимума невязки. Для поиска искомого решения нужно задать различные начальные приближения.

Возможно, поставленная задача не может быть решена с заданной точностью. Попробуйте увеличить значение TOL.

Пример 1 Рисунка 7 иллюстрирует решение системы уравнений в MathCAD.

Рисунок - Решение систем уравнений в MathCAD


Решение матричных уравнений

Рассмотрим систему n линейных алгебраических уравнений относительно n неизвестных х1, х2, …, хn:

В соответствии с правилом умножения матриц рассмотренная система линейных уравнений может быть записана в матричном виде Ах = b,

где:

Матрица А, столбцами которой являются коэффициенты при соответствующих неизвестных, а строками – коэффициенты при неизвестных в соответствующем уравнении, называется матрицей системы; матрица-столбец b, элементами которой являются правые части уравнений системы, называется матрицей правой части или просто правой частью системы. Матрица-столбец х, элементы которой - искомые неизвестные, называется решением системы.

Если матрица А - неособенная, то есть det A 0 то система (2), или эквивалентное ей матричное уравнение (3), имеет единственное решение. В самом деле, при условии det A 0 существует обратная матрица А-1. Умножая обе части уравнения (3) на матрицу А-1 получим:

Эта формула дает решение матричного уравнения и оно единственно.

Системы линейных уравнений удобно решать с помощью функции lsolve.

lsolve(А, b)–Возвращается вектор решения x такой, что Ах = b.

Аргументы:

А - квадратная, не сингулярная матрица.

b - вектор, имеющий столько же рядов, сколько рядов в матрице А.

На Рисунке 8 показано решение системы трех линейных уравнений относительно трех неизвестных.

Рисунок . Решение матричных уравнений


Приближенные решения

Функция Minerr очень похожа на функцию Find (использует тот же алгоритм).

Если в результате поиска не может быть получено дальнейшее уточнение текущего приближения к решению, Minerr возвращает это приближение. Функция Find в этом случае возвращает сообщение об ошибке. Правила использования функции Minerr такие же, как и функции Find.

Minerr(z1, z2, . . .)–Возвращает приближенное решение системы уравнений. Число аргументов должно быть равно числу неизвестных.

Если Minerr используется в блоке решения уравнений, необходимо всегда включать дополнительную проверку достоверности результатов.

Символьное решение уравнений

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

Решение уравнений в символьном виде позволяет найти точные или приближенные корни уравнения:

Если решаемое уравнение имеет параметр, то решение в символьном виде может выразить искомый корень непосредственно через параметр. Поэтому вместо того, чтобы решать уравнение для каждого нового значения параметра, можно просто заменять его значение в найденном символьном решении.

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

Команда Символы Переменные Вычислить позволяет решить уравнение относительно некоторой переменной и выразить его корни через остальные параметры уравнения.

Чтобы решить уравнение символьно необходимо:

Напечатать выражение (для ввода знака равенства используйте комбинацию клавиш [Ctrl]=).

Выделить переменную, относительно которой нужно решить уравнение, щелкнув на ней мышью.

Выбрать пункт меню Символы Переменные Вычислить.

Нет необходимости приравнивать выражение нулю. Если MathCAD не находит знака равенства, он предполагает, что требуется приравнять выражение нулю.

Чтобы решить систему уравнений в символьном виде, необходимо выполнить следующее:

Напечатать ключевое слово Given.

Напечатать уравнения в любом порядке ниже слова Given. Удостоверьтесь, что для ввода знака = используется [Ctrl]=.

Напечатать функцию Find, соответствующую системе уравнений.

Нажать [Ctrl]. (клавиша CTRL, сопровождаемая точкой). Mathcad отобразит символьный знак равенства .

Щелкнуть мышью на функции Find.

Пример 2 Рисунка 7 иллюстрирует символьное решение системы уравнений в MathCAD.

Контрольные вопросы

  1. Назовите функции для решения систем уравнений в MathCAD и особенности их применения.
  2. Опишите структуру блока решения уравнений.
  3. Какой знак равенства используется в блоке решения? Какой комбинацией клавиш вставляется в документ?
  4. Какие выражения не допустимы внутри блока решения уравнения?
  5. Опишите способы использования функции Find.
  6. В каких случаях MathCAD не может найти решение системы уравнений?
  7. Дайте сравнительную характеристику функциям Find и Minerr.
  8. Какие уравнения называются матричными?
  9. Как решать матричные уравнения? Назовите способы решения матричных уравнений.
  10. Как символьно решить уравнение или систему уравнений в MathCAD? Какой знак равенства используется? Какой комбинацией клавиш вставляется в документ?
  11. Назовите особенности использования символьного решения уравнений.


Лекция 5

Тема: Символьные расчеты в системе MathCAD.

Выполнение операций с выделенными переменными и с выделенными выражениями. Операции с выделенными матрицами. Стиль представления результатов

Символьные вычисления

Системы компьютерной алгебры снабжаются специальным процессором для выполнения аналитических (символьных) вычислений. Его основой является ядро, хранящее всю совокупность формул и формульных преобразований, с помощью которых производятся аналитические вычисления. Чем больше этих формул в ядре, тем надежней работа символьного процессора и тем вероятнее, что поставленная задача будет решена, если такое решение существует в принципе (что бывает далеко не всегда).

Ядро символьного процессора системы MathCAD — несколько упрощенный вариант ядра известной системы символьной математики Maple V фирмы Waterloo Maple Software, у которой фирма MathSoft (разработчик MathCAD) приобрела лицензию на его применение, благодаря чему MathCAD стала (начиная с версии 3. 0) системой символьной математики. Символьные вычисления выполняются столь же просто (для пользователя), как вычисление квадрата х.

Символьные операции можно выполнять двумя способами:

  • Непосредственно в командном режиме (используя операции меню Символы);
  • С помощью операторов символьного преобразования (используя палитру инструментов Символы ).

Выделение выражений для символьных вычислений

Чтобы символьные операции выполнялись, процессору необходимо указать, над каким выражением эти операции должны производиться, т. е. надо выделить выражение. Для ряда операций следует не только указать выражение, к которому они относятся, но и наметить переменную, относительно которой выполняется та или иная символьная операция. Само выражение в таком случае не выделяется.

Таким образом, для выполнения операций с символьным процессором нужно выделить объект (целое выражение или его часть) синими сплошными линиями.

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

Символьные операции

Операции с выделенными выражениями

Если в документе есть выделенное выражение, то с ним можно выполнять различные операции, представленные ниже:

Расчеты — преобразовать выражение с выбором вида преобразований из подменю;

Символические [Shift] F9 – выполнить символьное преобразование выделенного выражения;

С плавающей запятой… – вычислить выделенное выражение в вещественных числах;

Комплексные – выполнить вычисления в комплексном виде;

Упростить — упростить выделенное выражение с выполнением таких операций, как сокращение подобных слагаемых, приведение к общему знаменателю, использование основных тригонометрических тождеств и т д.;

Расширить — раскрыть выражение [например, для (Х + Y) (Х - Y) получаем X 2- Y 2];

Фактор — разложить число или выражение на множители [например, X 2- Y 2 даст (Х + Y) (Х - Y)];

Подобные — собрать слагаемые, подобные выделенному выражению, которое может быть отдельной переменной или функцией со своим аргументом (результатом будет выражение, полиномиальное относительно выбранного выражения);

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

Операции с выделенными переменными

Для ряда операций надо знать, относительно какой переменной они выполняются. В этом случае необходимо выделить переменную, установив на ней маркер ввода. После этого становятся доступными следующие операции подменю Переменные:

Вычислить — найти значения выделенной переменной, при которых содержащее ее выражение становится равным нулю;

Замена — заменить указанную переменную содержимым буфера обмена;

Дифференциалы — дифференцировать выражение, содержащее выделенную переменную, по этой переменной (остальные переменные рассматриваются как константы);

Интеграция — интегрировать все выражение, содержащее переменную, по этой переменной;

Разложить на составляющие... — найти несколько членов разложения выражения в ряд Тейлора относительно выделенной переменной;

Преобразование в Частичные Доли — разложить на элементарные дроби выражение, которое рассматривается как рациональная дробь относительно выделенной переменной.

Операции с выделенными матрицами

Операции с выделенными матрицами представлены позицией подменю Матрицы, которая имеет свое подменю со следующими операциями:

Транспонирование — получить транспонированную матрицу;

Инвертирование — создать обратную матрицу;

Определитель — вычислить детерминант (определитель) матрицы.

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

Операции преобразования

В позиции Преобразование содержится раздел операций преобразования, создающий подменю со следующими возможностями:

Фурье — выполнить прямое преобразование Фурье относительно выделенной переменной;

Фурье Обратное — выполнить обратное преобразование Фурье относительно выделенной переменной;

Лапласа — выполнить прямое преобразование Лапласа относительно выделенной переменной (результат — функция переменной s);

Лапласа Обратное — выполнить обратное преобразование Лапласа относительно выделенной переменной (результат — функция

переменной t);

Z — выполнить прямое Z-преобразование выражения относительно выделенной переменной (результат — функция переменной z);

Обратное Z — выполнить обратное Z-преобразование относительно выделенной переменной (результат — функция переменной n) .

Стиль представления результатов вычислений

На наглядность вычислений влияет стиль представления их результатов. Команда Стиль Вычислений... позволяет задать тот или иной стиль, задать вывод результата символьной операции под основным выражением, рядом с ним или вместо него (Рисунок 9).

Рисунок . Стиль Вычислений

Примеры символьных операций в командном режиме

Большинство символьных операций легко выполняются, так что ниже мы остановимся лишь на некоторых примерах. Символьная операция Расчеты обеспечивает работу с математическими выражениями, содержащими встроенные в систему функции и представленными в различном виде: полиномиальном, дробно-рациональном, в виде сумм и произведений, производных и интегралов и т. д. (Рисунок 10).

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

Особо следует отметить возможность выполнения численных вычислений с повышенной точностью — 20 знаков после запятой.

Для перехода в такой режим вычислений нужно числовые константы в вычисляемых объектах задавать с обязательным указанием десятичной точки, например 10.0 или 3.0, а не 10 или 3. Этот признак является указанием на проведение вычислений такого типа.

На Рисунке 10 показаны типовые примеры действия операции Расчеты. Здесь слева показаны исходные выражения, подвергаемые символьным преобразованиям, а справа — результат этих преобразований. Операция Расчеты одна из самых мощных, она позволяет в символьном виде вычислять суммы (и произведения) рядов, производные и неопределенные интегралы, выполнять символьные и численные операции с матрицами.

Эта операция содержит подменю. Команда Символические тут наиболее важная. Назначение других команд очевидно: они нужны, если результат требуется получить в форме комплексного или действительного числа. К примеру, если вы хотите вместо числа получить 3.141..., используйте команду С плавающей запятой…. В режиме символьных вычислений результат может превосходить машинную бесконечность системы — см. пример на вычисление ехр(1000.0) на Рисунке 10. При этом число точных значащих цифр результата практически не ограничено (или, точнее говоря, зависит от емкости ОЗУ).

Операция Разложить на составляющие... возвращает разложение в ряд Тейлора выражения относительно выделенной переменной с заданным по запросу числом членов ряда n (число определяется по степеням ряда). По умолчанию задано п = 6. В разложении указывается остаточная погрешность разложения. На Рисунке 11 представлено применение этой операции для разложения функции . Минимальная погрешность получается при малых х (см. графическое представление функции и ее ряда).

Рисунок . Разложение функции в ряд Тейлора

Операторы вычисления пределов функций

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

[Ctrl] L — ввод шаблона оператора вычисления предела функции при х, стремящемся к заданному значению,

[Ctrl] A — ввод шаблона вычисления предела функции слева от заданной точки,

[Ctrl] B — ввод шаблона вычисления предела функции справа от заданной точки.

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

Для получения результата установите после блока вычисления предела стрелку с острием, направленным вправо. Предел (если он существует) будет вычислен и появится в шаблоне у острия стрелки. Если функция не имеет предела, вместо результата появится надпись Undefine.

Рисунок . Вычисление пределов

Контрольные вопросы

  1. Назовите способы выполнения символьных операций в MathCAD.
  2. Что необходимо сделать с выражением перед применением символьных преобразований в командном режиме?
  3. Перечислите символьные операции с выделенными выражениями.
  4. Перечислите символьные операции с выделенными переменными.
  5. Перечислите символьные операции с выделенными матрицами.
  6. Перечислите символьные операции преобразования.
  7. Какие параметры определяет стиль представления результатов вычислений и где он задается?
  8. В каких случаях результат символьных преобразований помещается в буфер обмена?
  9. Каким образом можно вычислить предел в MathCAD?

PAGE 28

Основы работы с MathCAD. Математические выражения. Типы данных