1.1.1. Назначение Mathcad
Отличительной чертой Mathcad от большинства других современных математических приложений является его построение по принципу WYSIWYG («What You See Is What You Get» — «что вы видите, то и получите»). Поэтому он очень прост в использовании, в частности, из-за отсутствия необходимости сначала писать программу, реализующую те или иные математические расчеты, а потом запускать ее на исполнение. Вместо этого достаточно просто вводить математические выражения с помощью встроенного редактора формул, причем в виде, максимально приближенном к общепринятому, и тут же получать результат. Кроме того, можно изготовить на принтере печатную копию документа или создать страницу в Интернете именно в том виде, который этот документ имеет на экране компьютера при работе с Mathcad, либо можно включить документ в структуру электронной книги Mathcad.
Создатели Mathcad сделали все возможное, чтобы пользователь, не обладающий специальными знаниями в программировании (а таких большинство среди ученых и инженеров), мог в полной мере приобщиться к достижениям современной вычислительной науки и компьютерных технологий. Для эффективной работы с редактором Mathcad достаточно базовых навыков пользователя. С другой стороны, профессиональные программисты (к которым относит себя и автор этих строк) могут извлечь из Mathcad намного больше, создавая различные программные решения, существенно расширяющие возможности, непосредственно заложенные в Mathcad.
В соответствии с проблемами реальной жизни, математикам приходится решать одну или несколько из следующих задач:
- ввод на компьютере разнообразных математических выражений (для дальнейших расчетов или создания документов, презентаций, Web-страниц или электронных книг);
- проведение математических расчетов (как аналитических, так и при помощи численных методов);
- подготовка графиков с результатами расчетов;
- ввод исходных данных и вывод результатов в текстовые файлы или файлы с базами данных в других формата’х;
- подготовка отчетов работы в виде печатных документов;
- подготовка Web-страниц и публикация результатов в Интернете;
- получение различной справочной информации из области математики.
Со всеми этими (а также некоторыми другими) задачами с успехом справляется Mathcad:
- математические выражения и текст вводятся с помощью формульного редактора Mathcad, который по возможностям и простоте использования не уступает, к примеру, редактору формул, встроенному в Microsoft Word;
- математические расчеты производятся немедленно, в соответствии с введенными формулами;
- графики различных типов (по выбору пользователя) с богатыми возможностями форматирования вставляются непосредственно в документы;
- возможен ввод и вывод данных в файлы различных форматов;
- документы могут быть распечатаны непосредственно в Mathcad в том виде, который пользователь видит на экране компьютера, или сохранены в формате RTF для последующего редактирования в более мощных текстовых редакторах (например, Microsoft Word);
- возможно полноценное сохранение документов Mathcad в формате RTF-документов, а также Web-страниц: HTML и (начиная с 12-й версии) XML;
Начиная с 12-й версии, файлы Mathcad имеют формат ХМСО, являющийся разновидностью текстовой XML-разметки (и следующим шагом по сравнению с форматом MathML, примененным в 2001-й версии). Применение XML-формата оправдано, во-первых, тем, что он становится общеупотребительным для целого ряда приложений и данных самого различного типа. Во-вторых, удобство XML-файлов заключается в возможности использовать для просмотра и манипуляций с Mathcad-документами другие (предусматривающие это) приложения, например, для HTML-экспорта и т. п. Их можно также просматривать и редактировать «вручную», в любом текстовом редакторе.
- имеется опция объединения разрабатываемых вами документов в электронные книги, которые, с одной стороны, позволяют в удобном виде хранить математическую информацию, а с другой — являются полноценными Mathcad-программами, способными осуществлять расчеты;
- символьные вычисления позволяют осуществлять аналитические преобразования, а также мгновенно получать разнообразную справочную математическую информацию;
- справочная система, а также многочисленные дополнительные материалы, оформленные в виде электронных книг (Ресурсы Mathcad), помогают быстро отыскать нужную математическую информацию или пример тех или иных расчетов.
Таким образом, следует хорошо представлять себе, что в состав Mathcad входит несколько интегрированных между собой компонентов — это мощый текстовый редактор для ввода и правки, как текста, так и формул, вычислительный процессор — для проведения расчетов согласно введенным формулам, и символьный процессор, являющийся, по сути, системой искусственного интеллекта. Сочетание этих компонентов создает удобную вычислительную среду для разнообразных математических расчетов и, одновременно, документирования результатов работы.
1 Структура системы MathCad
MathCAD представляет собой интегрированную среду для решения различных математических задач. MathCAD позволяет наглядно вводить исходные данные, проводить традиционное математическое описание решения задачи и получать результаты вычисления в аналитическом или численном виде с использованием при необходимости их графического представления.
Система MathCad содержит следующие функциональные компоненты [1]:
- систему меню различных уровней вложенности;
- контекстные меню;
- набор панелей инструментов;
- текстовый редактор для комментирования процессов математических вычислений;
- редактор формул;
- графический редактор, который обеспечивает возможность построения двух– и трёхмерных графиков [2];
- вычислительную систему для проведения расчётов в числовой форме или в символьном виде;
- шаблоны, которые ускоряют ввод данных;
- систему проверки правильности написания математических выражений;
- встроенную систему вывода результатов расчётов.
2 Алфавит системы MathCad
Система MathCAD использует следующие символы алфавита:
- строчные и прописные буквы латинского алфавита;
- строчные и прописные буквы греческого алфавита;
- строчные и прописные буквы русского алфавита (используются только в текстовых областях!);
- арабские цифры от 0 до 9;
- системные переменные;
- операторы;
- имена встроенных (стандартных) функций;
- специальные знаки.
3 Типы данных в MathCAD Система MathCAD позволяет использовать следующие типы данных:
- константы;
- переменные;
- массивы;
- данные файлового типа.
Константа – это именованный объект, хранящий значение, которое не может изменяться. Числовые константы задаются с помощью арабских цифр, десятичной точки (не запятой!) и при необходимости знака минус. Примеры: 320 – целочисленная константа; 11.4 – действительная константа с плавающей точкой; 61.2∙10-3 – вещественная константа с плавающей точкой (61.2 – мантисса, -3 – порядок). Диапазон чисел, представленных в десятичной системе счисления, составляет от –10-307 до 10307 . Система MathCAD даёт возможность работать с числами, представленными также в двоичной, восьмеричной и шестнадцатеричной системе счисления. Для того чтобы отличать числа, представленные в двоичной, восьмеричной и шестнадцатеричной системах счисления от десятичных чисел, в конце двоичного числа записывают латинскую букву b, восьмеричного числа – латинскую букву о, в конце шестнадцатеричного – латинскую букву h. Некоторые имена в системе MathCAD зарезервированы под системные переменные, которые называются встроенными константами. Встроенные константы делятся на два типа:
- математические константы, хранящие значения некоторых общеупотребительных специальных математических символов;
- системные константы, которые определяют работу численных алгоритмов.
К математическим константам относятся, в частности, символ бесконечности (∞), основание натурального логарифма (е), число π, символ процента (%). К системным константам относятся, например, значение переменной ORIGIN, которая позволяет изменять начальный индекс векторов и матриц (по умолчанию он принимается равным нулю), а также значение переменной ТОL, которая определяет погрешность численных методов (по умолчанию погрешность принимается равной 0.001). Система MathCAD позволяет использовать строковые константы, которые при записи заключаются в кавычки, например, “temp”. Система MathCAD также позволяет работать с комплексными числами, а также использовать размерности для различных величин. Переменные представляют собой именованные объекты, имеющие значения, которые могут изменяться при решении задачи. Переменные могут использоваться в математических выражениях, быть аргументами функций или операндами операторов. Имена переменных называются идентификаторами. Идентификаторы могут включать в себя цифры, латинские и греческие буквы, но начинаться должны обязательно с буквы и в их составе не должно быть пробелов, русских букв, знаков арифметических действий. Строчные и прописные символы при записи идентификаторов различаются. Переменные могут быть строкового типа, например, А:=”Ответ=”. Переменные перед их использованием должны быть определены пользователем. Для присваивания переменной какого–либо значения используется знак := (двоеточие и равно. Это один знак!). Знак равенства в системе MathCAD применяется для вывода значения константы или переменной. Если используется локальная переменная, которая предварительно не была определена, то появляется сообщение об ошибке – имя переменной окрашивается в красный цвет. MathCAD использует также жирный знак равенства, который является признаком неравенства в операциях сравнения или оператором приближённого равенства. Если переменной присваивается начальное значение с помощью оператора :=, то такое присваивание называется локальным. До этого присваивания переменная не определена и ее нельзя использовать при проведении расчётов. Например, при выполнении оператора а:=5.4 переменной а присваивается значение пять целых и четыре десятых. Однако с помощью знака
(клавиша (тильда) на клавиатуре) можно обеспечить глобальное присваивание (рисунок 1), которое позволяет использовать глобальную переменную по всему документу, в том числе и до сделанной надписи.
Рисунок 1 – Задание локальных и глобальных переменных в MathCAD Массивы представляют собой упорядоченные последовательности чисел или строк. Массив – это имеющая уникальное имя совокупность конечного числа числовых или символьных элементов, упорядоченных некоторым образом и имеющих определенные адреса. В пакете MathCAD используются массивы двух наиболее распространенных типов:
- одномерные (векторы);
- двумерные (матрицы).
Порядковый номер элемента, который является его адресом, называется индексом. Индексы могут иметь только целочисленные значения. Они могут начинаться с нуля или единицы, в соответствии со значением системной переменной ORIGIN. Дискретные аргументы – это особый класс переменных, который в пакете MathCAD зачастую заменяет управляющие структуры, называемые циклами (однако полноценной такая замена не является). Эти переменные имеют ряд фиксированных значений, либо целочисленных (1 способ) с шагом, равным +1 или -1, либо в виде чисел с определенным шагом, меняющихся от начального значения до конечного (2 способ). В случае целочисленного варианта значений дискретной переменной используется запись: Имя := Начальное значение .. Конечное значение, где Имя – имя переменной, Начальное значение – ее начальное значение, Конечное значение – конечное значение, .. – символ, указывающий на изменение переменной в заданных пределах (вводится клавишей ;>). Если Начальное значение< Конечное значение, то шаг переменной будет равен +1, иначе -1. Если дискретная переменная должна принимать значения с шагом, отличным от единицы, то должна использоваться запись: Имя := Начальное значение,Второе значение..Конечное значение Здесь Второе значение рассчитывается как Начальное значение+Шаг, где Шаг – заданный шаг изменения переменной (он должен быть положительным, если Начальное значение< Конечное значение, или отрицательным в противном случае). Частным случаем индексированных переменных можно считать ранжированные переменные. Ранжированные переменные имеют ряд фиксированных значений, меняющихся с определённым шагом от начального значения до конечного. Переменные этого типа являются разновидностями векторов. Они применяются для представления числовых значений функций в табличной форме, для построения их графиков. Например, ранжированная переменная i, заданная в документе как i:=0..5, принимает значения 0, 1, 2, 3, 4, 5. Ранжированная переменная j, заданная в документе как j:=1.5, 1.6..2, принимает значения от 1.5 до 2 с шагом, равным 0.1, т.е. 1.5, 1.6, 1.7, 1.8, 1.9, 2. Шаг рассчитывается по формуле: 1.6-1.5=0.1. Дискретные аргументы значительно расширяют возможности MathCAD, позволяя выполнять многократные вычисления или циклы с повторяющимися вычислениями, формировать векторы и матрицы Индексированные переменные могут иметь один (для элементов вектора) или два (для элемента матрицы) индекса, например, аi – i-ый элемент вектора а, сi,j – элемент матрицы с, находящийся в i-ой строке и j-ом столбце. 4 Операторы системы MathCAD Операторы представляют собой элементы языка, с помощью которых можно создавать математические выражения. К ним относятся символы арифметических операций, знаки вычисления сумм, произведений, интегралов, производных первого и более высокого порядка и т.д. После указания операндов (параметров операторов) операторы становятся выполняемыми блоками. Основные операторы системы MathCAD представлены в приложении А. Операторы – элементы MathCAD, с помощью которых можно создавать математические выражения. К ним, например, относятся символы арифметических операций, знаки вычисления сумм, произведений, производной и интеграла и т.д. Оператор определяет:
- действие, которое должно выполняться при наличии тех или иных значений операндов;
- сколько, где и какие операнды должны быть введены в оператор.
Операнд – число или выражение, на которое действует оператор. Например, в выражении 5! + 3 число 3 и выражение 5! — операнды оператора + (плюс), а число 5 операнд оператора факториал (!). После указания операндов операторы становятся исполняемыми по документу блоками. В Приложении А данных методических указаний приведен список наиболее часто используемых операторов. Основными арифметическими операторами MathCAD являются:
- оператор присваивания :=
- оператор вывода результата =
- оператор смены знака –х
- символы арифметических операций + – * /
- знаки вычисления сумм и произведений, производных и интеграла
- возведение в степень хn
- вычисление факториала х!
- вычисление модуля комплексного числа |Z|
- вычисление комплексно-сопряженного числа
- ввод скобок ( )
- ввод верхнего и нижнего индексов
- операторы сравнения величин
5 Функции системы MathCAD MathCAD позволяет использовать два вида функций: стандартные (встроенные) и функции пользователя (заданные пользователем) [6]. Обращение к функциям происходит по имени, за которым в круглых скобках указываются один или несколько аргументов, разделенных запятой. Например, sin(x), b(x,y). Функция возвращает некоторое значение – числовое, символьное, вектор, матрицу. Функции могут входить в математические выражения. MathCAD содержит расширенный набор встроенных элементарных функций, вызываемых командой Вставка/Функция… (Insert/ Function). При указании имени функции с указанием аргумента она возвращает некоторое значение, которое может быть символьным, числовым, вектором или матрицей. Основные встроенные функции MathCAD приведены в таблице 1. Таблица 1 – Основные встроенные функцииMathCAD
| Математическое представление функции | MathCAD |
| sin x | sin(x) |
| cos x | cos(x) |
| tg x | tan(x) |
| ctg x | cot(x) |
| sec x | sec(x) |
| cosec x | cosec(x) |
| arcsin x | asin(x) |
| arccos x | acos(x) |
| arctg x | atan(x) |
| ln x | ln(x) |
| lg x | log(x) |
| ex | ex, exp(x) |
Кроме встроенных функций, пользователь может создавать свои, пользовательские функции, которые отсутствуют в MathCAD, что позволяет адаптировать систему для решения любых пользовательских задач. Чтобы задать пользовательскую функцию, записывают её имя, в круглых скобках – один или несколько аргументов, разделённых запятыми, символ присваивания и выражение: Имя функции(Список параметров) := Выражение В этой записи Имя функции задается как любой идентификатор. В скобках указывается Список параметров функции – перечень используемых в выражении переменных (через запятую). Выражение – любое выражение, содержащее доступные системе операторы и функции с операндами и аргументами, указанными в списке параметров. Примеры функций, заданных пользователем: y(x) : = 2 ·sin(x) F(x,y) : = x2+ y2 В состав выражений могут входить числа, знаки арифметических действий, функции.