Как поставить модуль в маткаде
Создатели Mathcad изначально поставили перед собой такую задачу, чтобы дать возможность профессионалам-математикам, физикам и инженерам самостоятельно проводить сложные расчеты, не обращаясь за помощью к программистам. Несмотря на блестящее воплощение этих замыслов, выяснилось, что вовсе без программирования Mathcad серьезно теряет в своей силе, в основном, из-за недовольства пользователей, знакомых с техникой создания программ и желающих осуществить свои расчеты в привычном для себя программистском стиле. Вместо знакомых принципов программирования, пользователям старых версий Mathcad предлагалось комбинировать несколько специфичных встроенных функций и ранжированные переменные (см. разд. 6.1).
Последние версии Mathcad имеют не очень мощный, но весьма элегантный собственный язык (см. разд. 62). С одной стороны, он дает возможность программисту эффективно применять программный код в документах Mathcad. С другой, простота и интуитивность языка программирования позволяет быстро ему обучиться. Наконец, программные модули внутри документа Mathcad сочетают в себе и обособленность (поэтому их легко отличить от остальных формул), и простоту смыслового восприятия.
Несмотря на небольшое число операторов, язык программирования Mathcad позволяет решать самые различные, в том числе и довольно сложные, задачи и является серьезным подспорьем для расчетов (см. разд. 6.3).
6.1. Программирование без программирования
В ранних версиях Mathcad встроенного языка программирования не было. Чтобы применять привычные операции проверки условий и организовывать циклы, приходилось изобретать причудливую смесь из встроенных функций условия if (листинг 6 1) и until и комбинаций ранжированных переменных (листинг 6.2).
В связи с устоявшимися традициями применения языка программирования функцию until настоятельно не рекомендуется использовать в дальнейшей работе (тем не менее, она действует в Mathcad 11, но отнесена к устаревшим функциям).
Листинг 6.1. Функция условия

Листинг 6.2. Организация цикла при помощи ранжированной переменной

Фактически, использование ранжированных переменных — мощный аппарат Mathcad, похожий на применение циклов в программировании. В подавляющем большинстве случаев намного удобнее организовать циклы (в том числе вложенные) с помощью ранжированных переменных, чем заниматься для этого программированием. Полезнее освоить технику, связанную с ранжированными переменными, векторами и матрицами, поскольку на ней основаны главные принципы расчетов в Mathcad, в частности подготовка графиков. (Более подробную информацию о ранжированных переменных и связанными с ними возможностями можно получить в гл. 4.)

Рис. 6.1. Панель инструментов Programming
6.2. Язык программирования Mathcad
Для вставки программного кода в документы в Mathcad имеется специальная панель инструментов Programming (Программирование), которую можно вызвать на экран нажатием кнопки Programming Toolbar на панели Math (Математика), как показано на рис. 6.1. Большинство кнопок этой панели выполнено в виде текстового представления операторов программирования, поэтому их смысл легко понятен.
Изложим последовательно основные составные элементы языка программирования Mathcad и рассмотрим примеры его использования.
6.2.1. Что такое программа?
Основными инструментами работы в Mathcad являются математические выражения, переменные и функции. Нередко записать формулу, использующую ту или иную внутреннюю логику (например возвращение различных значений в зависимости от условий), в одну строку не удается. Назначение программных модулей как раз и заключается в определении выражений, переменных и функций в несколько строк, часто с применением специфических программных операторов.
Сравните определение функции f (х) из листинга 6.1 с определением f (х) с помощью программного модуля (листинг 6.3).
Листинг 6.3. Функция условия, определенная с помощью программы

