Как задать функцию в mathcad
Функции в Mathcad
Произвольные зависимости между входными и выходными параметрами задаются при помощи функций. Функции принимают набор параметров и возвращают значение, скалярное или векторное (матричное). В формулах рабочего листа можно использовать стандартные встроенные функции, а также функции, определенные пользователем.
Чтобы использовать функцию в выражении, ее следует вызвать по имени, указав в значения фактических входных параметров в скобках после имени функции. Имена простейших математических функций можно ввести с панели инструментов Калькулятор (Arithmetic). Информацию о других функциях можно почерпнуть в справочной системе или в приложении. Вставить в выражение стандартную функцию можно при помощи команды Вставка > Функция (Insert > Function). В диалоговом окне (рис. 1.9) слева выбирается категория, к которой относится функция, а справа – конкретная функция. В нижней части окна выдается информация о выбранной функции. При вводе функции через это диалоговое окно автоматически добавляются скобки и заполнители для значений параметров.

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

Если для вычисления пользовательской функции необходимо выполнить несколько операций, то в теле функции формируют необходимое число строк с помощью кнопки Add line панели Программирование и в появившиеся заполнители помещают формулы. Отметим, что в операторах тогда допустима операция внутреннего присваивания, задаваемая стрелкой, а все вычисленные подобным образом переменные являются локальными и за пределами функции будут не определенны. Так, на рис. 1.10 функция fct вычисляется за три действия, а переменные с2k и c3k будут видимыми только внутри функции.

При применении пользовательской функции в последующих формулах ее имя вводят вручную. В диалоговом окне Вставка функции оно не отображается.
Как задать функцию в mathcad
Эта глава посвящена основам вычислений в Mathcad. Она содержит все необходимые сведения о применении переменных и функций, операторов Присваивания, численного вывода и символьного вывода (см. разд. 3.1), а также других операторов (см. разд. 3.2). В заключение описываются основные средства управления процессом вычислений в Mathcad (см. разд. 3.3) и уверится несколько слов о том, каким образом происходит выдача сообщений об ошибках при вычислениях (см. разд. 3.4).
3.1. Переменные и функции
Основные инструменты математика — это операции с переменными величинами и функциями. В Mathcad переменные, операторы и функции реализованы в интуитивной форме, т. е. выражения в редакторе вводятся и вычисляются так, как они были бы написаны на листе бумаги. Порядок вычислений в документе Mathcad также очевиден: математические выражения и действия воспринимаются процессором слева направо и сверху вниз.
Перечислим основные действия, которые пользователь может совершать для определения и вывода переменных и функций.
3.1.1. Определение переменных
Чтобы определить переменную, достаточно ввести ее имя и присвоить ей неко-topoe значение, для чего служит оператор присваивания (см. следующий раздел).
3.1.2. Присваивание переменным значений
Чтобы присвоить переменной новое значение, например переменную х сделать равной 10:
- Введите в желаемом месте документа имя переменной, например х.
- Введите оператор присваивания с помощью клавиши <:> или нажатием соответствующей кнопки Definition (Присваивание) на панели инструментов Calculator или Evaluation (Выражения), как показано на рис. 3.1.
- Введите в появившийся местозаполнитель новое значение переменной (10).

Рис. 3.1. Результат ввода оператора присваивания
Результат перечисленных действий показан в листинге 3.1.
Кнопка оператора присваивания для удобства помещена сразу на две панели Calculator (Калькулятор) и Evaluation (Выражения).
Листинг 3.1. Присваивание переменной численного значения

Ввести новое значение переменной возможно как в виде числа, так и в виде математического выражения, содержащего другие переменные (листинг 3.2) и функции (см. следующие разделы), а также в виде строкового выражения (листинг 3.3.). В последнем случае будет создана переменная s не численного, а строкового типа.
Листинг 3.2. Присваивание переменной вычисленного значения выражения

Листинг 3.3. Присваивание переменной строкового значения

Если переменная с некоторым именем создается в данном документе впервые, то для ввода оператора присваивания, вместо двоеточия, допускается использовать символ равенства "=", который Mathcad автоматически заменит символом присваивания.
В некоторых случаях это невозможно, в частности, когда значение присваивается переменной, имя которой зарезервировано Mathcad. Например, присвоить значение переменной с именем N можно, лишь вводя двоеточие, т. к. по умолчанию это имя обозначает в Mathcad размерность силы (Ньютон).
Чтобы переопределить значение переменной, определенной в документе, оператор присваивания следует вводить не знаком равенства, а двоеточием, либо пользоваться панелью инструментов.
Не вполне соответствующий общепринятому математическому стилю вид оператора присваивания (не =, а :==) является, на самом деле, компромиссом, связанным с назначением Mathcad как системы программирования. Этот оператор показывает, что он действует, в отличие от других, не слева направо, а справа налево, поскольку значение (справа) задается переменной (слева). И если непосвященного математика внешний вид этого оператора может ввести в некоторое заблуждение, то пользователю Mathcad он прямо говорит о действии, выполняемом в данном месте документа: значение переменной не выводится на экран (о чем говорит знак =), а некоторое значение присваивается (:=) данной переменной.
Для подготовки отчетов, тем не менее, может потребоваться изменить отображение оператора присваивания с принятых по умолчанию символов ":=" на символ равенства. Это делается для конкретного оператора присваивания с помощью пункта View Definition As контекстного меню (рис. 3.2) либо для всего документа с помощью команды Tools / Worksheet Options / Display )(Сервис / Опции документа / Отображение) (см. разд. "Управление отображением некоторых операторов"гл. 2).

Рис. 3.2. Различное отображение оператора присваивания
Помимо разобранного оператора присваивания (а он применяется наиболее часто), существует также возможность глобального присваивания.
Функции в Mathcad записываются в обычной для математика форме:
- f (х, . ) — функция;
- f — имя функции;
- х. — список переменных.
Легче всего ввести написание функции в документ при помощи клавиатуры.
В Mathcad формально можно разделить функции на два типа:
- встроенные функции;
- функции, определенные пользователем.
Применение функций обоих типов в расчетах совершенно одинаково, с тем исключением, что любую встроенную функцию можно сразу использовать в любом месте документа (о вставке встроенных функций в документ читайте в разд. "Знакомство с Mathcad" гл. 1), а пользовательскую функцию необходимо предварительно определить в документе до момента вычисления ее значения.
3.1.4. Определение функции пользователя
Для того чтобы определить функцию пользователя, например f(x,y) = x2-cos (x+y):
- Введите в желаемом месте документа имя функции (f).
- Введите левую скобку "(", имена переменных через запятую х, у и правую скобку ")". При вводе левой скобки и запятой автоматически будут появляться соответствующие местозаполнители.
- Введите оператор присваивания с панели инструментов или нажатием клавиши <:>.
- Введите в появившийся местозаполнитель выражение, определяющее функцию x 2 -cos(x+y), пользуясь клавиатурой или панелями инструментов.
Результат ввода иллюстрируется листингом 3.4.
Листинг 3.4. Определение функции пользователя

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

Рис. 3.3. Сообщение об ошибке ("Эта переменная или функция ранее не определена")
3.1.5. Вывод значений переменных и функций
Чтобы вычислить в документе некоторое математическое выражение, которое может состоять из переменных, операторов и функций (встроенных и определенных пользователем):
- Введите это выражение, например х у .
- Нажмите клавишу <=>.
В результате справа от введенного знака равенства появится вычисленное значение выражения (листинг 3.5, предпоследняя строка). Нельзя изменять содержимое выражения справа от знака равенства, поскольку оно есть результат работы вычислительного процессора Mathcad, совершенно скрытой от глаз пользователя. Подчас (когда выражение содержит функции, реализующие разные численные методы, часто в сложных комбинациях) алгоритмы расчета бывают очень затейливыми и занимают существенное время. О том, что некоторое выражение документа находится в стадии вычисления, свидетельствует обрамляющая его зеленая рамка и невозможность предпринять какое-либо действие с программой Mathcad.
Листинг 3.5. Вычисление выражения.

