Mathcad и MAS – что это такое
Mathcad и
MAS – что это такое
Очень
часто посетители разного рода компьютерных форумов
задают вопросы, касающееся выбора программ для расчетов, просят дать сравнение
математических пакетов и отметить их сильные и слабые стороны. Такие вопросы
инициируют всплески дискуссий, где спорящие быстро забывают о спросившем и о
его «расчетных» потребностях и начинают бурно обсуждать качественные и количественные
характеристики пакетов, которые у всех на слуху: Mathcad, MatLab, Mathematica,
Maple и др.
Своеобразная
попытка «количественного» сравнения этих пакетов была предпринята, например, на
сайте пользователей MatLab (http://www.matlab.ru/). Там велся онлайновый опрос
посетителей – спрашивалось, какой пакет они используют для расчетов.
Естественно,
полоска, визуализирующая процент приверженцев того или иного пакета, у слова
«MatLab» всегда была самая длинная – ведь на этот форум в основном и заходят пользователи
MatLab. Остальные либо заблудились, либо зашли на «чужой» форум из любопытства
– что, мол, там обсуждают – такие же проблемы, с какими я сам сталкиваюсь в
своем пакете, или что-то другое… Но все прекрасно понимают, что это никакой не
опрос, а чистой воды пиаровская акция, а в это, увы, превращаются почти все
опросы. С таким же успехом можно судить о доходах и потребительских
предпочтениях россиян по результатам опроса москвичей у входа в дорогой
супермаркет. Упоминаем же мы об этом опросе лишь потому, что там опять
фигурировали «Mathcad, MatLab, Mathematica, Maple и др.» – «великолепная
четверка» компьютерной математики.
Но
в ряду программ нет самой востребованной программы расчетов на персональных
компьютерах – электронных таблиц. А ведь, более 90% всех компьютерных расчетов
проводятся в среде этого неотъемлемого компонента электронного инженерного
офиса. Мы пока не будем говорить о степени сложности решаемых задач, об их
особой специфике. Но даже если в нашей статистике учитывать некий коэффициент
сложности задач (Excel – 1, Mathcad – 2… Mathematica – 10, к примеру, и т.д.),
то все равно Excel «забьет» все остальное. Даже без учета бухгалтерских
расчетов. Mathcad же займет в этом рейтинге «почетное» второе место. С
количеством «разобрались». А теперь поговорим о качественной стороне вопроса.
Можно
утверждать, что беда пакета Mathcad (беда в том смысле, что его все время
пытаются сравнить с пакетами MatLab, Maple, Mathematica, а самих пользователей
Mathcad непрерывно уговаривают перейти на более «серьезные» пакеты) в… его
названии – в этом самом «Math», вернее только в «Ma
».
Пакет Mathcad (и на этом настаивают его разработчики) нужно сравнивать не с
пакетами MatLab, Maple, Mathematica, а с электронными таблицами. Mathcad
создавался как программное средство, альтернативное электронным таблицам. И не
электронным таблицам современным, а тем, какие были на момент создания первых
версий Mathcad. Хотя органические недостатки электронных таблиц, которые
попытались обойти (нивелировать) разработчики Mathcad, так и остались в
последних версиях Excel. Обрисуем их вкратце.
Электронные
таблицы подкупают своей простотой, и это одна из причин их высокой
популярности: берем содержимое двух ячеек (щелкнем по ним курсором мыши),
сложим их, а ответ (сумму) поместим вот тут! На клавиатуре при этом нажимается
всего лишь пара клавиш – «равно» и «плюс».
Но
эта простота, как это часто случается, оказывается «хуже воровства»: в
расчетах, созданных с помощью электронных таблиц, не сможет разобраться не
только другой человек, желающий развить их или просто проверить правильность
заложенных методик и формул, но зачастую и сам разработчик. Этот недостаток
пытались исправить, интегрированием в электронные таблицы языков
программирования (VBA для Excel, например) и других полезных инструментов. Но
при этом получалось так, что «от чего ушли – к тому и пришли»: электронные
таблицы, как, впрочем, и сам Mathcad создавались как прямая альтернатива языкам
программирования – тому же языку BASIC, например. Но закрытость расчетов в
электронных таблицах очень мешает их активному использованию (активному в
смысле возможности изучения, проверки и модернизации) в первую очередь в сфере
образования. А это основной потребитель математических пакетов. Бухгалтеру или
инженеру, если он не создает свои собственные расчетные методики, достаточно
ввести данные и считать ответ. Преподавателям же и студентам ответ, как
правило, не очень и нужен – важно изучение пути к ответу. Написать одной
строкой в текстовом режиме более-менее сложную формулу в ячейку Excel или
строку VBA еще можно, но проанализировать ее, показать ее студентам для
иллюстрации физического явления или технологического процесса, связанного с
этой формулой, крайне трудно. В среде Maple, например, формула вводится тоже в
текстовом режиме, но тут же переводится в вид, к которому человечество привыкло
задолго до появления компьютеров.
За
это Mathcad и хвалят (те, кто набил привык к такому графическому способу ввода
формул), и ругают (естественно, те, кто так и не оторвался от текстового,
DOS-овского интерфейса). А можно сказать и так – фирмы-разработчики, оставшиеся
верными текстовому режиму ввода информации в формулах, были дальновидными, даже
не осознавая это. Дело в том, что текст – это пока основной способ оперативной
передачи данных в сети Интернет (см. далее рис. 2.7, например).
«Ахиллесова
пята» пакета Mathcad в его названии, которое как бы авансом приписывает эту
программу к «элитному клубу» математических пакетов. Вторая беда в том, что
разработчики Mathcad, может быть, из-за желания отработать этот аванс все время
«подтягивали» эту программу к математическим пакетам, встраивая в него все
новые и новые математические инструменты. Многие из них оказались очень
полезными и востребованными, а другие же только отягощали пакет. Так, например,
в Mathcad 11 вставлены инструменты решения дифференциальных уравнений в частных
производных (см. http://twt.mpei.ac.ru/mas/worksheets/pde_Temperature.mcd,
например), хотя все понимают, что сколько-нибудь сложную задачу этими
инструментами не решить. Можно только показать студентам, что это такое –
дифференциальное уравнение в частных производных и как можно подойти к его
решению. Для сложных и реальных задач нужно брать другие пакеты или даже (и
скорее всего) разрабатывать индивидуальные алгоритмы, что, кстати, можно
прекрасно делать и в среде Mathcad. Вот и начинают сравнивать пакет Mathcad с
Maple или MatLab, где эти инструменты более развиты. И сравнение это, конечно,
не в пользу Mathcad. В включением в Mathcad специализированных, а не общематематических
инструментов разработчики Mathcad как бы сами подставляют себя под огонь
критики и толкают пакет на тупиковый путь развития – на путь, который уже давно
прошли «настоящие» матпакеты. Бьет это и по традиционным пользователям Mathcad,
которые не так сильны в математике, да и не чувствуют особой нужды в ней для
решения своих рутинных задач. Новые сложные инструменты новых версий Mathcad
часто только смущают таких пользователей, лишний раз как бы упрекая их в
незнании каких-то специальных разделов математики. Да и накладно все это в
финансовом плане – новые версии Mathcad с несущественными изменениями
появляются чуть ли не каждый год.
Здесь
представляется оптимальным не подключать к Mathcad все новые и новые
специализированные инструменты (для решения ДУ в частных производных, например,
– см. выше), а идти уже опробованным путем создания отдельных
специализированных приложений, которые пользователи при необходимости могли бы
приобретать отдельно. Перечень таких приложений можно найти на сайте http://www.mathcad.com/library/Electronic_Books.asp.
Еще раз подчеркнем, что некоторые специфические функции Mathcad открывают некий
«ящик Пандоры» и вынуждают этот пакет претендовать на то, что ему никогда не
принадлежало. В реальной практике инженера сложных задач не так уж много (к
счастью, а может, к сожалению). Но очень много рутинных небольших задач,
связанных, например, с использованием различных нормам и правилам. Так, по
Интернет-адресу http://twt.mpei.ac.ru/mas/worksheets/Izol_Trub_Teploset.mcd
хранится Mathcad-документ по расчету толщины теплоизоляции труб согласно СНиП
(«Строительные нормы и правила» – см. http://docinfo.ru/docs.html, например). И
таких примеров множество. Особо сложной математики в них нет из-за того, что
они ориентированы на ручные расчеты. С ними часто мучаются – считают каждый раз
заново, ошибаются… Mathcad хорош тем, что расчет, выполненный с его помощью,
может читать человек, ничего не знающий об этом пакете.
У фирмы MathSoft
Engineering & Education. Inc,
– у разработчика Mathcad есть, кстати, программный продукт без особых
«математических» претензий, но со всеми достоинствами популярной и
востребованной программы для рутинных инженерных расчетов на компьютере. Это
пакет StudyWorks (http://www.studyworksonline.com/), который широко
используется в старших классах школ США. Успех этого пакета объясняется и тем,
что в него интегрированы электронные учебники по всем базовым школьным
дисциплинам: математика, физика, химия, информатика и т.д. Возможности пакета
во многом покрывают и программу высшей школы, по крайней мере, для тех вузов и
специальностей, которым не нужна «особая» математика. Так, в меню Algebra (рис.
1.5; в среде Mathcad оно называется Symbolic) собраны необходимые команды
символьной математики (решение уравнений, взятие производной, поиск
первообразной и др.), но убраны специфические – интегральные преобразования,
например. Ядро пакета небольшое, но при необходимости его можно «нарастить»
электронными учебниками. Кроме того, пакет StudyWorks, как и Mathcad дополнен
справочным материалом. Если этого не хватает для решения задачи (домашнего
задания по математике, например), то есть on-line выход в Интернет (StudyWorks!
On-line), включая и выход на специализированный форум (HomeworkHelp).
Сам
же Mathcad, как отмечают многие пользователи и мы подчеркнули выше, очень
перегружен, хотя до конца так и не «дорос» до «взрослых» математических
программ. Если эту «перегрузку» снять – вынести, например, специализированные
инструменты в обособленные пакеты (надстройки, электронные учебники), то и
получится этот самый недорогой и неглючный StudyWorks, годный для ведения
огромного количества рутинных научно-технических расчетов.
Судьба
Mathcad довольно неопределенна и нестабильна. Вернее, скажем так – она очень
волнует автора и многих других его коллег. Хорошо бы, если б этот пакет
проглотила бы «всеядная» фирма Microsoft и сделала Mathcad, например, некой
утилитой тех же электронных таблиц
так, чтобы
пользователь Excel мог в особом листе Excel-книги хранить сложные формулы,
строить «научные» (а не «деловые») графики, работать с физическими величинами и
т.д.
Другой
сценарий: пакет Mathcad должен вернуться на рынок после существенной
переработки и с новым названием – без ко многому обязывающей приставки «Math».
Третий
сценарий. Разработчики Mathcad освободят основную массу пользователей от
обязанности и потребности покупать сам пакет и регулярно обновлять его, а
заодно обновлять (заменять) операционную систему и даже сам компьютер. Этот
сценарий уже частично реализуется. Речь идет о так называемом Mathcad
Application Server (см. www.mathcad.com/server, www.vpu.ru/mas), на котором
проводятся расчеты разной степени сложности в режиме удаленного доступа. Связь
же с этим сервером осуществляется через Internet: пользователь (клиент сервера)
шлет на сервер свои данные и получает ответ. При этом у пользователя
сохраняется полная иллюзия, что он открыл Mathcad-документ и работает с ним.
Значительному количеству пользователей Mathcad нужен не для разработки
собственных сложных алгоритмов, а для решения рутинных математических задач:
построение графиков, решение уравнений и систем (алгебраических,
дифференциальных), несложная статистика и т.д. и т.п. (см. раздел Разное в
Приложении «Содержание MAS…»). Такие задачи не должны требовать разработки
собственных программ – они давно уже разработаны и основательно протестированы.
Основная проблема тут – доступ к этим программам, что является основной целью
MAS.
Некую
нестабильность пакета Mathcad в его настоящем виде ощущают даже его разработчики.
Они, конечно, в этом открыто не признаются и даже обидятся на утверждающих это.
Но эта нестабильность чувствуется по косвенным признакам. Главный из них – уже
отмеченное неоправданно частое обновление версий Mathcad и посылаемые вдогонку
«заплатки».
Но
основное преимущество Mathcad (как, впрочем, и Excel) по сравнению с другими
расчетными пакетами состоит в том, что Mathcad не требует особой компьютерной и
математической подготовки для решения задач средней сложности. Если с пакетом
Mathcad долго не работать, то навыки работы с ним не забываются и при
необходимости можно сразу приступить к решению возникшей расчетной задачи.
«Конкуренты» же Mathcad, реальные и мнимые требуют непрерывного тренажа иначе
восстановить навыки будет довольно трудно.
Итак.
Пакет Mathcad оторвался от несовершенных и примитивных
,
но, тем не менее, (или «тем самым») очень популярных электронных таблиц и стал
«дрейфовать» в сторону «элитных» математических программ, но так и не добрался
до них. Продолжая «корабельные» аналогии, можно утверждать, что у Mathcad есть
свой собственный «курс» и довольно многочисленные «пассажиры», которые не
собираются пересаживаться на другие корабли. Смущает этих «пассажиров» (не
всех, конечно) и пассажиров других судов (судов другого класса) только то, что
на корабле вывешен флаг с буквами «Math».
Список литературы
Для
подготовки данной работы были использованы материалы с сайта http://twt.mpei.ac.ru