Несмотря на принципиальную эквивалентность определения функций и переменных через встроенные функции Mathcad или программные модули, программирование имеет ряд существенных преимуществ, которые в ряде случаев делают документ более простым и читаемым:
- возможность применения циклов и условных операторов;
- простота создания функций и переменных, требующих нескольких простых шагов (как в примере листинга 6.3);
- возможность создания функций, содержащих закрытый для остального документа код, включая преимущества использования локальных переменных и обработку исключительных ситуаций (ошибок).
Как видно из листинга 6.3, программный модуль обозначается в Mathcad вертикальной чертой, справа от которой последовательно записываются операторы языка программирования.
6.2.2. Создание программы (Add Line)
Чтобы создать программный модуль, например, представленный в предыдущем разделе (см. листинг 6.3):
- Введите часть выражения, которая будет находиться слева от знака присваивания и сам знак присваивания. В нашем примере это имя функции f (х).
- При необходимости вызовите на экран панель инструментов Programming (Программирование) (см. рис. 6.1).
- Нажмите на этой панели кнопку Add Line (Добавить линию).
- Если приблизительно известно, сколько строк кода будет содержать программа, можно создать нужное количество линий повторным нажатием кнопки Add Line (Добавить линию) соответствующее число раз (на рис. 6.2 показан результат трехкратного нажатия).
- В появившиеся местозаполнители введите желаемый программный код, используя программные операторы. В рассматриваемом примере в каждый местозаполнитель вводится строка, например, "positive11 (рис. 6.3), затем нажимается кнопка If (Если) на панели Programming (Программирование) и в возникший месгозаполнитель вводится выражение х>о (рис. 6.4).
После того как программный модуль полностью определен и ни один местозаполнитель не остался пустым, функция может использоваться обычным образом, как в численных, так и в символьных расчетах.
Не вводите с клавиатуры имена программных операторов. Для их вставки можно применять лишь сочетания клавиш, которые приведены в тексте всплывающей подсказки (рис. 6.2 и 6.3).

Рис. 6.2. Начало создания программного модуля

Рис. 6.3. Вставка программного оператора

Рис. 6.4. Вставка условия в программу
6.2.3. Разработка программы
Вставить строку программного кода в уже созданную программу можно в любой момент с помощью той же самой кнопки Add Line (Добавить линию). Для этого следует предварительно поместить на нужное место внутри программного модуля линии ввода. Например, расположение линии ввода на строке, показанной на рис. 6.5, приведет к появлению новой линии с местозаполнителем перед этой строкой. Если передвинуть вертикальную линию ввода из начала строки (как на рис. 6.5) в ее конец, то новая линия появится после строки. Если выделить строку не целиком, а лишь некоторую ее часть (рис. 6.6), то это повлияет на положение в программе новой строки кода (результат нажатия кнопки Add Line показан на рис. 6.7).
Не забывайте, что для желаемого размещения линий ввода внутри формулы можно использовать не только мышь и клавиши со стрелками, но и пробел. С помощью последовательных нажатий пробела линии ввода "захватывают" разные части формулы.

Рис. 6.5. Вставка новой строки в существующую программу

Рис. 6.6. Положение линий ввода влияет на положение новой линии

Рис. 6.7. Результат вставки новой линии в программу (из положения рис. 6.6)
Зачем может потребоваться вставка новой линии в положение, показанное на рис. 6.7? Новая вертикальная черта с двумя линиями выделяет фрагмент программы, который относится к условию х>0, находящемуся в его заголовке. Пример возможного дальнейшего программирования показан в листинге 6.4.
Листинг 6.4. Пример усовершенствования программы

В режиме выполнения программы, а это происходит при любой попытке вычислить f (х), выполняется последовательно каждая строка кода. Например, в предпоследней строке листинга 6.4 вычисляется f(i). Рассмотрим работу каждой строки кода этого листинга.
- Поскольку х=1, то условие х<0 не выполнено, и в первой строке ничего не происходит.
- Условие второй строки х>0 выполнено, поэтому выполняются обе следующие строки, объединенные короткой вертикальной чертой в общий фрагмент.
- Функции f(x) присваивается значение f(x) = "positive".
- Условие х>1000 не выполнено, поэтому значение "big positive" не присваивается f (х), она так и остается равной строке "positive".
- Последняя строка не выполняется, т. к. одно из условий (х>0) оказалось истинным, и оператор otherwise (т. е. "иначе") не понадобился.
Таким образом, основной принцип создания программных модулей заключается в правильном расположении строк кода. Ориентироваться в их действии довольно легко, т. к. фрагменты кода одного уровня сгруппированы в программе с помощью вертикальных черт.
6.2.4. Локальное присваивание (<—)
Язык программирования Mathcad не был бы эффективным, если бы не позволял создавать внутри программных модулей локальные переменные, которые "не видны" извне, из других частей документа. Присваивание в пределах программ, в отличие от документов Mathcad, производится с помощью оператора Local Definition (Локальное присваивание), который вставляется нажатием кнопки с изображением стрелки <- на панели Programming (Программирование).
Ни оператор присваивания :=, ни оператор вывода = в пределах программ не применяются.
Локальное присваивание иллюстрируется листингом 6.5. Переменная z существует только внутри программы, выделенной вертикальной чертой. Из других мест документа получить ее значение невозможно.
6.2.5. Условные операторы (if, otherwise)
Действие условного оператора if состоит из двух частей. Сначала проверяется логическое выражение (условие) справа от него. Если оно истинно, выполняется выражение слева от оператора if. Если ложно — ничего не происходит, а выполнение программы продолжается переходом к ее следующей строке. Вставить условный оператор в программу можно следующим образом (см. рис. 6.8):
- Если необходимо, введите левую часть выражения и оператор присваивания.
- Создайте новую строку программного кода, нажав на панели Programming (Программирование) кнопку Add Line (Добавить строку).
- Нажмите кнопку условного оператора if.
- Справа от оператора if введите условие. Пользуйтесь логическими операторами, вводя их с панели Boolean (Булевы операторы).
- Выражение, которое должно выполняться, если условие истинно, введите слева от оператора if.
- Если в программе предусматриваются дополнительные условия, добавьте в программу еще одну строку нажатием кнопки Add Line и введите их таким же образом, используя оператор if или otherwise.
Оператор otherwise используется совместно с одним или несколькими условными операторами if и указывает на выражение, которое будет выполняться, если ни одно из условий не оказалось истинным. Примеры использования операторов if и otherwise приведены в предыдущих разделах (см. листинги 6.3 и 6.4).