Заметьте, что, перед тем как вычислить значение математического выражения, Вы обязаны определить значение каждой входящей в него переменной (две первых строки листинга 3.5). Вычисляемое выражение может содержать любое количество переменных, операторов и функций. Вывод текущего значения той или иной переменной приведен в последней строке листинга 3.5, а значения функции — в листингах 3.6 и 3.7.
Листинг 3.6. Вывод значения функции.

Листинг 3.7. Вывод значения функции (продолжение листинга 3.6)

При определении функций пользователя через различные переменные важную роль играет присутствие имен этих переменных в списке аргументов или определение их выше в тексте документа. Например, результаты вывода значения функции f (х,у) в листинге 3.6 остались бы точно такими же, если до или после определения функции присвоить переменным х и у некоторые значения. Так происходит потому, что значения аргумента заданы непосредственно в строке вычисления функции. Если же определить функцию f (х) так, как это сделано в листинге 3 8, то она будет зависеть от значения переменной у в момент определения f (х) (т. е. у=5), поскольку у не входит в список аргументов f (х). Фактически f (x) =x 2 -cos (х+5). Даже если где-нибудь ниже в программе пользователь переопределит значение у, Mathcad все равно будет помнить функцию f (х) как выражение x2-cos (х+5) (листинг 3.9).
Листинг 3.8. К определению функций пользователя

Листинг 3.9. К определению функций пользователя (продолжение листинга 3.8)

Внимательнее относитесь к обязательному требованию совпадения количества аргументов при определении и выводе значения функций. Сравните, например, листинги 3.6 и 3.8, в которых, несмотря на одинаковое выражение в правой части определения функции f, создаются две существенно разные функции f (х, у) и f (х), соответственно
Вводя знак равенства для вычисления математических выражений в Math-cad, Вы фактически применяете оператор вычисления или численного вывода (numerical evaluation). Его можно ввести также нажатием кнопки со знаком равенства на одной из панелей инструментов: Calculator (Калькулятор) или Evaluation (Выражения) (см. рис. 3.1). Оператор численного вывода означает, что все вычисления проводятся с числами, а различные встроенные алгоритмы реализуются соответствующими численными методами.
3.1.6. Символьный вывод
Наряду с численным выводом, в Mathcad имеется возможность символьного, или аналитического, вычисления значения выражения. Для символьных вычислений имеется ряд специальных средств, которые будут детально рассмотрены позднее (см. гл. 5), самое простое из них — это оператор символьного вывода (symbolic evaluation). Он обозначается символом -» и в большинстве случаев применяется точно так же, как оператор численного вывода, однако внутреннее различие между действием этих двух операторов огромно. Если численный вывод — это в обычном смысле этого слова "запрограммированный" расчет по формулам и численным методам, скрытый от глаза пользователя, то символьный вывод — результат работы системы искусственного интеллекта, встроенной в Mathcad и называемой символьным процессором. Работа символьного процессора также невидима (и, чаще всего, даже трудно представима) пользователю и заключается в анализе самого текста математических выражений. Конечно, гораздо более узкий круг формул можно рассчитать символьно, хотя бы потому, что, вообще говоря, относительно не такая большая часть математических задач допускает аналитическое решение.
Чтобы попытаться вычислить символьно математическое выражение, например В • sin(arcsin(С • Х)), где В,С,Х — некоторые переменные:
- Введите это выражение: В • sin(asin(С • Х)).
- Введите оператор символьного вывода сочетанием клавиш <Ctrl>+<>, либо нажатием соответствующей кнопки (рис. 3.4) на панели Symbolic (Символика) или Evaluation (Выражения).

Рис. 3.4. Кнопка вставки оператора символьного вывода
После этого справа от символа оператора символьного вывода появится определенное аналитически значение выражения (листинг. 3.10) либо сообщение об ошибке "No answer found" (Ответ не найден). Если символьному процессору Mathcad не удается аналитически упростить выражение, то оно будет выдано справа от знака -» в том же виде, что и слева.
Листинг 3.10. Символьный вывод выражения

Листинг 3.11. Символьный вывод выражений, которое не удалось упростить

Присмотритесь внимательнее к листингам 3.10 и 3.11: для символьного вывода не требуется предварительно определять переменные, входящие в левую часть выражения! Если же переменным были все-таки присвоены ранее некоторые значения, символьный процессор просто подставит их в упрощенную формулу и выдаст результат с учетом этих значений (см. в качестве примера два следующих листинга — 3.12 и 3.13).
Точно так же, как рассчитываются численно значения функций, можно вычислять их и с помощью символьного процессора. Сравните соответствующие результаты, которые представлены в листинге 3.12 (конечно, символьный и численный ответы равны: 9•cos(8)=-1.31). Аналогично можно "символьно выводить значения переменных. Например, присвоить некоторой переменной значение функции или сложного выражения (листинг 3.13, вторая строка) и затем вывести значение переменной в символьном виде.
Листинг 3.12. Численный и символьный вывод значения функции

Листинг 3.13. ЧислвйныЙ и символьный вывод

Как показывают приведенные примеры, преимущество символьных вычислений заключается в выдаче аналитического результата, который для математика часто является более ценным. Поэтому, исходя из специфики конкретных задач, решайте, стоит ли наряду с численными расчетами попытаться получить и символьное решение.
3.1.7. Допустимые имена переменных и функций
В заключение перечислим, какие символы можно, а какие нельзя применять в именах, которые пользователь дает переменным и функциям, и перечислим ряд ограничений на присваивание имен. Допустимые символы:
- большие и маленькие буквы — Mathcad различает регистр: так, имена х и х определяют разные переменные. Кроме того, Mathcad различает и шрифт, например имена х и х воспринимаются как разные;
- числа от 0 до 9;
- символ бесконечности (клавиши <Ctrl>+<Shift>+<Z>);
- штрих (клавиши <Ctrl>+<F7>);
- греческие буквы — они вставляются с помощью панели Greek (Греческие символы);
- символ подчеркивания;
- символ процента;
- нижний индекс.
С осторожностью используйте нижний индекс в определении имен переменных и функций, не путая его с индексом векторной переменной. Чтобы ввести имя с нижним индексом, например, Kmax: введите букву "K", затем точку ".", после чего линии ввода опустятся чуть ниже, и только затем сам нижний индекс max.
Теперь рассмотрим ограничения на имена переменных и функций:
- имя не может начинаться с цифры, символа подчеркивания, штриха или процента;
- символ бесконечности должен быть только первым в имени;
- все буквы в имени должны иметь один стиль и шрифт;
- имена не могут совпадать с именами встроенных функций, констант и размерностей, например sin или TOL. Тем не менее, допускается их переопределение, но тогда одноименная встроенная функция больше не будет использоваться по первоначальному назначению;
- Mathcad не различает имен переменных и функций: если сначала определить функцию f (х), а потом переменную f, то в оставшейся части документа будет утеря* доступ к функции f (x).
Имена, содержащие операторы и специальные символы
В некоторых случаях желательно использовать имена переменных и функций, содержащие символы операторов Mathcad или другие символы, которые нельзя вставлять в имена непосредственно. Для этого существуют две возможности.
Во-первых, имя, составленное из любых символов и заключенное в квадратные скобки, Mathcad будет воспринимать корректно (рис. 3.5, сверху). Например, чтобы ввести имя [a+b]:
- Нажмите клавиши <Ctrl>+<Shift>+<J> — появится пара квадратных скобок с местозаполнигелем внутри.
- Введите в местозаполяитель последовательность любых символов, например a+b.

