10.2. Особенности Mathcad

  1. Интерфейс пользователя в среде Mathcad опирается на операторы ввода и операторы вывода значений переменных и выражений.
  2. В среде Mathcad три оператора ввода:

    ¬ ■ - оператор ввода значения локальной переменной, область видимости которой ограничена местом ввода переменной и концом вычислительной процедуры, отмеченной вертикальной чертой, фиксирующей начало и конец программного блока;

    A := ■ - оператор ввода значения полуглобальной переменной, область видимости которой - это часть Mathcad-документа, расположенная правее и ниже места ввода переменной;

    º ■ - оператор ввода значения глобальной переменной, область видимости которого весь Mathcad-документ.

    Начиная с версии Mathcad 2001, стало возможным вводить в Mathcad-документы также и стандартные элементы интерфейса (см. рис. 10.1): "галочки", радиоточки, кнопки, слайдеры, текстовые поля и списки.

     

    Рис. 10.1. Окна элементов интерфейса Mathcad

     

    В среде Mathcad 11 эти элементы выделены в новую панель инструментов Controls (см. рис. 10.1). Некоторые из этих элементов можно видеть на рис. 10.2, где показан Mathcad-документ, по которому рассчитывается проектная производительность электростанции исходя из ее типа, числа блоков и их типа, типа котла и используемого топлива.

     

    Рис. 10.2. Расчет в среде Mathcad проектной производительности водоподготовительной установки

     

    Этот и последующие Mathcad-документы, как уже было отмечено выше и в предисловии, хранятся в Интернет-версии книги по адресу: http://twt.mpei.ac.ru/ochkov/VPU_Book_New/index.html

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

    В среде Mathcad два оператора вывода:

    A = ■ ■ - оператор вывода численного значения переменной или выражения: на месте первого операнда (в первом поле) появляется числовая константа, а на месте второго - соответствующая единица измерения, если константа размерная; пользователь вправе менять единицу измерения умолчания на любую другую, определенную к данному моменту;

    ® ■ - оператор преобразования символьного выражения.

    Эти два оператора указывают на то, что в среде Mathcad задачи можно решать не только численно (приближенно - как это реализовано в языках программирования и электронных таблицах), но и аналитически (символьно). Оператор преобразования символьного (аналитического) выражения может дополняться ключевыми словами, указывающими характер преобразования. На рис. 10.3 показано решение с помощью оператора ■ ® задачи по выводу формулы для расчета концентрации углекислоты [H2CO3] в зависимости от концентрации ионов водорода +] и констант диссоциации угольной кислоты по первой и второй ступеням К1 и К2.

     

    Рис. 10.3. Вывод в среде Mathcad формулы для расчета форм угольной кислоты в воде

     

    В исходном уравнении 1 = [H2CO3] + [HCO3-] + [CO32-], фиксирующем неизменность суммарной концентрации производных углекислоты (эта сумма принимается за единицу), ведется замена переменных (substitute), а само преобразованное уравнение решается относительно переменной [CO32-]. Этот прием (аналитическое преобразование выражения) использован и при выводе формул для расчета форм фосфорной и борной кислот, вставленные в Mathcad-документы сайта книги.

    Переменные в среде Mathcad могут хранить скалярное, векторное и матричное значения. Скаляром, а также элементом вектора или матрицы (массива) может быть число (целое, вещественное или комплексное), текст (цепочка символов, обрамленная кавычками), а также новый вектор или матрица (механизм составных массивов). Так в Mathcad-документе с именем Basa_Water.mcd, хранящемся на сайте книги, параметры водных источников хранятся в матрице, столбцы которой - это названия водных источников и концентрации отдельных ионов, а строки - записи по отдельным источникам.

    Переменные в среде Mathcad подразделяются на пользовательские и встроенные (предопределенные). Пользовательские имена переменных могут содержать пробелы, буквы латиницы, кириллицы и (чего нет в традиционных языках программирования) греческого алфавита. Кроме того, в именах переменных допустимы нижние и верхние индексы, штрихи и прочие спецсимволы даже в качестве первого символа имени переменной или функции. Все это позволяет делать Mathcad-документ максимально "читабельным" - давать переменным и функциям те имена, которые закрепились за ними в процессе формирования той или иной научной дисциплины задолго до появления компьютеров ([Ca++]исх, например, если говорить о водоподготовке). Mathcad - это единственная математическая программа, позволяющая иметь в качестве имен переменных названия химических соединений, что зафиксировано на рис. 10.3. Одно ограничение - такое имя записывается в квадратные скобки, которое вводится в расчет через аккорд Shift + Ctrl + j.

  3. В работе с Mathcad есть особенность, позволяющая называть Mathcad не просто математическим, а физико-математическим пакетом. Часто решая физическую задачу, пользователь делает ошибки не в формулах и не в счете, а в размерностях физических величин. Пакет Mathcad поддерживает основные системы физических величин (СИ, килограмм-метр-секунда, грамм-сантиметр-секунда и британскую систему единиц) и ведет контроль за соответствием размерностей.
  4. Для ввода размерной величины необходимо за числовой константой поставить знак умножения и ввести название соответствующей встроенной или пользовательской единицы измерения, например Жк := 3.2 мг-экв/л и т.д. Для работы с относительными шкалами измерений (с температурной шкалой Цельсия, например) константы и названия единиц измерения связываются не знаком умножения, а пробелом постфиксного оператора (tвх := 18 °C, например). В среде Mathcad решается проблема узаконенных (ммоль/л, например) и устаревших, но, тем не менее, широко используемых единиц измерения концентраций (мг-экв/л и др. - см.  Главу 10.2).

    Для ввода размерностей в среде Mathcad предусмотрено диалоговое окно "Ввод единицы измерения" (Insert Unit), определяющее физическую величину (Dimension), размерность (Unit) и систему единиц (System - см. рис. 10.4).

     

    Рис. 10.4. Диалоговое окно "Ввод единицы измерения"

     

    Пользовательские единицы измерения вводятся в расчет связыванием их со встроенными: м := m, мг-экв/л := mole/m3 и т.д. В начале почти каждого Mathcad-доумента стоит область, раскрытая или свернутая в линию, в которой хранятся пользовательские единицы измерения, задействованные в расчете.

  5. В пакет Mathcad интегрирован мощный математический аппарат, позволяющий численно и аналитически решать разнообразные задачи без вызова внешних процедур и без кодирования сложного алгоритма. В пакете имеются группы седующих встроенных функций:
  6. Для ввода встроенных функции предусмотрено диалоговое окно "Ввод функции" (Insert Function), показывающее группы функций (Function Category), имя функции (Function Name), ее синтаксис и краткую аннотацию (рис. 10.5).

     

    Рис. 10.5. Диалоговое окно "Ввод функции"

     

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

     

    Рис. 10.6. Работа с пользовательской функцией

     

    Кроме традиционных двух- и трехмерных графиков, фиксирующих функциональные и коррелирующие зависимости в Mathcad-документе допустимы и чертежи (растровые и векторные) с разметкой на них рассчитанных параметров. Так на рис. 10.7 показан результат проектирования ступени ионирования воды - выбор типоразмеров и количества ионообменных фильтров в одной из ступеней.

     

    Рис. 10.7. Mathcad-документ с чертежом

     

    Пользовательские функции общего характера через механизм DLL можно сделать встроенными, чтобы они были в списке диалогового окна, показанного на рис. 10.8. Здесь представлено окно Insert Function (Вставка функции) с перечнем функции, возвращающих теплофизические параметры воды и водяного пара. Подключаются эти функции через обращение к сайту http://twt.mpei.ac.ru/orlov/watersteampro.

     

    Рис. 10.8. Ввод пользовательской функции через диалоговое окно "Ввод функции"

     

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

     

    Рис. 10.9. Панели операторов Mathcad

     

    Одна из причин популярности Mathcad заключается в том, что пользователь вправе вставлять в документы либо функцию, либо оператор в зависимости от того, к чему он привык, изучая математику в школе или в вузе. Благодаря этому Mathcad-документ максимально похож на лист с математическими выкладками, написанными от руки или созданными в среде какого-либо текстового процессора (MS Word, Scientific Word, ChiWriter и др.).

  7. Математические выражения в среде Mathcad записываются в их общепринятой нотации: числитель находится сверху, а знаменатель - внизу, в интеграле пределы интегрирования также расположены на своих привычных местах. Казалось бы, это все мелочи, никак не влияющие на вычислительный процесс. Но!.. Программа должна быть понятной не только для компьютера, но и для человека. Пользователь, анализируя Mathcad-документ на экране дисплея или на бумаге принтера, видит, что данная величина записана в числителе и ее рост приводит к возрастанию всего выражения. А это очень важно при анализе математических моделей, форма и содержание которых едины.
  8. В среде Mathcad процесс создания программы идет параллельно с ее отладкой и оптимизацией. Пользователь, введя в Mathcad-документ новое выражение, может не только сразу подсчитать, чему оно равно при определенных значениях переменных и в выбранной системе размерностей, но и построить график или поверхность, беглый взгляд на которые может безошибочно показать, где кроется ошибка, если она была допущена при вводе формул или при создании самой математической модели. Отладочные фрагменты можно оставить в готовом документе для того, чтобы, например, еще раз убедить воображаемого или реального оппонента в правильности модели. Система Mathcad оборудована средствами анимации, что позволяет реализовать созданные модели не только в статике (числа, таблицы, графики), но и в динамике (анимационные клипы).
  9. Пакет Mathcad дополнен справочником по основным математическим и физико-химическим формулам и константам, которые можно автоматически переносить в документ без опасения внести в них искажения, нередкие при ручной работе. В центре ресурсов Mathcad можно, например, обратиться к периодической таблице химических элементов и перенести из нее в рабочий документ нужные данные - атомные массы и др. К пакету Mathcad можно приобрести те или иные электронные учебники по различным дисциплинам: решение обыкновенных дифференциальных уравнений, статистика, термодинамика, теория управления, сопротивление материалов и т.д. Прежде чем решать возникшую проблему, пользователь может изучить электронный учебник и перенести из него в свой документ нужные фрагменты, отдельные формулы и константы.
  10. Не выходя из среды Mathcad, возможно открывать новые документы на других серверах и пользоваться теми преимуществами информационных технологий, предоставляемых Internet. Пользователи Mathcad через форум Collaboratory могут обмениваться информацией и вести совместные проекты по таким разделам: математика и статистика, астрономия и навигация, электроэнергетика, физика, химия и химическая промышленность и т.д. Адрес форума - http://collab.mathsoft.com/~mathcad2000.