Рис. 6.8. Вставка условного оператора
6.2.6. Операторы цикла (for, while, break, continue)
В языке программирования Mathcad имеются два оператора цикла: for и while. Первый из них дает возможность организовать цикл по некоторой переменной, заставляя ее пробегать некоторый диапазон значений. Второй создает цикл с выходом из него по некоторому логическому условию. Чтобы вставить в программный модуль оператор цикла:
- Создайте в программном модуле новую линию.
- Вставьте один из операторов цикла for или while нажатием одноименной кнопки на панели Programming (Программирование).
- Если выбран оператор for (рис. 6.9), то вставьте в соответствующие ме-стозаполнители имя переменной и диапазон ее значений (листинги 6.6 и 6.7), а если while — то логическое выражение, при нарушении которого должен осуществляться выход из цикла (листинг 6.8).

Рис. 6.9. Вставка оператора цикла
- В нижний местозаполнитель введите тело цикла, т. е. выражения, которые должны выполняться циклически.
При необходимости дополните программу другими строками и введите в них нужный код.
Диапазон значений переменной в условии цикла for можно задать как с помощью диапазона ранжированной переменной (листинг 6.6), так и с помощью вектора (листинг 6.7).
Листинг 6.6. Оператор цикла for с ранжированной переменной

Листиг 6.7. Оператор цикла for с вектором

Листинг 6.8. Опратор цикла while

Иногда необходимо досрочно завершить цикл, т. е. не по условию в его заголовке, а в некоторой строке в теле цикла. Для этого предназначен оператор break. Модификации листингов 6.6 и 6.8 с прерыванием цикла оператором break приведены в листингах 6.9 и 6.10, соответственно. Например в листинге 6.9, как только значение переменной цикла i достигает 2, цикл, благодаря оператору break в последней строке программного модуля, прерывается. Соответственно, значение переменной х остается равным 0+1+2=3.
Листинг 6.9. Оператор break внутри цикла for

Листинг 6.10. Оператор break внутри цикла while

Чтобы четче обозначить границы завершения тела цикла, в его конце может использоваться дополнительная строка с оператором continue, который вводится одноименной кнопкой панели Programming. Примеры, модернизирующие листинги 6.7 и 6.8, иллюстрируются листингами 6.11 и 6.12, соответственно. Как видно, на результат программы наличие оператора continue не влияет.
Листинг 6.11. Оператор continue в конце цикла while

Листинг 6.12. Оператор continue в конце цикла for

6.2.7. Возврат значения (return)
Если для определения переменной или функции применяется программный модуль, то его строки исполняются последовательно при вычислении в документе этой переменной или функции. Соответственно, по мере выполнения программы рассчитываемый результат претерпевает изменения. В качестве окончательного результата выдается последнее присвоенное значение (примеры можно найти в листингах 6.3—6.12). Чтобы подчеркнуть возврат программным модулем определенного значения, можно взять за правило делать это в последней строке программного модуля (листинг 6.13).
Листинг 6.13. Возврат значения обозначенявно в последней строке программы