Рис. 3.5. Специальные символы в именах переменных
Во-вторых, если Вас не устраивает наличие квадратных скобок в имени, то вставить в него специальные символы можно чуть более сложным способом. Например, для ввода имени a+b:
- Введите первый символ (а), который должен быть допустимым для имен Mathcad.
- Нажмите клавиши <Ctrl>+<Shift>+<K> для перехода в специальный "текстовый" режим редактирования.
- Введите последовательность любых символов (+).
- Еще раз нажмите клавиши <Ctrl>+<Shift>+<K>, чтобы вернуться в обычный режим редактирования. Теперь можно продолжать ввод допустимых символов в имя (b).
Результат этих действий показан в нижней строке рис. 3.5. Если требуется, чтобы имя начиналось со специального символа (средняя строка рис. 3.5), то необходимо выполнить все пункты 1—4, вводя в начале имени произвольный допустимый символ, а по завершении ввода просто стирая его.
Каждый оператор в Mathcad обозначает некоторое математическое действие в виде символа. В полном согласии с терминологией, принятой в математике, ряд действий (например, сложение, деление, транспонирование матрицы и т. п.) реализован в Mathcad в виде встроенных операторов, а другие действия (например, sin, erf и т. п.) — в виде встроенных функций. Каждый оператор действует на одно или два числа (переменную или функцию), которые называют операндами. Если в момент вставки оператора одного или обоих операндов не хватает, то недостающие операнды будут отображены в виде местозаполнителей. Символ любого оператора в нужное место документа вводится одним из двух основных способов:
- нажатием соответствующей клавиши (или сочетания клавиш) на клавиатуре;
- нажатием указателем мыши соответствующей кнопки на одной из математических панелей инструментов.
Напомним, что большинство математических панелей содержат сгруппированные по смыслу математические операторы, а вызвать эти панели на экран можно нажатием соответствующей кнопки на панели Math (Математика).
Везде в этом разделе будем рассматривать только второй способ вставки оператора Те же, кто предпочитает использовать клавиатуру, найдут перечень горячих клавиш в приложении 2.
Выше мы рассмотрели особенности применения трех операторов: присваивания (см. разд. 3.1.2), численного (см. разд. 3.1.5) и символьного вывода (см. разд. 3.1.6). Разберем в данном разделе действие прочих операторов Mathcad и возможности определения операторов пользователя.
3.2.1. Арифметические операторы
Операторы, обозначающие основные арифметические действия, вводятся с панели Calculator (Калькулятор), показанной на рис. 3.6:
- сложение и вычитание: + — (листинг 3.14);
- умножение и деление: • / + (листинг 3.15);
- факториал: ! (листинг 3.16);
- модуль числа: |х| (листинг 3.16);
- квадратный корень: (листинг 3.17);
- корень n-й степени: (листинг 3.17);
- возведение х в степень у: х y (листинг 3.17);
- изменение приоритета: скобки (листинг 3.18);
- численный вывод: = (все листинги).

Рис. 3.6. Панель Calculator
Листинг 3.14. Операторы сложения, вычитания и отрицания

Листинг 3.15. Операторы деления и умножения

Листинг 3.16. 0ператор факториала и модуля

Листинг 3.17. Операторы извлечения корня и возведения в степень

Листинг 3.18. Оператор изменения приоритета ()

Как видно, с помощью этой панели можно ввести не только перечисленные операторы, но и их часто используемые комбинации, например, возведение экспоненты в степень, смешанное произведение и деление, а также мнимую единицу и число я. Заметим, что допускается запись оператора деления как в одну, так и в две строки, что обеспечивается наличием двух соответствующих кнопок на панели Calculator.
Напомним, что в редакторе Mathcad можно выбирать отображение оператора умножения (см. разд. "Управление отображением некоторых операторов" гл. 2). Для того чтобы поменять его:
- Щелкните правой кнопкой мыши на выражении, содержащем оператор умножения.
- Выберите первый пункт появившегося контекстного меню View Multiplication As (Представление умножения).
- В подменю выберите пункт, соответствующий стилю представления умножения: в виде обычной точки (Dot), точки с уменьшенным расстоянием от него до сомножителей (Narrow Dot), толстой точки (Large Dot), крестика (X), без символа с небольшим расстоянием между сомножителями (Thin Space), вообще вместе (No Space). Чтобы просмотреть, как будет выглядеть выражение в двух последних представлениях, нужно снять с него выделение. Чтобы вернуть представление по умолчанию, выберите в подменю контекстного меню пункт Default.
Некоторых операторов, например таких, как оператор комплексного сопряжения, на панелях инструментов нет (листинг 3.19). Его приходится вводить исключительно с клавиатуры нажатием клавиши <"> в пределах математической области.
Листинг 3.19. Оператор комплексного сопряжения

3.2.2. Вычислительные операторы
Вычислительные операторы вставляются в документы при помощи панели инструментов Calculus (Вычисления). При нажатии любой из кнопок в документе появляется символ соответствующего математического действия, снабженный несколькими местозаполнителями. Количество и расположение местозаполнителей определяется типом оператора и в точности соответствует их общепринятой математической записи. Например, при вставке оператора суммы (рис. 3.7) необходимо задать четыре величины: переменную, по которой надо произвести суммирование, нижний и верхний пределы, а также само выражение, которое будет стоять под знаком суммы (пример заполненного оператора суммы см. ниже в листинге 3.22).
Для того чтобы вычислить неопределенный интеграл, следует заполнить два местозаполнителя: подынтегрального выражения и переменной интегрирования.

Рис. 3.7. Вставка оператора суммирования
После ввода какого-либо вычислительного оператора имеется возможность вычислить его значение либо численно, нажатием клавиши <=>, либо символьно, с помощью оператора символьного вывода.
Перечислим основные вычислительные операторы и приведем простейшие примеры их применения:
- дифференцирование и интегрирование;
- производная (листинг 3.20);
- N-Я производная (листинг 3.20);
- определенный интеграл (листинг 3.21);
- неопределенный интеграл (листинг 3.21).
- сумма (листинг 3.22);
- произведение (листинг 3.22);
- сумма ранжированной переменной (листинг 3.23);
- произведение ранжированной переменной (листинг 3.23).
- двусторонний;
- левый;
- правый.
Листинг 3.20. Операторы вычисления производных

Листинг 3.21. Операторы интегрирования

Листинг 3.22. Операторы суммирования и вычисления произведения

Листинг 3.23. Операторы суммировани и вычисления произведения

О назначении и особенностях использования ранжированных переменных будет рассказано в следующей главе (см. разд. "Ранжированные переменные" гл. 4).
Листинг З.24. Операторы символьного вычисления пределов

В отличие от других, операторы поиска предела могут быть вычислены только символьно (см. гл. 5).
Операторы суммирования и вычисления произведения фактически являются более удобной записью операторов + и х с большим количеством операндов. А вот вычислительные операторы поиска производных и интегралов существенно отличаются от операторов умножения и сложения тем, что реализованы на основе определенных численных методов, которые в скрытой (невидимой для пользователя) форме запускаются вычислительным процессором Mathcad. При численном расчете интегралов и производных необходимо, хотя бы в общих чертах, представлять принцип работы соответствующих алгоритмов, чтобы избежать ошибок и неожиданностей при получении результатов (численным методам интегрирования и дифференцирования посвящена гл. 7).

Рис. 3.8. Поиск бесконечного ряда
Важно отметить, что имеется возможность вычислять интегралы с одним или обоими бесконечными пределами, а также в символьной форме искать значения бесконечных пределов, сумм (рядов) и произведений. Для удобства ввода кнопка с символом бесконечности помещена на ту же панель инструментов Calculus (Вычисления). Пример вставки символа бесконечности в задаче поиска бесконечного ряда приведен на рис. 3.8.
3.2.3. Логические операторы
Результатом действия логических, или булевых, операторов являются только числа 0 (если логическое выражение, записанное с их помощью, истинно) или 1 (если логическое выражение ложно). Чтобы вычислить значение логического выражения, например 1=1 (рис. 3.9):
- Вставьте с панели Boolean (Булевы операторы) соответствующий оператор =.
- В появившиеся местозаполнители вставьте операнды (две единицы).
- Нажмите клавишу <=>, чтобы получить ответ.

