П1.Назначение
Mathcad относится к системам компьютерной алгебры, то есть средств автоматизации математических расчетов. В этом классе программного обеспечения существует много аналогов различной направленности и принципа построения. Наиболее часто Mathcad сравнивают с такими программными комплексами, как Maple, Mathematica,MATLAB, а также с их аналогами MuPAD, Scilab, Maxima и др. Впрочем, объективное сравнение осложняется в связи с разным назначением программ и идеологией их использования.
Система Maple, например, предназначена главным образом для выполнения аналитических (символьных) вычислений и имеет для этого один из самых мощных в своем классе арсенал специализированных процедур и функций (более 3000). Такая комплектация для большинства пользователей, которые сталкиваются с необходимостью выполнения математических расчетов среднего уровня сложности, является избыточным. Возможности Maple ориентированы на пользователей — профессиональных математиков; решения задач в среде Maple требует не только умения оперировать какой-либо функции, но и знания методов решения, в нее заложенных: во многих встроенных функциях Maple фигурирует аргумент, задающий метод решения.
Тоже самое можно сказать и о Mathematica. Это одна из самых мощных систем, имеет чрезвычайно большую функциональную наполненность (есть даже синтезирование звука). Mathematica обладает высокой скоростью вычислений, но требует изучения довольно необычного языка программирования.
Разработчики Mathcad сделали ставку на расширение системы в соответствии с потребностями пользователя. Для этого назначены дополнительные библиотеки и пакеты расширения, которые можно приобрести отдельно и которые имеют дополнительные функции, встраиваемые в систему при установке, а также электронные книги с описанием методов решения специфических задач, с примерами действующих алгоритмов и документов, которые можно использовать непосредственно в собственных расчетах. Кроме того, в случае необходимости и при условии наличия навыков программирования в C, есть возможность создания собственных функций и их прикрепления к ядру системы через механизм DLL.
Mathcad, в отличие от Maple, изначально создавался для численного решения математических задач, он ориентирован на решение задач именно прикладной, а не теоретической математики, когда нужно получить результат без углубления в математическую суть задачи. Впрочем, для тех, кому нужны символьные вычисления и предназначено интегрированное ядро Maple (с версии 14 — MuPAD). Особенно это полезно, когда речь идет о создании документов образовательного назначения, когда необходимо продемонстрировать построение математической модели, исходя из физической картины процесса или явления. Символьное ядро Mathcad, в отличие от оригинального Maple (MuPAD) искусственно ограничено (доступно около 300 функций), но этого в большинстве случаев вполне достаточно для решения задач инженерного характера.
Более того, опытные пользователи Mathcad обнаружили, что в версиях до 13 включительно есть возможность не слишком сложным способом задействовать почти весь функциональный арсенал ядра Maple (так называемые «недокументированные возможности»), что приближает вычислительную мощность Mathcad к Maple.
П.2 Интерфейс
Основное отличие Mathcad от аналогичных программ — это графический, а не текстовый режим ввода выражений. Для набора команд, функций, формул можно использовать как клавиатуру, так и кнопки на многочисленных специальных панелях инструментов. В любом случае — формулы будут иметь привычный, аналогичный книжному, вид. То есть особой подготовки для набора формул не нужно. Вычисления с введенными формулами осуществляются по желанию пользователя или мгновенно, одновременно с набором, либо по команде. Обычные формулы вычисляются слева направо и сверху вниз (подобно чтению текста). Любые переменные, формулы, параметры можно изменять, наблюдая воочию соответствующие изменения результата. Это дает возможность организации действительности интерактивных вычислительных документов.
В других программах (Maple, MuPAD, Mathematica) вычисления осуществляются в режиме программногоинтерпретатора, который трансформирует в формулы введенные в виде текста команды. Maple своим интерфейсом ориентирован на тех пользователей, кто уже имеет навыки программирования в среде традиционных языков с введением сложных формул в текстовом режиме. Для пользования Mathcad можно вообще не быть знакомым спрограммированием в том или ином виде.
Mathcad задумывался как средство программирования без программирования, но, если возникает такая потребность — Mathcad имеет довольно простые для усвоения инструменты программирования, позволяющие, впрочем, строить весьма сложные алгоритмы, к чему прибегают, когда встроенных средств решения задачи не хватает, а также когда необходимо выполнять серийные расчеты.[6]
Отдельно следует отметить возможность использования в расчетах Mathcad величин с размерностями, причем можно выбрать систему единиц: СИ, СГС, МКС, английскую или построить собственную. Результаты вычислений, разумеется, также получают соответствующую размерность. Польза от такой возможности трудно переоценить, поскольку значительно упрощается отслеживание ошибок в расчетах, особенно в физических и инженерных.
П.3 Графика
В среде Mathcad фактически нет графиков функций в математическом понимании термина, а есть визуализация данных, находящихся в векторах и матрицах (то есть осуществляется построение как линий так и поверхностей по точкам с интерполяцией), хотя пользователь может об этом и не знать, поскольку у него есть возможность использования непосредственно функций одной или двух переменных для построения графиков или поверхностей соответственно. Так или иначе, механизм визуализации Mathcad значительно уступает таковому у Maple, где достаточно иметь только вид функции, чтобы построить график или поверхность любого уровня сложности. По сравнению с Maple, графика Mathcad имеет еще такие недостатки, как: невозможность построения поверхностей в непрямоугольные области существования двух аргументов, создание и форматирование графиков только через меню, что ограничивает возможности программного управления параметрами графики.
Однако следует помнить об основной области применения Mathcad — для задач инженерного характера и создание учебных интерактивных документов, возможностей визуализации вполне достаточно. Опытные пользователи Mathcad демонстрируют возможность визуализации сложнейших математических конструкций, но объективно это уже выходит за рамки назначения пакета.