Вместе с тем, можно прервать выполнение программы в любой ее точке (например с помощью условного оператора) и выдать некоторое значение, применив оператор return. В этом случае при выполнении указанного условия (листинг 6.14) значение, введенное в местозаполнитель после return, возвращается в качестве результата, а никакой другой код больше не выполняется. Вставляется в программу оператор return с помощью одноименной кнопки панели Programming (Программирование).
Листинг 6.14. Применение оператора return

6.2.8. Перехват ошибок (on error)
Программирование в Mathcad позволяет осуществлять дополнительную обработку ошибок. Если пользователь предполагает, что выполнение кода в каком-либо месте программного модуля способно вызвать ошибку (например деление на ноль), то эту ошибку можно перехватить с помощью оператора on error. Чтобы вставить его в программу, надо поместить линии ввода в ней в нужное положение и нажать кнопку с именем оператора on error на панели Programming (Программирование). В результате появится строка с двумя ме-стозаполнителями и оператором on error посередине (рис. 6.10).

Рис. 6.10. Вставка оператора перехода по ошибке
В правом местозаполнителе следует ввести выражение, которое должно выполняться в данной строке программы. В левом — выражение, которое будет выполнено вместо правого выражения, если при выполнении последнего возникнет ошибка. Приведем пример применения оператора on error (листинг 6.15) в программном модуле, который рассчитывает функцию обратного числа значению n. Если n=0, то и присвоенное значение z=0, поэтому в последней строке программы выполняется правое выражение расчета i/z. Так происходит при расчете f (-2). Если попытаться вычислить f (0) как в конце листинга, то выполнение программы, заложенной в f (n), вызовет ошибку деления на ноль в последней строке программы. Соответственно, вместо выражения справа от оператора on error будет выполнено левое выражение, присваивающее функции f(n) строковое значение "user error: cannot divide by zero" (пользовательская ошибка: деление на ноль невозможно). Конечно, этой строке можно присвоить и текст на русском языке.

Рис. 6.11. Перехват ошибки деления на ноль
Оператор перехвата ошибок удобно применять в комбинации со встроенной функцией error(S). Она приводит к генерации ошибки в обычной для Mathcad форме с сообщением s. Пример усовершенствования листинга 6.15 для такого стиля обработки ошибки деления на ноль показан на рис. 6.11.
Обратите внимание, что сделанные изменения свелись к помещению текста сообщения об ошибке в аргумент функции error.
6.3. Примеры программирования
Рассмотрим два простых примера использования программных модулей в Mathcad для численных (листинг 6.16) и символьных (листинг 6.17) расчетов. В двух приведенных листингах используется большинство операторов, рассмотренных в данной главе. Когда вы станете сами разрабатывать свои программные модули в Mathcad, не забывайте, что операторы программирования вставляются в текст программы с помощью кнопок панели инструментов Programming (Программирование). Их имена нельзя ни в коем случае просто набивать на клавиатуре, поскольку они не будут восприняты Mathcad корректно.
С помощью средств программирования можно создавать намного более сложные программы. Несколько примеров достаточно эффективного применения программирования вы найдете в разд. "Фазовый портрет динамической системы" гл. 11 и разд. "Разностные схемы для ОДУ" гл. 12.
Редактирование выражений в MathСad
Для работы с Mathcad на высоком уровне необходимо освоить навыки редактирования выражений.
Подготовка
Программа Mathcad отличается стабильной работой и изменения небольшого масштаба можно проводить сразу. Но при крупных изменениях (копирование, вставка, вырезание, перемещение больших выражений) безопаснее всего будет сделать следующие действия:
- Проведите сохранение файла, для того, чтобы в случае проблем вернуться к предыдущей версии.
- Нажмите Расчет -> Остановить все расчеты, чтобы во время редактирования файла не проводились никакие вычислительные операции (индикатор слева внизу станет с зеленого серым)


После внесения изменений нажмите на кнопку Автоматический расчет.
Внутри математического выражения

сделайте масштаб равным 150%, чтобы вы могли видеть все операторы, в том числе и оператор возведения в степень, который обозначается символом ^.
Вставка
Нажав на любое место внутри выражения, вы увидите синий курсор. Все, что вы будете набирать, будет появляться в этом месте. Нажмите мышкой после числа 4 и добавьте цифру 7. Получится вместо числа 4 число 47.