Рис. 3.9. Вставка логического оператора
Получается абсурдное на первый взгляд выражение i«i=i. Однако на самом деле все правильно. Справа от оператора вывода записано логическое выражение 1*1 (обратите внимание, что логический знак равенства выглядит по-другому, нежели обычный), которое является истинным. Поэтому значение данного выражения равно 1, что и показано справа от знака равенства.
Перечислим логические операторы:
- больше (Greater Than);
- меньше (Less Than);
- больше или равно (Greater Than or Equal);
- меньше или равно (Less Than or Equal);
- равно (Equal);
- не равно (Not Equal to);
- и (And);
- или (Or);
- исключающее или (Exclusive or);
- отрицание (Not).
Операнды в логических выражениях могут быть любыми числами. Однако если оператор по смыслу применим только к 0 и 1, то любое неравное нулю число по умолчанию принимается равным 1. Но в результате все равно может получиться либо 0, либо 1. Например, ¬ (-0.33)=0.
Примеры действия логических операторов приведены в листингах 3.25 и 3.26.
Листинг 3.25. Операторы сравнения.

Листинг 3.26. Булевы операторы.

Логические операторы чрезвычайно важны при записи подлежащих решению алгебраических уравнений и неравенств в приемлемой для Mathcad форме.
3.2.4. Матричные операторы
Матричные операторы предназначены для совершения различных действий над векторами и матрицами. Поскольку большинство из них реализует численные алгоритмы, о них будет подробно рассказано в части III (см. гл. 9).
3.2.5. Операторы выражения
Почти все вычислительные операторы были рассмотрены выше (см. разд. 3.1). Они сгруппированы на панели Evaluation (Выражения).
- Оценить численно (Evaluate Numerically) (см. разд. 3.1.5)
- Вычислить символьно (Evaluate Symbolically) (см. разд. 3.1.6)
- Присваивание (Definition) (см. разд. 3.1.2)
- Глобальное присваивание (Global Definition)
Рассмотрим различие между операторами обычного присваивания и глобального присваивания (процесс его вставки в документ показан на рис. 3.10). Для того чтобы вычислить выражение, содержащее некоторую переменную или функцию, необходимо, чтобы этой переменной ранее в документе было присвоено какое-либо значение. Иначе будет выдаваться сообщение об ошибке (рис. 3.11). Однако если в любой части документа (например в самом низу) вставить оператор глобального присваивания, то переменная будет определена в любой части документа (листинг 3.27).
Листинг 3.27. Действие операторов присваивания и глобального присваивания


Рис. 3.10. Кнопка глобального присваивания на панели Evaluation

Рис. 3.11. Обычное присваивание сказывается только на нижеследующей части документа
Как видно из листинга 3.27, обычное, или локальное, присваивание переменной х действует от момента х:=10 до момента глобального присваивания х = 5. Вообще говоря, Mathcad анализирует документы на предмет присваивания переменных в два прохода: сначала распознаются все операторы глобального присваивания, и все выражения в документе сверху вниз и слева направо вычисляются в соответствии с ними, а при втором проходе в том же порядке анализируются операторы локального присваивания, и все выражения вычисляются с поправкой на них. Приведем важный пример взаимодействия глобального и локального присваивания (листинг 3.28).
Листинг 3.28. Взаимодействие глобального и локального присваивания

Обратите внимание, что, несмотря на локальное присваивание переменной x:=10 в третьей строке листинга, значение переменной у вычисляется все-таки в соответствии с глобальным значением х = 5, поскольку сама переменная y глобальным образом определена через переменную х.
Аккуратнее относитесь к определению глобальных переменных и, во избежание путаницы, старайтесь не переопределять их локально. Применяйте глобальное присваивание только для определения констант и, по возможности, избегайте случаев, когда оператор вывода предшествует оператору глобального присваивания для улучшения читаемости документов.
Точно так же как Вы глобально присваиваете значение переменной, допускается глобально определять функции (листинг 3.29).
Листинг 3.29. Глобальное определение функции пользователя

Оператор глобального присваивания можно отображать не только в виде тождественного равенства, но и как обычный знак равенства. Для этого вызовите на операторе контекстное меню и в подменю пункта View Definition As выберите пункт Equal (Равенство).
3.2.6. Создание оператора пользователя
Запросы взыскательного пользователя могут отнюдь не исчерпываться набором встроенных операторов Mathcad. Для вставки в документы заранее созданных операторов пользователя применяется панель Evaluation (Выражения).
Выбор имени оператора
Оператор пользователя может иметь абсолютно любое имя (см. ранее раздел "Имена, содержащие операторы и специальные символы" этой главы). Однако, исходя из смысла операторов, логично давать им имена в виде символов. Это удобно делать с помощью коллекции символов, находящейся в справочной информации Mathcad. Выберите в верхнем меню Help / QuickSheets (Справка / Быстрые шпаргалки) и войдите затем в самый последний раздел Extra Math Symbols (Дополнительные символы) открывшегося содержания Шпаргалок. Там Вы увидите целую коллекцию символов, любой из которых можно просто перетащить указателем мыши в нужное место документа.
Присваивать оператору некоторое действие следует точно так же, как функции пользователя.
Создание бинарного оператора
Чтобы создать бинарный оператор, например реализующий действие х • у 2 :
- Введите имя оператора, например, bin.
- Наберите знак скобки <(>, затем список из двух операндов через запятую, <х>, <,>, <у>, затем закрывающую скобку <)>.
- Введите оператор присваивания <: >.
- Введите выражение, зависящее от операндов, действие которого необходимо присвоить оператору (х-у 2 ).
Создание унарного оператора
Унарный оператор создается точно так же, только вместо двух операндов, отделенных запятой, Вам следует ввести лишь один операнд. Например, чтобы создать оператор с именем %, реализующий перевод доли числа в проценты и сводящийся к умножению его на 100 (листинг 3.30):
- Введите имя оператора. Для этого нажмите клавиши <а>, <Ctrl>+ +<Shift>+<K>,<%>, затем снова <Ctrl>+<Shift>+<K>, потом сотрите в имени букву "а".
- После знака % наберите скобку "(", далее "х11, затем еще одну скобку ")".
- Введите оператор присваивания, нажав клавишу <:>.
- Введите выражение х100.
Листинг 3.30. Создание унарного оператора пользователя

Использование бинарного оператора
Возможны два вида вставки пользовательского бинарного оператора в документ, отличающиеся только отображением в документе. Чтобы вставить оператор в форме графа (или дерева):
- Нажмите кнопку Tree Operator (Оператор дерево) на панели Evaluation (Выражения) (рис. 3.12, справа).
- В появившиеся местозаполнители введите имя оператора (на вершине графа) и значения операндов (в ответвления дерева).
- Введите оператор присваивания, нажав клавишу <=>.
Результат действия оператора показан на рис. 3.12, внизу слева.
Кроме древовидной формы оператора, допускается использование его в виде последовательности "операнд— имя оператора— другой операнд" (рис. 3.12, вторая строка слева). Чтобы ввести такую форму оператора, следует нажать соседнюю кнопку Infix Operator (Оператор внутри) с изображением xfy.

Рис. 3.12. Применение пользовательского бинарного оператора
Использование унарного оператора
Вставка унарного оператора совершенно аналогична, только вместо двух операндов требуется ввести один (рис. 3.13). Унарный оператор вставляется нажатием кнопки Prefix Operator (Оператор перед) на панели Evaluation (Выражения) либо кнопки Postfix Operator (Оператор после). Первый путь проиллюстрирован правой частью рис. 3.13 (в момент вставки) и результатом действия оператора (слева), а результат вставки оператора по второму пути — левой нижней строкой того же рисунка

Рис. 3.13. Применение пользовательского унарного оператора
3.3. Управление вычислениями
Документ Mathcad — это в полном смысле этого слова компьютерная программа, а сама система Mathcad — настоящая система программирования, правда ориентированная на математика, а не на профессионального программиста. Большинство других сред программирования (знакомых читателю по реализации таких языков, как Си, Фортран, Бейсик и т. п.) разделяют редактирование кода программ и их выполнение, которое можно вызвать предназначенными для этого командами. В Mathcad и код программы, и результат их выполнения объединены в одном документе. Тем не менее, функции редактирования формул и их расчеты выполняются раздельно, и пользователь имеет возможность управлять всеми важнейшими опциями вычислений.
3.3.1. Режимы вычислений
Все примеры, которые мы рассматриваем в этой книге, неявно предполагают, что включен автоматический режим вычислений. Он включается по умолчанию при создании пустого документа, поэтому если вводятся выражения, содержащие операторы вывода, они вычисляются немедленно. Вообще говоря, имеется два режима вычислений:
- автоматический режим (automatic mode) — все вычисления проводятся автоматически по мере ввода формул;
- ручной режим (manual mode) — начало вычислений каждой формулы или всего документа производится пользователем.
Режим вычислений можно выбрать с помощью команды Tools / Calculate / Automatic Calculation (Сервис / Пересчитать / Считать автоматически), как показано на рис. 3.14. Если в этой строке меню установлен флажок проверки, значит, включен автоматический режим, если флажка нет, то редактируется документ в ручном режиме вычислений. Чтобы сменить режим, просто выберите этот пункт меню (например, нажав кнопку мыши в ситуации, показанной на рис 3.14, включите ручной режим).
Режим вычислений устанавливается независимо для каждого документа Одновременно могут быть открыты несколько документов, вычисляемых в различных режимах
Преимущества и недостатки каждого режима очевидны. С одной стороны, автоматические вычисления упрощают работу с документом, поскольку результаты расчетов появляются в реальном времени, и пользователь имеет возможность анализировать их сразу. С другой стороны, если вычисления сложные, то они могут отнимать много времени (что особенно заметно на компьютерах с не слишком мощным процессором и небольшим объемом оперативной памяти). Поэтому зачастую, чтобы продолжить редактирование документа, требуется довольно длительное ожидание завершения расчетов В частности, если поменять какое-либо выражение в начале большого документа, которое влияет на последующие вычисления, то все они пересчитываются заново. В таких случаях часто удобнее редактировать текст в ручном режиме, а вычисления включать по мере необходимости.

Рис. 3.14. Выбор режима вычислений
3.3.2. Прерывание вычислений
Mathcad осуществляет вычисления документа, как это принято в большинстве сред программирования: сверху вниз и слева направо. Пока очередное выражение находится в процессе расчета (вычислительным или символьным процессором), оно выделяется рамкой зеленого цвета (рис. 3.15), а любые действия пользователя по дальнейшему редактированию документа блокируются. Если у вас не слишком быстрый компьютер, а формулы достаточно сложные, то можно наблюдать, как зеленая рамка перескакивает с одного выражения на другое
Чтобы прервать затянувшийся процесс вычислений, нажмите клавишу <Esc> Появится диалоговое окно, показанное на рис. 3.16, в котором нужно подтвердить прерывание вычислений (ОК). В этом случае выражения, которые Mathcad не успел вычислить, будут помечены в документы красным цветом. Прерванные вычисления возобновляются нажатием клавиши <F9> или командой Tools / Calculate / Calculate Now (Математика / Пересчитать / Пересчитать)

Рис. 3.15. Процесс вычисления выражения

Рис. 3.16. Диалоговое окно прерывания вычислений
3.3.3. Вычисления в ручном режиме
Если флажок в строке команды Tools / Calculate / Automatic Calculation (Сервис / Пересчитать / Считать автоматически) снят, пользователь должен запускать вычисления самостоятельно
- Для того чтобы вычислить все формулы во всем документе, выполните команду Tools / Calculate / Calculate Worksheet (Математика / Пересчитать / Пересчитать все).
- Для вычисления всех формул в видимой части документа выберите пункт Tools / Calculate / Calculate Now (Сервис / Пересчитать / Пересчитать) либо нажмите клавишу <F9>, либо щелкните на кнопке с изображением знака равенства (Calculate) на стандартной панели инструментов
- Прервать вычисления можно обычным образом, нажав клавишу <Esc>.
Управлять размером видимой части документа можно при помощи изменения масштаба отображения документа
При редактировании текста в ручном режиме не выполняются ни вычисления, ни построение графиков, а соответствующие места в выражениях формально отмечаются местозаполнителями (рис. 3.17.)

Рис. 3.17. Чтобы запустить вычисления в ручном режиме, нажмите кнопку Calculate
3.3.4. Отключение вычисления отдельных формул
Mathcad позволяет отключить вычисление какой-либо формулы. При этом она не будет влиять на последующие вычисления. Чтобы не вычислять определенную формулу в документе:
- Щелкните правой кнопкой мыши на формуле.
- Выберите в контекстном меню пункт Disable Evaluations (Выключить вычисления), как показано на рис. 3.18.
Эквивалентный способ выключения вычисления отдельной формулы заключается в вызове диалогового окна Properties (Свойства) через одноименный пункт контекстного меню (см. рис. 3.18) или главного меню Format (Формат). В диалоге Properties следует перейти на вкладку Calculation (Вычисления) и установить там флажок Disable Evaluations (Выключить вычисления).
Результат выключения формулы из процесса вычислений проиллюстрирован листингом 3.31. На нем выключен второй из операторов присваивания, о чем можно судить по наличию черного квадрата сразу за формулой. Соответственно, в последней строке выведенное значение переменной х "не чувствует" выключенного присваивания и остается равным 3.
Листинг 3.31. Вычисление второго оператора присваивания выключено


Рис. 3.18. Отключение вычисления формулы с помощью контекстного меню
3.3.5. Оптимизация вычислений
Отличительная черта новых версий Mathcad — улучшенные возможности ускорения численных вычислений за счет применения элементов символьной математики. Непосредственно перед численным расчетом Mathcad автематически пытается упростить выражение, используя символьный процессор. Это называется оптимизацией. За счет того что от версии к версии качество работы символьного процессора улучшается, символьное преобразование зачастую существенно ускоряет расчеты. Режим оптимизации включается либо в документе целиком, либо для отдельных формул.
Чтобы включить или отключить режим оптимизации всех выражений в активном документе, выберите команду Tools / Optimize / Worksheet (Сервис / Оптимизация / Документ), как показано на рис. 3.19. Содержание документа, изображенного на этом же рисунке, помогает понять математический смысл режима оптимизации: для ускорения вычисления нижнего (определенного) интеграла выгодно использовать его аналитическое решение, определенное символьным процессором.
Чтобы изменить режим оптимизации для отдельной формулы, не меняя выбранного режима для остальных выражений документа, выделите эту формулу линиями ввода и выберите в верхнем меню Tools / Optimize / Equation (Сервис / Оптимизация / Уравнение).

Рис. 3.19. Режим оптимизации вычислений
3.3.6. Диалоговое окно Worksheet Options
Наравне с изложенными способами установки режимов вычислений, их также удобно устанавливать для всего документа на вкладке Calculations (Вычисления) диалогового окна Worksheet Options (Опции документа), вызываемого с помощью команды Tools / Worksheet Options (Сервис / Опции документа). Три флажка задают включение соответствующего режима вычислений (рис. 3.20).
- Recalculate automatically (Пересчитать автоматически) — включение режима автоматических вычислений.
- Use strict singularity checking for matrices (Использовать проверку матриц на сингулярность) — опция, появившаяся в версии Mathcad 2001, которая важна при некоторых операциях с матрицами. Она означает проведение дополнительной проверки на сингулярность матрицы перед использованием численных алгоритмов, что позволяет, во избежание неправильного применения численного метода, выдать заранее сообщение об ошибке, если матрица сингулярная.
- Optimize expressions before calculating (Оптимизировать выражения перед вычислением) — включение режима оптимизации.
- Use exact equality for Boolean comparisons (Использовать точное равенство для логического сравнения) — когда флажок выбран, применяется жесткий критерий точного равенства чисел (точнее, числа при сравнении считаются равными, если отличаются по модулю менее чем на 10 -307 ). Если флажок снят, используется более мягкий критерий (относительное различие чисел по модулю менее чем на 10 -12 ).