Вы могли обратить внимание, что редактирование выражений напоминает по своим принципам редактирование текста.
Удалите число 7, используя клавишу [Backspace]. Опять переведите курсор на место после числа 4 и нажмите знак умножение [*]. Вы увидите, что около оператора появилось место для заполнения. Сюда вы можете ввести константу, числа или целые выражения. Наберите sin(a). Для ввода a нужно нажать на комбинацию [a][Ctrl+G].


Изменение оператора
Если вы нажмете на значок корня, он подсветится синим цветом. А выражение под корнем приобретет серый фон как при редактировании. Нажатием клавиши [Delete] вы сможете удалить сам оператор корня, но выражение под ним останется.


Когда вы нажмете на знак умножения между 2 и а, оператор умножения подсветится синим. А числа и переменные около него приобретут серый фон.

При нажатии на клавишу [Delete], точка замениться на мигающий знак ◦.

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

Оператор степени также не отображается до тех пор, пока вы не выделите само выражение (не перейдете к его редактированию).


Нажав на оператор степени, вы увидите, что основание и степень подсветятся серым. На примере это b и 2.

Теперь вы можете ввести другой оператор, который заменит старый. Выделите оператор степени, нажав на ^, и введите оператор деления [/].

Потренируйтесь самостоятельно редактировать выражения.

Операция отрицания, факториал и модуль, которые являются унарными, редактируются по тому же принципу. Для того, чтобы удалить оператор, нужно нажать на клавишу [Delete].


Для возврата оператора отрицания нужно нажать перед требуемым объектом и набрать на клавиатуре знак «минус» [-]. Для установки факториала нужно поставить курсор после требуемой переменной и ввести знак факториала [!]. Установить оператор модуля несколько сложнее, необходимо сначала выделить саму переменную. Как сделать это, мы обговорим дальше.
Выделение перетаскиванием указателя мыши
Для выделения части выражения нужно нажать перед ним и, не отпуская кнопку мыши, протянуть ее указатель над всей нужной частью. Фон за выражением окраситься в серый цвет. Попробуйте выполнить такую операцию, выделив часть выражения как на рисунке, не зацепив знак корня.

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

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


Важно это знать, так как местонахождение курсора имеет значение при вставке некоторых операторов. Для того чтобы привести все выражение к факториалу, необходим выделить все выражение слева направо и набрать знак факториала [!]. Заметьте, что появление скобок автоматизировано. Для установки корня выражение выделять нужно справа налево, тогда курсор будет перед выражением.
Форматирование выражений
Редактирование выражений можно выполнять в отдельности от текста, но выполняется это с помощью тех же операций. Редактирование выражений доступно с версии Prime 3.0. Зайдите во вкладку Редактирование формул и нажмите на выражение, которое мы рассматривали выше. По умолчанию для выражений используется шрифт Mathcad UniMath размером в 11 точек.

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

В десятом уроке мы будем говорить об обозначениях. Они меняют формат, но кроме этого, меняют и саму переменную. Например с применением обозначения можно отделить переменную m, которая будет обозначать массу, от переменной m, которая означает длину (метры).
Можно настроить шрифт для выражений по умолчанию. Для этого щелкните на любой пустой области, а затем выберите шрифт, который вам нужен. Это также можно сделать и для шаблонов, если вы используете их в работе. Если вы поменяете шрифт по умолчанию, то все выражения, созданные ранее, будут со старым шрифтом.
Резюме
Чтобы внести изменения в выражения:
- Для редактирования больших выражений сначала нужно сохранить файл и отключить расчет в автоматическом режиме.
- Увеличьте масштаб до 150-200% для удобного просмотра мелких операторов.
- Изменять оператор можно нажав на него и введя другой оператор.
- Для выбора переменной, выражения или константы для дальнейшего изменения необходимо нажать на левую кнопку мыши и протащить указатель с зажатой кнопкой. После этого можно переписать выражение или переменную на новую.
- Если вы при выделении протаскиваете указатель слева направо, то курсор мыши останется активным в конце выражения. Если справа налево, то в начале.
- Использование буфера обмена для копирования, вырезания и вставки выражений работает так же, как и для текста.
- Не забудьте включить автоматически расчеты после того, как закончите редактирование.
Для форматирования математических областей нужно использовать те же принципы, что и для текста, но делать это отдельно.
КР_студентам_cбросить / Пособие_MathCAD / Лаб_3_Операторы Mathcad
Операторы используются в математической области и предназначены для выполнения различных операций над операндами. Они могут вводиться с клавиатуры, кнопками палитры инструментов, а также командами меню.
В среде Mathcad рассматриваются основные операторы:
— векторов и матриц;
Рассмотрим их подробней.
Арифметические операторы
Арифметические операторы MathCAD реализуют обычные операции математики над операндами. В таблице 3.1 приведена панель арифметических операторов и их горячие клавиши для вызова их с клавиатуры.
Арифметические операторы MathCAD.
Горячие клавиши:
Панель Арифметика:

корень n-ой степени
p[Ctrl]g или [Ctrl][Shift]p
(целое с дробной частью)
деление (/) запись дробью
деление (
) запись в строку
присваивание (:=)
Вычисление (=)
Приведем пример использования арифметических операторов:

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

[Ctrl]M
получить обратную матрицу
определитель матрицы и модуль
выделить из матрицы столбец
скалярное произведение матриц
векторное произведение матриц
сумма элементов вектора
преобразовать матрицу в изображение
отсутствуют:
возведение матрицы в степень
Приведем несколько примеров использования операторов матриц:


Приведем пример использования векторизации. Пусть дано квадратное уравнение

где а, b, c – вектора из четырех аргументов каждый. Найти корни уравнения. Пусть

Приведем примеры некоторых операций с векторами.


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

суммирование с ранжированной переменной
произведение с ранжированной переменной
Приведем несколько примеров использования операторов вычислений:
Оператор «производная» предназначен для нахождения численного значения производной функции в заданной точке. Производная вычисляется с точностью 7-8 значащих цифр:

Оператор «n-ая производная» предназначен для нахождения численного значения производной высокого порядка функции в заданной точке. Точность алгоритма уменьшается на одну значащую цифру при увеличении порядка производной на одну единицу:

Рис. 3.1. Функция и ее первая производная
Оператор «интегрирование» предназначен для численного интегрирования функции на некотором интервале [а,b]. Точность интегрирования зависит от вида функции (гладкая, наличие точек разрыва, асимптот и т.д.) и устанавливается системной переменной TOL. При изменении точности необходимо соблюдать компромисс между точностью и временем вычисления.

Рис.2.2. Функция и ее интеграл
Суммирование выражения Х по i возвращает сумму ( ∑ ) при Xi по m ≤ i ≤ n, т.е.
где i, m, n – целые. Выражение Xi может быть любым. Если Х имеет несколько слагаемых, то их нужно взять в круглые скобки. Переменная i определена только внутри оператора суммирования. Она может быть дискретным аргументом.
Аналогично сумме ( ∑ ) можно вычислить произведения ( ∏ ) выражений Xi.

MathCAD имеет три шаблона, используемые для вычисления пределов (только символически). Например,

Булевы операторы
Булевы операторы используются в вычисляемых, условных или аналитических выражениях и возвращают 0 или 1. Они вызываются кнопкой
на математической палитре или с помощью главного меню View > Toolbars > Boolean (см. таблицу 3.4).
Приведем некоторые примеры использования булевых операторов:
Таблица 3.4.