Рис. 3.20. Управление режимом вычислений в диалоговом окне Worksheet Options
Помимо флажков проверки, имеется также пара переключателей, которая позволяет реализовать новый режим ускоренных вычислений (higher speed calculation). Он включается выбором переключателя Higher speed calculation (Ускоренные вычисления), изображенного на рис. 3.20. Чтобы отключить режим ускоренных вычислений, выберите переключатель Backward compatibility (Обратная совместимость). В этом случае вычисления будут проводиться без дополнительной оптимизации по скорости, в точности так же, как в предыдущих версиях (Matvcsd 2000 и ниже) Необходимость таких расчетов может возникнуть, если вдруг Вы столкнулись с сообщениями об ошибках в документах, созданных в предыдущих версиях Mathcad и корректно в них работающих.
3.4. Сообщения об ошибках
Когда процессор Mathcad по тем или иным причинам не может вычислить выражение, он вместо ответа выдает сообщение об ошибке (рис. 3.21). Если курсор находится вне формулы с ошибкой, то в ней имя функции или переменной, которая вызвала ошибку, отмечается красным цветом (сверху на рис. 3.21). При щелчке на такой формуле под ней появляется текстовое сообщение о типе ошибки, обрамленное черным прямоугольником (рис. 3.21, снизу).

Рис. 3.21. Сообщение об ошибке
Если некоторые выражения вызывают ошибку, они просто игнорируются, а следующие выражения в документе по-прежнему вычисляются. Конечно, если формулы, вызвавшие ошибку, влияют на значения нижеследующих формул, то они будут также интерпретированы как ошибочные. Поэтому, встречая в документе сообщения об ошибках, найдите сначала самое первое из них. Часто ее устранение позволяет избавиться и от последующих ошибок.
Как бы хорошо вы ни овладели системой Mathcad, сообщения об ошибках все равно будут появляться в документах. Они могут быть связаны как с орфографическими ошибками, так и с более серьезными внутренними причинами, требующими знания численных алгоритмов расчетов. Искусство математика во многом состоит в умении анализировать ошибочные ситуации и находить правильный выход из них.
Иллюстрированный самоучитель по MathCAD 11
Функции в Mathcad записываются в обычной для математика форме:
- f (х,…) – функция;
- f – имя функции;
- х,… – список переменных.
Легче всего ввести написание функции в документ при помощи клавиатуры.
В Mathcad формально можно разделить функции на два типа:
- встроенные функции;
- функции, определенные пользователем.
Применение функций обоих типов в расчетах совершенно одинаково, с тем исключением, что любую встроенную функцию можно сразу использовать в любом месте документа (о вставке встроенных функций в документ читайте в разд. "Знакомство с Mathcad" гл. 1), а пользовательскую функцию необходимо предварительно определить в документе до момента вычисления ее значения.
Определение функции пользователя
Для того чтобы определить функцию пользователя, например f(x,y) = x2-cos (x+y):
- Введите в желаемом месте документа имя функции (f).
- Введите левую скобку "(", имена переменных через запятую х, у и правую скобку ")". При вводе левой скобки и запятой автоматически будут появляться соответствующие местозаполнители.
- Введите оператор присваивания с панели инструментов или нажатием клавиши :.
- Введите в появившийся местозаполнитель выражение, определяющее функцию x 2 -cos(x+y), пользуясь клавиатурой или панелями инструментов.
Результат ввода иллюстрируется листингом 3.4.
Листинг 3.4. Определение функции пользователя:
Все переменные, присутствующие справа в выражении определения функции, либо должны входить в список аргументов функции (в скобках, слева после имени функции), либо должны быть определены ранее. В противном случае будет выведено сообщение об ошибке, причем имя неопределенной переменной будет выделено красным цветом (рис. 3.3).
Рис. 3.3. Сообщение об ошибке ("Эта переменная или функция ранее не определена")
Лекция №1 — Основы работы в математическом пакете Mathcad
MathCAD является интегрированной системой, ориентированной на проведение математических и инженерно-технических расчетов. Он объединяет понятность, ясность, простоту в обращении при вычислениях и т.п. с простотой в обращении, свойственной электронным таблицам.
Использоваться как калькулятор для простых вычислений.
Определять значения выражений, заданных в символьном виде.
Производить матричные и векторные преобразования.
Решать линейные, нелинейные уравнения и системы уравнений.
Заменять справочные таблицы.
Производить дифференцирование, интегрирование, статистические расчеты и анализ данных.
Строить двумерные и трехмерные графики и т.п.
Документ MathCAD, на котором могут быть совмещены текст, графика и формулы, выглядит как страница научной статьи или учебника, при этом формулы являются «живыми» – стоит внести изменения в одну из них, как MathCAD пересчитает результаты, перерисует графики и т.д.
После запуска приложения MathCAD открывается окно, как это показано на рис. 1.1.
Главное окно оформлено стандартным для Windows-приложений образом: заголовок, главное меню, панель инструментов, окно редактирования, строка состояния.

Рис. 1.1. Рабочее окно системы MathCAD
1.1. Основные команда MathCad
Главное меню системы MathCAD представлено набором команд, общим для большинства приложений операционной системы MS Windows, а также командами, представляющими специфические возможности:
Меню File (Файл) — работа с файлами.
Меню Edit (Правка) — редактирование документов.
Меню View (Вид) — настройка элементов окна. Команды меню View представлены на рис. 1.2.

ToolBars – содержит кнопки панелей инструментовStandard, Formatting, Math. Если отсутствует какая-либо из панелей, то следует включить соответствующую опцию, например, командой ViewToolbarsMath.
Status Bar – позволяет включать и отключать отображение строки состояния.
Ruler – позволяет включать и отключать отображение горизонтальной линейки для точного позиционирования документов на листе.
Regions – делает видимыми/невидимыми границы областей.
Zoom – изменение масштаба.
Refresh – обновить содержимое экрана.
Animate – анимация.
PlayBack – воспроизведение.
Preferences – настройки.
Рис. 1.2. Команды меню View (Вид) – редактирование документов
Меню Insert (Вставка) — позволяет помещать в MathCAD – документ графики, функции, матрицы, гиперссылки, компоненты и настраивать объекты.
Меню Format (Формат) — содержит команды, предназначенные для задания различных параметров, определяющих внешнее представление чисел, формул, текста, абзацев, колонтитулов и т.д.
Меню Math (Математика) — позволяет установить режимы и параметры вычислений.
Меню Symbolics (Символы) — реализует символьные вычисления.
Меню Window (Окно) — содержит команды для упорядочения взаимного расположения нескольких окон и позволяет активизировать одно из них.
Меню Help (Помощь) — информационный центр и справочники. Команда Help открывает окно, представленное на рис. 5.3. На вкладке «Содержание» справочные сведения распределены по темам. На вкладке «Указатель» темы представлены в алфавитном порядке. Вкладка «Поиск» позволяет находить конкретное понятие.

Рис. 1.3. Окно меню справки
1.2. Кнопки панели Math
Одна из сильных сторон MathCAD – это представление и ввод математических символов и выражений в привычной для человека форме. Это обеспечивается развитым графическим интерфейсом и инструментами, располагающимися на панелях инструментов приложения MathCAD (Math, Graph …). Открыть соответствующую панель инструментов можно с помощью команды главного меню ViewToolbars. Для удобства работы ссылки на них объединены на панели Math.
На панели Math расположены 9 кнопок. Каждая из кнопок, в свою очередь, открывает панели инструментов специального назначения. Это следующие кнопки (в развернутом виде эти панели представлены на рис. 5.4):
Calculator (Калькулятор). На этой панели находятся кнопки для задания математических операций, а также некоторых часто используемых функций. Эту кнопку можно использовать как калькулятор.
Boolean (Булева) – для ввода операторов сравнения и логических операций.
Evaluation (Вычисление) – содержит кнопки для ввода операторов присвоения значений переменных и функций.
Graph (Графика) – инструменты для построения графика.
Vector and Matrix (Векторы и Матрицы) – инструменты для работы с векторами и матрицами.
Calculus (Исчисление) – представляет математические выражения с элементами интегрирования, дифференцирования в привычном виде. Кнопки этой панели позволяют вычислять значения пределов, сумм, произведений.
Programming (Программирование) – инструменты для написания программ.
Greak Symbol (Греческий алфавит).
Symbolic (Символы) – для символьных вычислений.

Рис. 1.4. Рабочее окно системы MathCAD с развернутыми панелями инструментов панели Math
1.3. Запись команд в рабочем документе системы MathCad
Запись команд в системе MathCAD на языке очень близка к стандартному языку математических расчетов выполняемых на бумаге, что значительно упрощает постановку и решение задач. В результате главные аспекты решения математических задач смещаются с их программирования на алгоритмическое и математическое описание.
M
athCAD реализует вычисления в строго определенном порядке, как это делает человек: читая страницу книги, т.е. слева направо и сверху вниз. Правильный порядок выполнения блоков — основа правильного функционирования системы при обработке документа. Например, если в некотором блоке содержатся операции, требующие данных из другого блока, то этот «другой» блок обязательно должен выполняться первым и располагаться перед использующим его блоком. Иначе ошибка. Сигнал ошибки в системе имеет вид всплывающей надписи, заключенной в прямоугольник.1.4. Используемые типы констант
В системе MathCAD предусмотрены следующие типы данных:
Целые ( 2, –543, +13).
Вещественные (1.876, –375.08).
Комплексные (2.5+3i). Следует иметь в виду, что при записи мнимой единицы следует использовать специальную кнопку панели Calculator.
Строковые. Обычно это комментарий «Вычисление суммы».
Системные. Системная константа – это предварительно определенная переменная, значение которой задается в начале загрузки системы. Примерами таких констант являются числа e или .
1.5. Простые вычисления
Результат арифметического выражения отображается, если после него стоит знак «=» или знак «». В первом случае результат представляется в численном виде, а во втором – в символьном. Например, если записать арифметическое выражение в виде:
то в результате будем иметь: 123 + 256 = 379.
Пример символьного вычисления:

При выполнении вычислительной системой арифметического выражения используются знаки арифметических операций с приоритетами, принятыми в обычной математике. Для изменения порядка используются круглые скобки. Выражение может содержать также другие операции:
возведения в степень;
интегрирования и дифференцирования;
знаков факториала и суммирования и т.д.
Часть из этих операций можно «взять» на панели Calculator (Калькулятор). Примером записи выражения может быть:

В качестве операндов выражение может использовать любые константы, в том числе, системные константы и функции.
Е
сли набрать выражение=, то в окне документа будет отображено значение этой константы в виде: =3.141592.Количество значащих цифр, отображаемых при вычислении, можно регулировать с помощью команды главного меню Format→Result. В этом случае команда предоставит диалоговое окно, как это показано на рис. 5.5, в котором следует переустановить параметры для вывода результата.

Рис. 1.5. Рабочее окно команды главного меню Format (формат Result )
Ниже приведен результат символьного вычисления арифметического выражения:

После знака «» отображен результат символьного вычисления. Для замены результата символьного вычисления численным значением применена команда float, расположенная на панели Symbolic. Эта команда предоставляет шаблон, в котором пользователю предлагается задать количество знаков (цифр) для отображения результата.
1.6. Использование встроенных функций
Важным понятием в математике является функция, т.е. некоторая зависимость одной переменной от другой или ряда других переменных и констант. В системе MathCAD имеется множество встроенных функций. Для избегания возможных ошибок не рекомендуется имя функции вводить с клавиатуры. Наиболее часто используемые функции, такие как: sin,cos, ln,… можно задать, используя их обозначение на панели инструментов Calculator. К другим функциям можно обратиться с помощью команды главного меню Insert (вставка функции), либо с помощью команды (кнопки) f(x). В окне, которое предоставляет команда (рис. 5.6), пользователь может установить категорию функции, познакомиться с примером ее записи и спецификацией (описанием), а затем произвести нужный выбор. После этого система предоставляет пользователю шаблон, в который требуется вписать необходимые параметры.

Рис. 1.6. Рабочее окно команды вставка функции: Insert→Function
Особенностью функции является возврат значения, т.е. функция в ответ на обращение к ней по имени с указанием её аргументов должна возвратить свое значение. Например, если где-то используется функция sin(0.452·), то вместо нее будет подставлено число, равное значению синуса с аргументом, равным значению выражения 0.452·.
1.7. Определение переменных и пользовательских функций
Если мы не хотим ограничиться элементарными вычислениями с константами, то нам потребуется резервировать ячейки памяти для хранения значений констант и переменных. В системе MathCAD, как и в любых других языках программирования, каждой такой ячейке памяти соответствует имя-идентификатор, которое выбирается в соответствии с установленным синтаксисом системы. Идентификаторы в MathCAD могут состоять из букв латинского или греческого алфавита и цифр, но в начальной позиции может стоять только буква. Идентификатор не должен совпадать со служебными словами, предусмотренными в системе. Следует иметь в виду, что MathCAD различает малые и заглавные буквы .
1.8. Локальные и глобальные переменные
Как и в других языках программирования в MathCAD различают локальные и глобальные переменные. Присваивание локальным переменным своего значения в системе MathCAD реализуют с помощью знака «:=». Для этого достаточно ввести знак двоеточие. Если ввести «X:5» то на экране появится «X:=5» (т.е. переменной X присваивается значение 5).
X := 1
sin(X) = 0.841


X := 1
Y := sin(X)
Y= 0.841
Глобальная переменная вводится следующим образом: “переменная
выражение”. Вид, который принимает в документе введенное таким образом присваивание: “переменнаявыражение”. Отличие глобальных переменных от локальных переменных в том, что глобальные переменные могут использоваться в любом месте документа (в том числе, слева от их определения и над ним).
Пример введение глобальной переменной.
1.9. Определение и использование пользовательских функций
Важным инструментом в математических вычислениях являются пользовательские функции. Функции особенно целесообразно использовать, когда приходится производить многократные вычисления по одним и тем же формулам, но с разными исходными данными.
Чтобы воспользоваться собственной функцией, нужно:
Вызвать описанную функцию для выполнения.
Очевидно, что описание/определение функции должно быть расположено выше, чем ее использование. Для определения функции используются идентификаторы: имя функции и имена формальных параметров функции. Формальный параметр – это идентификатор, конкретное значение которого определяется путем замены его на соответствующее емузначение фактического параметра при обращении к функции. Функции однозначно ставят в соответствие значениям аргументов (формальным параметрам) значения фактических параметров функции.
Формат определения функции:
Имя_функции(список формальных параметров) := выражение
Вызов пользовательской функции производится подобно тому, как и в случае вызова любой стандартной функции.
Можно поместить результат в отдельную переменную:
Имя_переменной_результата:=Имя_функции(список_фактических параметров)
Имя_функции(список_фактических параметров)=
Пример 1. Требуется определить функцию Dist, которая будет возвращать расстояние заданной точки от начала координат. Использовать эту функцию для вычисления расстояний от точек А(1.96; –3.8) и В(6; 42.5) до начала координат.
Решение. Из курса линейной алгебры известно, что расстояние от начала координат до некоторой точки A(x, y) определяется по формуле
. Здесь (x, y) – координаты заданной точки. Эта формула и будет составлять основу функцию Dist. При описании функции следует предусмотреть два формальных параметра — координаты точки. На место этих параметров должны будут вписаны фактические координаты заданных точек.В соответствии с формулой определения расстояния от точки на плоскости до начала координат функция Dist может быть записана в виде:
. А обращение к функцииDist для вычислений расстояний от заданных точек может быть представлено в виде:
Во втором случае результат помещается во вспомогательную переменную.
Пример 2. Дана функция вида:
. Требуется найти ее максимальное и минимальные значения.Решение. Для решения поставленной задачи целесообразно воспользоваться функцией поиска максимального значенияmaximize(f, var1, var2, . ), которая имеется в библиотеке стандартных функций системы MathCAD. Первым параметром у этой функции должно быть имя пользовательской функции, максимальные значения которой требуется найти. Следующие параметры задают имена переменных, в которых будут помещены искомые значения. В нашем случае это будет одна переменная х. Чтобы воспользоваться этой функцией, необходимо поставить перед ней блок решения с ключевым словом Given (Дано). Кроме этого итерационный алгоритм, обеспечивающий решение поставленной перед функцией maximize задачи, требует задания начальных значений искомого аргумента. Установку начальных значений следует произвести до блока решения. Аналогичное описание у функции minimize которая предназначена для поиска минимального значения определенной функции. Фрагмент с решением задачи представлен на рис. 5.7.