Равно (
)
Меньше чем (
)
Больше чем (
)
Меньше чем или равно (
)
Больше чем или равно (
)
Не равно (
)
Булево отрицание NOT (
)
Булево AND (
)
Булево OR (
)
Булево XOR (
)
Лабораторная работа 3
Цель работы:
— изучить арифметические операторы, операторы векторов и матриц, операторы вычислений и булевы операторы;
— использовать операторы MathCAD при создании документов.
Задание 1. Привести примеры использования арифметических операторов. Создать сложное выражение, сформированное с помощью большинства кнопок панели «Арифметика» (см. таблицу 3.1).
Задание 2. Создать матрицу, инициализировать ее, напечатать некоторые ее элементы, получить транспонированную и обратную матрицы, найти ее определитель, максимальный и минимальный элементы, получить сумму, разность, скалярное и векторное произведение матриц, выполнить операции векторизации.
Задание 3. Выполнить операции дифференцирования и интегрирования функций, заданных в лабораторной работе 2 (таблица 2.1), построить графики функций и их первых и вторых производных. Построить интегральные функции. Привести примеры использования операторов сумм и произведений. Привести примеры использования шаблонов пределов функций.
Задание 4. Привести примеры использования всех булевых операторов.
MathCAD — это просто! Часть 19. Немного о работе с комплексными числами
Комплексные числа — одна из важнейших математических абстракций, очень часто используемая в реальных расчетах инженерами, физиками, электронщиками и другими специалистами. Само собой, настолько важная часть математики, как работа с комплексными числами, не могла остаться вне поля зрения разработчиков MathCAD’а. Сегодня мы с вами как раз и поговорим о том, как можно работать в MathCAD’е с ними — вы сможете самостоятельно убедиться в том, что это, в общем-то, не представляет каких-либо особых сложностей для пользователя этого мощнейшего математического пакета.
Суть теории комплексных чисел заключается, по существу, в том, что множество действительных чисел можно расширить до другого, нового, множества (оно как раз таки и имеет название множества комплексных чисел), в котором каждое число представимо в виде z = a + b*i, где i — мнимая единица (корень из числа -1, или, вернее, один из корней). При этом a называется действительной частью комплексного числа (обозначается как Re(z)), а b, соответственно, принято называть его мнимой частью. Обозначается же мнимая часть комплексного числа как Im(z). Стоит отметить тот факт, что нередко даже образованные люди теряются, когда им нужно произнести вслух термин «комплексное число». На какую букву ставить ударение в слове «комплексный» — на «о» или «е»? Честно говоря, правильного ответа на этот вопрос я не знаю. Даже в математических словарях и справочниках нет единодушия: в некоторых ударение ставят на одну букву, в некоторых — на другую. Традиционно используют, впрочем, ударение на букву «е» (есть даже шутка такая: «комплексными бывают обеды, а числа — только комплексные»). Но если вы где-то скажете «комплексные числа», то в тюрьму вас за это, конечно же, никто не посадит. Фактически же комплексное число является упорядоченной парой действительных чисел, и часто даже вместо a + b*i записывают комплексные числа в виде (a; b). В ряде практических вычислений нужно оперировать именно такими упорядоченными парами чисел — например, в той же радиоэлектронике такой парой могут служить амплитуда и частота сигнала. Чем же в таком случае комплексное исчисление так принципиально отличается от векторного? В первую очередь, своим математическим аппаратом, позволяющим осуществлять с довольно большой степенью удобства некоторые преобразования над ними.
Существуют различные формы представления комплексного числа, каждая из которых удобна в своем виде операций над этими числами. Та форма, с которой мы с вами уже успели познакомиться, называется алгебраической формой, или алгебраическим представлением комплексного числа. Она удобна для того, чтобы такие числа суммировать (ну, и вычитать, конечно же, тоже). Действительная часть складывается с действительной, мнимая с мнимой, и все получается хорошо. Но вот умножать или возводить в степень комплексные числа в алгебраической форме уже, мягко говоря, не так удобно. Для этого используют тригонометрическую или экспоненциальную формы записи комплексных чисел. В общем-то, эти две формы фактически представляют собой одну и ту же форму записи, которую чаще все же называют тригонометрической. Получается она из алгебраической формы довольно-таки просто. Для начала нужно получить два параметра, с помощью которых комплексное число представляется в тригонометрической форме. Первый параметр называется модулем числа и вычисляется как корень из суммы квадратов a и b. Второй параметр принято называть аргументом комплексного числа z, и вычисляется он как арктангенс выражения b/a. Для любого из комплексных чисел переход от алгебраической формы к тригонометрической не представляет никакой сложности, поскольку формулы, по которым вычисляются и модуль, и аргумент, очень просты и для понимания, и для запоминания, и для применения. Само же комплексное число z записывается в тригонометрической форме следующим образом: z = r (cos? + i*sin?). Здесь r — это модуль комплексного числа z, а ? — соответственно, как вы уже навреняка успели догадаться, его же аргумент. Экспоненциальная форма записи комплексного числа — это, как я уже говорил, по сути, та же тригонометрическая, поскольку на множестве комплексных чисел экспонента ведет себя совсем не так, как на множестве чисел действительных. Фактически та формула для тригонометрической записи числа, которую я только что показал вам, с помощью экспоненты может быть записана гораздо короче: z = r*ei*?. Как видите, с использованием экспоненциального представления становится особенно просто умножать комплексные числа друг на друга, а также возводить их в степень. Для того, чтобы возводить в степень числа в тригонометрическом их представлении, можно воспользоваться формулой Муавра, которая безо всяких сложностей отыщется в любом справочнике по высшей математике.
Комплексные числа в MathCAD: основы
Весь тот небольшой экскурс в работу с комплексными числами, который я привел выше, нужен только для того, чтобы напомнить (или, если кто-то не знал этого, то разъяснить), что же такое комплексные числа, и как именно с ними нужно работать. При работе в MathCAD’е, само собой, вам не понадобится собственноручно вычислять модуль и аргумент комплексного числа, не надо будет самостоятельно высчитывать степень экспоненты при перемножении комплексных чисел и даже не понадобится самому складывать действительную часть с действительной, а мнимую — с мнимой. Все за вас сделает этот мощный математический пакет. То есть, конечно, не все, а только черновую, вычислительную работу — постановка задачи и интерпретация результатов вычислений все равно останется за вами. Хорошая новость состоит в том, что для работы с комплексными числами не нужно как-то по- особенному настраивать среду MathCAD или применять какие-то новые арифметические операторы. Среда точно так же работает с комплексными числами, как и с действительными. Простой пример — сложение комплексных чисел. Попробуйте сложить два комплексных числа — например, 1+2i и 7-15i. Здесь, правда, стоит отдельно сказать пару слов относительно ввода в MathCAD’е мнимой единицы. Дело в том, что, если вы просто напишете ее как i, нажав на клавиатуре соответствующую клавишу, то система MathCAD посчитает, что вы ввели имя какой-либо переменной. Поэтому можно либо воспользоваться панелью инструментов Calculator (см. иллюстрацию, на которой нужная кнопка обведена кружком), либо вводить с клавиатуры комбинацию 1i.
После того, как вы попробуете складывать комплексные числа, можно попробовать их перемножать, чтобы убедиться в том, что MathCAD умеет делать и это. Можете попробовать возводить комплексные числа в какую-либо степень, а также любым другим образом поиздеваться над ними. Как и следовало ожидать, MathCAD с легкостью справляется с подобными заданиями. Поэтому вы можете работать с комплексными числами фактически точно так же, как и с действительными.
Комплексные числа в MathCAD: подробности и тонкости
Впрочем, конечно же, есть и некоторые тонкие моменты, связанные с отличиями в работе с комплексными и действительными числами. Самое главное из подобного рода отличий состоит, собственно говоря, в том, что операция извлечения корня с ними работает не совсем так, как надо — как, впрочем, и операция возведения в дробную степень, хотя для действительных чисел данные операции и абсолютно корректны. Дело в том, что на множестве комплексных чисел мы рассматриваем корень p n-й степени из числа z как множество решений уравнения pn = z. Если вы попробуете решить это уравнение с помощью оператора solve (хоть о нем мы говорили уже достаточно давно — думаю, вы еще не до конца забыли, как им пользоваться), то увидите, что для n-й степени это уравнение, согласно основной теореме алгебры, будет иметь ровно n решений. Если же для вычисления корня комплексного числа вы воспользуетесь операторами извлечения корня или возведения комплексного числа в дробную степень, то увидите, что подобные вычисления дадут вам только один корень из всех возможных, что не вполне корректно. Впрочем, в ряде практических задач вам будет нужен только один корень, но все равно его лучше получать с помощью solve, а затем уже выбирать среди результатов.
Ну, и напоследок такой вопрос: а как лучше обозначать мнимую единицу? Дело в том, что в литературе встречается два варианта ее обозначения: i и j. Первый более характерен для советских и постсоветских источников, второй — для зарубежных. Вполне может случиться так, что вам потребуется в вашем проекте использовать второе, а не первое, которое используется в MathCAD по умолчанию. Конечно же, эта мощная математическая среда позволяет нам изменить обозначение мнимой единицы на то, которое будет для нас наиболее удобным. Для того, чтобы поменять обозначение, нужно в меню Format выбрать пункт Result, а в появившемся окне на вкладке Display Options заменить параметр Imaginary Value. Вариантов этого параметра, конечно, не много — собственно, их всего два: либо i, либо j. Но больше вариантов, собственно говоря, и нету.
Итак, мы с вами познакомились с комплексными числами, а также с тем, как именно работать с ними в MathCAD’е. Вы смогли сами убедиться, что это совсем несложно, хотя, конечно, некоторые вычисления и имеют свои тонкости. Но тонкости есть везде, и главное — быть заранее готовым к тому, что есть немалый шанс с ними столкнуться. Поэтому, если вы внимательно читаете статьи серии «MathCAD — это просто», то будете хорошо подготовлены к встречам с различными неожиданностями в среде MathCAD. Успехов вам в работе с этим мощным математическим пакетом и интересных вычислений!
SF, spaceflyer@tut.by
Компьютерная газета. Статья была опубликована в номере 33 за 2008 год в рубрике soft