Рис. 1.7. Поиск максимального и минимального значений заданной функции
1.10. Определение переменных, принимающих значения из заданного промежутка
В системе MathCAD предоставлена возможность определения переменных, принимающих значения из заданного промежутка, причем соседние значения удалены на равные расстояния друг от друга. При этом задается только начальное значение, следующее значение (второе значение, неявно задающее шаг изменения значения переменной) и конечное значение.
Строго говоря, переменные, принимающие значения из промежутка, представляют собой векторы с равноудаленными значениями компонент.
В качестве переменных, принимающих значения из промежутка, можно использовать только идентификаторы без индексов.
Формат определения переменной:
Имя_переменной := начальное_значение,начальное_значение + шаг .. конечное_значение
Заметим, что при наборе знак «:=» проявляется после набора «:» , а знак «..» проявляется после набора «;».
Если конечное значение при данном значении шага не достигается точно, последним значением переменной будет наибольшее значение из заданного промежутка, не превышающее конечное значение.
Кроме этого MathCAD предоставляет возможность не задавать следующее значение, если шаг по величине совпадает со значением 1 или –1.
В этом случае формат определения переменной можно представить в виде:
Имя_переменной := начальное_значение .. конечное_значение
Пример 3. Требуется определить переменную р, принимающую значения на интервале [0, 1] с шагом 0,1.
Решение. На рис. 5.8 представлены два фрагмента с решением поставленной задачи. На рис. 5.8, а представлено решение в соответствии с форматом, принятым для определения заданной переменной. А на рис. 5.8, b – такое же определение, но с введением вспомогательных переменных для обозначения и задания границ интервала, и величины шага, необходимых для определения переменной.


Рис. 1.8. Определение переменной, принимающей значения на интервале
Пример 4. Требуется получить таблицу значений функции
на интервале [a, b] с шагом h.Решение. Решение задачи можно свести к выполнению следующих шагов:
Определить функцию
.Задать переменную (например, t), принимающую значения из промежутка [a, b] с шагом h.
Получить таблицу значений функции для переменной t.
На рис. 5.9 представлен фрагмент документа с решением задачи 4.

Рис. 1.9. Получение таблицы значений функции на заданном интервале с постоянным шагом
1.11. Построение графиков в декартовой системе координат
Все основные типы графиков и инструменты работы с ними расположены на рабочей панели Graph (График) семействаMath (Математические). На этой панели вы можете найти ссылки на семь типов графиков. В данном разделе остановимся на декартовой системе координат.
В MathCAD существует несколько способов построения графиков, однако, первый шаг для всех способов будет один и тот же. Этим первым шагом является введение специальной заготовки для будущего графика – так называемой графической области. Ввести графическую область, как для декартового, так и для любого другого графика можно либо с панели Graph (Графические), либо командой одноименного подменю меню Insert (Вставка).
Графическая область представляет собой две вложенные рамки, как это показано на рис. 5.10, а. Во внутренней области отображаются непосредственно кривые зависимостей. Пространство между рамками служит для визуализации разного рода служебной информации. Графическую область можно увеличивать и уменьшать с помощью специальных маркеров, расположенных на ее внешней рамке. Перемещать по документу и удалять графические области можно точно так же, как простые формулы.


Рис. 1.10. Графическая область в декартовой системе координат
После того как графическая область будет введена, в общем случае требуется задать два соразмерных вектора, определяющих значения координат точек. Сделать это можно различными способами. Наиболее простым и часто используемым методом задания координатной сетки является так называемый быстрый метод. При его применении пользователь задает только имя переменной и вид функции, а шкалы осей и величину шага между узловыми точками автоматически определяет система.
Для построения графика функции по быстрому методу, необходимо выполнить следующую последовательность действий:
Введите графическую область.
В специальном маркере, расположенном в центре под внутренней рамкой графической области, задайте имя независимой переменной.
В центральный маркер, расположенный слева от внутренней рамки, введите функцию или имя функции (если функцию определить раньше переменной, то работа даже упрощается, так как независимая переменная будет задана автоматически).
На рис. 1.10, b показан график функции y=sin(t), построенный по быстрому методу.
К недостаткам рассматриваемого метода относится, прежде всего, то, что область изменения переменной для всех функций определяется одна и та же: от –10 до +10. В большинстве же случаев такие пределы будут неприемлемы по целому ряду причин. Например, если амплитуда экстремумов мала по сравнению с изменением величины функции на промежутке, что они становятся просто незаметными.
Чтобы справиться с возникшими трудностями, нужно просто уменьшить интервал изменения либо переменной, либо функции. Для этого выделите графическую область щелчком левой кнопкой мыши. При этом визуализируются все элементы, которые до этого были скрыты (рис. 1.11, а).


Рис. 1.11. Графическая область в декартовой системе координат
Непосредственно под крайними значениями (для оси X) или слева от них (для оси Y) появятся цифры, отражающие максимальные и минимальные величины координат узловых точек графика. Чтобы изменить их значения, просто удалите (точно так же, как при редактировании формул) старые величины и введите новые. Изменения пределов по осиX вызывает автоматический пересчет крайних значений по Y. Однако если вы переопределите область по оси Y, то область изменения переменной останется старой.
Графическую область можно отформатировать – изменить внешний вид и цветовую гамму. Для этого можно воспользоваться командой Properties (Свойства) из контекстного меню графика (вызывается щелчком правой кнопкой мыши на графической области), как это показано на рис. 1.11, b.
В окне Properties (Свойства) для подавляющего большинства пользователей объективно могут быть полезны два параметра, расположенных на вкладке Display (см. рис. 1.11, b):
Highlight Region (Цветная область). Установив этот флажок, вы сможете на палитре Choose Color (Выбор цвета) определить наиболее подходящий цвет заливки для вашей графической области.
Show Border (Показать границу). Параметр отвечает за отображение внешней границы графической области. По умолчанию она не визуализируется.
При исследовании функции большое применение находит команда Trace (След) из контекстного меню графика. Эта команда позволяет считать с графика текущее значение аргумента и соответствующего ему значение функции. В результате выполнения этой команды открывается окно «X—Y Trace», как это показано на рис. 1.12. Чтобы активизировать трассировку, нужно мышью щелкнуть по графику. В результате на графике появляются две линии – вертикальная и горизонтальная, которые легко с помощью мыши перемещаются по графической области, а координаты точки пересечения линий отражается в окне трассировки.