История создания и возможности системы
Вскоре после окончания второй мировой войны потребность в автоматизации математических расчетов привела к созданию компьютеров (computer — в буквальном переводе "счетная машина"). Но широкого применения первые поколения таких машин на электронных лампах не получили. Они были дороги и громоздки, а потому доступны лишь специалистам.
С развитием микроэлектроники появились специализированные, предназначенные для математических расчетов миниатюрные компьютеры личного пользования — программируемые калькуляторы [I]. Они широко применяются и сейчас. Однако в последние годы массовое распространение получили куда более мощные, быстрые и универсальные персональные компьютеры (ПК), имеющие превосходные графические возможности и используемые практически во всех сферах науки, производства, бизнеса и образования.
Одной из основных областей применения ПК и поныне являются математические и научно-технические расчеты. Бесспорным лидером среди массовых ПК стали IBM-совместимые ПК 486DX/Pentium/Pentium MMX/Pen-tium Pro/Pentium II, называемые так по типу используемых в них микропроцессоров. На них и ориентированы современные математические системы и, в частности, описываемая в этой книге новейшая система MathCAD 7. 0 PRO, появившаяся в 1997 г.
Само по себе появление компьютеров не упрощало математические расчеты, а лишь позволяло резко повысить скорость их выполнения и сложность решаемых задач. Пользователям ПК, прежде чем начинать такие расчеты, нужно было изучать сами компьютеры, языки программирования и довольно сложные методы вычислений, применять и подстраивать под свои цели программы для решения расчетных задач на языках Бейсик [2] или Паскаль. Поневоле ученому и инженеру, физику, химику и математику приходилось становиться программистом, к сожалению, порою довольно посредственным.
Необходимость в этом отпала лишь после появления интегрированных математических программных систем для научно-технических расчетов: Eureka [З], PC MatLAB [4], MathCAD [5-7, II], Maple V [12], Mathematica 2 или 3 [13] и др. Большое число подобных разработок свидетельствует о значительном интересе к ним во всем мире и бурном развитии компьютерных математических систем.
Широкую известность и заслуженную популярность еще в середине 80-х годов приобрели интегрированные системы для автоматизации математических расчетов класса MathCAD, разработанные фирмой MathSoft (США). По сей день они остаются единственными математическими системами, в которых описание решения математических задач дается с помощью привычных математических формул и знаков. Такой же вид имеют и результаты вычислений. Так что системы MathCAD вполне оправдывают аббревиатуру CAD (Computer Aided Design), говорящую о принадлежности к наиболее сложным и продвинутым системам автоматического проектирования — САПР. Можно сказать, что MathCAD — своего рода САПР в математике [7, 8].
С момента своего появления системы класса MathCAD имели удобный пользовательский интерфейс — совокупность средств общения с пользователем в виде масштабируемых и перемещаемых окон, клавиш и иных элементов. У этой системы есть и эффективные средства типовой научной графики, они просты в применении и интуитивно понятны. Словом, системы MathCAD ориентированы на массового пользователя — от ученика начальных классов до академика.
MathCAD — математически ориентированные универсальные системы. Помимо собственно вычислений они позволяют с блеском решать задачи, которые с трудом поддаются популярным текстовым редакторам или электронным таблицам. С их помощью можно не только качественно подготовить тексты статей, книг, диссертаций, научных отчетов, дипломных и курсовых проектов, они, кроме того, облегчают набор самых сложных математических формул и дают возможность представления результатов, в изысканном графическом виде.
В последнее время особый интерес проявляется к системам компьютерной алгебры, способным выполнять не только числовые, но и аналитические вычисления. В 80-е годы школа советского академика В. М. Глушкова внесла большой вклад в разработку таких программных систем (язык Аналитик) и в создание инженерных мини-ЭВМ, аппаратно реализующих аналитические вычисления (серия «Мир»). К сожалению, эти ЭВМ были вытеснены вначале машинами класса ЕС-ЭВМ, а затем и персональными компьютерами, и теперь мы наблюдаем развитие нового поколения зарубежных систем компьютерной алгебры, ориентированных на современные массовые ПК.
Однако прошло много лет, прежде чем серьезные системы символьной математики (компьютерной алгебры) появились на массовых IBM-совместимых ПК. К ним и относится новое поколение систем MathCAD под Windows [8, 11] и ряд других математических систем, таких, как Derive [10], Maple V и Mathe-matica 2 и 3. Применение их облегчает самые сложные математические, статистические и финансово-экономические расчеты, для проведения которых раньше приходилось привлекать научную элиту — математиков-аналитиков.
Пользователи, работающие с математическими программами, особенно в области символьной математики, в недалеком прошлом не были избалованы удобными и красивыми интерфейсами этих программ. Все внимание было уделено математической корректности программ и богатству их функциональных возможностей.
Многие известные математические программы для ПК класса IBM PC — от некогда популярного языка символьных вычислений Reduce [18] до мощной, быстрой и легко развиваемой системы MatLAB под MS-DOS — имели примитивный интерфейс, заимствованный из опыта начинающих программистов и любителей «дедушки» Бейсика, в новых версиях почитаемого и поныне. А системы с более современным (в конце 80-х годов) многооконным интерфейсом, например Eureka фирмы Borland [3], серьезному математику казались примитивными.
К сожалению, нашим пользователям пока очень мало известны возможности систем символьной математики, поскольку соответствующей литературы до недавнего времени почти не было. Наконец, в 1996 г., спустя три года после объявления о предстоящем выходе, была издана книга автора [10] по системе символьной математики Derive под MS-DOS. Тем временем за рубежом каждой системе символьной математики уже посвящены десятки книг.
Неплохо бы соединить приятное с полезным! К такому выводу первой пришла фирма MathSoft (США), разработчик подлинного шедевра среди математических систем — MathCAD. Из обзоров автора [7, 8] и его справочной книги [5] многие читатели уже знают, что отличительной чертой интегрированных математических систем MathCAD является подготовка документов, которые объединяют задание исходных данных, математическое описание их обработки и результаты вычислений (в виде числовых данных, таблиц и графиков). Вид документа в MathCAD почти ничем не отличается от вида научной статьи. Удачно решена в MathCAD проблема передачи изменений числовых данных в формулах по всей цепочке вычислений.
В начале 90-х годов произошло давно ожидаемое событие: серьезная математика "в лице" интегрированной системы MathCAD 3. 0 прорвалась в окна системы Windows [11]! Триумфальное шествие последней началось с того, что корпорация Microsoft наводнила рынок графических операционных систем своей многооконной и многозадачной системой Windows 3. 0/3. 1 с ее прекрасной графикой и удобным пользовательским интерфейсом. После этого почти все фирмы — разработчики программных средств наперегонки бросились дорабатывать свои программы под Windows.
Ко времени выпуска MathCAD 3. 0 под Windows далеко не каждый наш пользователь имел под рукой ПК класса 386 или 486 с установленной на нем операционной системой Windows. Однако обзор западной литературы по информатике и тенденций развития вычислительной техники убедительно показывал, что система Windows стремительно выдвинулась на роль лидера среди современных операционных систем для персональных компьютеров. Большинство серьезных программных продуктов было переработано под Windows 3. 1/3. 11, а сейчас уже под 32-разрядную (в основном) операционную систему Windows 95. В то же время число программ под MS-DOS стремительно сокращается.
На Западе уже давно прекращен серийный выпуск ПК на микропроцессорах 286 и 386, сворачивается производство ПК на процессорах класса 486. В России ситуация также изменилась. Новое поколение ПК — это машины серии Pentium/ Pentiun MMX/Pentium Pro/Pentium II. Стоимость их постоянно снижается, и ПК этого класса становятся доступными не только для организаций, но и для домашних пользователей.
Сейчас наиболее часто приобретаемыми ПК уже становятся машины с микропроцессорами класса Pentium MMX 166/200, поддерживающими 57 новых команд для реализации средств мультимедиа. В последнее время парк ПК только в России ежегодно возрастает примерно на миллион машин, а общее число IBM-совместимых ПК превысило 200 миллионов.
Вероятно, уже в ближайшие год-два ПК с процессорами Pentium MMX и Pentium II (упрощенный вариант Pentium PRO с мультимедиа-командами) станут основным типом персональных компьютеров даже дома. Их производительность в сотни раз превышает производительность первых ПК IBM PC XT. Именно на машины этого класса и ориентированы версии MathCAD 7. 0 и PLUS 7. 0 PRO, хотя, в принципе, вполне возможна их работа и на ПК с микропроцессором 486 (с частотой работы не менее 66 МГц).
Все это создает предпосылки к массовому переходу на старшие версии системы MathCAD под Windows. Тем более что пользователи, работающие с системой MathCAD под MS-DOS, всегда ощущали определенный дискомфорт из-за присущих ей принципиальных пороков, унаследованных от операционной системы MS-DOS. К примеру, при альтернативной кодировке символов знакогенераторов дисплея и принтера пропадала большая часть греческих букв, широко используемых в математических формулах. Много недоразумений возникало при печати документов на принтерах, искажались некоторые математические спецзнаки, нарушались форматы таблиц и т. д. Качество печати также оставляло желать лучшего. Шрифты не имели сменных наборов стилей, их размеры были фиксированными.
Не только профессионалы-аналитики, но и просто любители и почитатели математики быстро теряли интерес к системе, как только возникала необходимость в выполнении даже простейших символьных вычислений: нужных для этого средств версии системы MathCAD под MS-DOS были попросту лишены. Да и набор математических формул (не говоря уже об их поиске в справочных книгах) был занятием далеко не самым легким и приятным, поскольку требовал знания десятков комбинаций различных клавиш.
Опыт работы автора даже с первой системой MathCAD под Windows (версия 3. 0) позволяет сделать вывод, что студенты, аспиранты, инженеры и ученые получили превосходный инструмент для повседневной работы. Теперь для написания научной статьи или диссертации они могут обойтись только системой MathCAD под Windows и встроенными в Windows средствами.
К средствам новых версий MathCAD относятся настройка под любой мало-мальски известный тип печатающего устройства, богатый набор шрифтов, возможность использования всех инструментов Windows, прекрасная графика и современный многооконный интерфейс. А в версию MathCAD 7. 0 PRO включены эффективные средства цветового оформления документов, создания анимационных (движущихся) графиков и звукового сопровождения. Тут же текстовый, формульный и графический редакторы, объединенные с мощным вычислительным потенциалом. Предусмотрена и возможность объединения с другими мощными математическими и графическими системами для решения особо сложных задач. Отсюда и название таких систем — интегрированные системы.
Математики, физики и ученые из других, смежных отраслей науки давно мечтали о математически ориентированном языке программирования для записи алгоритмов решения математических и научно-технических задач в наиболее удобной, компактной и доступной для понимания форме. Для этого они пытались приспособить различные языки программирования высокого уровня — Фортран, Алгол, Бейсик, Паскаль и др. Но их попытки так и не увенчались успехом: программы на этих языках, увы, ничем не напоминали привычные математические и физические символы и формулы, с которыми все привыкли работать и с помощью которых описываются решения математических задач.
Выпустив за какие-то три года целую серию систем MathCAD, ориентированных под Windows и имеющих некоторые средства для выполнения символьных операций компьютерной алгебры, фирма MathSoft наглядно показала свое несомненное лидерство в быстрой разработке популярных математических систем. Этому способствовало привлечение к разработкам систем MathCAD известной компании Waterloo Maple Software — создательницы одной из самых мощных и интеллектуальных систем компьютерной алгебры Maple V [12].
Совсем недавно лидером среди систем компьютерной алгебры признавалась система Mathematica 2 фирмы Wolfram [13]. Но сегодня ей на пятки уже наступает упомянутая система Maple V R3 с реализацией под Windows [12]. Появилась и новая версия этих систем — Maple V R4. Впрочем, уже есть и новая мощная версия системы Mathematica 3. Однако все эти системы имеют явный избыток средств символьной математики, что удобно для математиков высшей квалификации, но отнюдь не для массового пользователя.
Роль главной математической системы для большинства пользователей по-прежнему осталась за MathCAD. Системы этого класса отличает простота, удобный пользовательский интерфейс и тщательно продуманные, отобранные и ориентированные на нужды большинства пользователей математические возможности. К тому же системы ориентированы на ПК разных классов с различными аппаратными ресурсами — от обычных AT 386 с памятью 2 Мб до машин Pentium/Pentium MMX/Pentium PRO/Pentium II с ОЗУ не менее 12 Мб.
Оставаясь по-прежнему мощной системой для численных расчетов, MathCAD начиная с версии 3. 0 приобрела возможности выполнения некоторых символьных операций, т. е. стала системой компьютерной алгебры. Для этого по лицензии фирмы Maple в систему MathCAD было введено несколько урезанное ядро символьных операций от системы Maple V. Число таких операций, доступных пользователю из меню, тщательно оптимизировалось и было ограничено тем разумным минимумом, который необходим массовому пользователю. Тем не менее символьные возможности систем расширялись от версии к версии; наиболее полно они представлены в версии MathCAD 7. 0 PRO.
Начиная с версии 4. 0 система MathCAD стала 32-разрядной. Это означает, что для ее работы задействованы самые быстрые и эффективные команды современных микропроцессоров, прежде всего класса Pentium и Pentium Pro. В результате, несмотря на заметное увеличение математических возможностей и улучшение пользовательского интерфейса, скорость работы системы не только не уменьшилась, но и заметно возросла.
Объективности ради надо отметить, что мультимедийные команды новых процессоров класса ММХ в MathCAD 7. 0 PRO пока не задействованы, так что применение в ПК процессоров этого класса дает лишь незначительный выигрыш в производительности по сравнению с работой на ПК, оснащенных обычными процессорами Pentium. Этот выигрыш составляет порядка 7—10% и достигается за счет большей емкости кэш-памяти у процессоров класса ММХ и некоторых архитектурных улучшений.
Помимо ориентации на Windows 95 новые версии системы MathCAD содержат множество усовершенствований: удобное и простое управление мышью, более совершенный редактор документов, возможность выполнения наиболее распространенных символьных вычислений, объединенные в единый центр ресурсов встроенные электронные книги, мощная справочная система и многочисленные примеры применения — шпаргалки QuickSheets.
Системы реализуют типовые и весьма обширные возможности Windows, включая доступность множества шрифтов, поддержку всех типов принтеров, одновременное выполнение нескольких разнохарактерных задач и (в последних версиях) реализацию механизмов обмена объектами OLE2. В режиме редактирования возможна одновременная работа с восемью документами (точнее, с восемью окнами, из которых лишь одно является активным).
Предусмотрен импорт любых графических изображений — от простых и специальных графиков функций до многокрасочных репродукций художественных произведений. Введены средства анимации рисунков и проигрывания видеофайлов со звуковым стереофоническим сопровождением. Это значительно улучшает визуализацию самых сложных расчетов.
Справочная база данных о системе в MathCAD 7. 0 PRO гораздо полнее и изящнее, чем в ранних версиях. Она позволяет ознакомиться с основными возможностями MathCAD, разумеется, если пользователь хорошо владеет английским языком. Увы, в отличие от русифицированных версий MathCAD PLUS 6. 0 PRO справочная база данных в версии 7. 0 реализована на английском языке (как и вся прочая документация), что и явилось главным побудительным мотивом к подготовке данной книги. В систему встроены прекрасные справочники по математическим формулам и таблицы с физическими и химическими характеристиками различных веществ.
Особый интерес представляют встроенные в систему электронные книги, содержащие справки (математические формулы), иллюстрации и примеры применения системы по ряду разделов математики, механики, физики, электротехники и радиотехники, а также по интерфейсу системы. Можно выделить нужную справку — формулу или рисунок — и перенести ее в текст документа. В сочетании с возможностью импорта графических файлов из других графических систем (таких, как VISIO, AutoCAD, PCAD, TurboCAD и др.) это позволяет готовить документы, в которых наряду с расчетной частью будут и высококачественные иллюстрации.
Существенно улучшены графические возможности системы. В ранних версиях при построении графиков функций перечисление их функций шло в одну строчку. Это приводило к смещению графика от левой части экрана вправо. Кроме того, было неясно (особенно при монохромном дисплее и распечатке документов не цветным принтером), к какой функции относится та или иная кривая.
Эти недостатки в основном устранены в версии 6. 0 и практически полностью в версии 7. 0. Теперь имена перечисляемых функций располагаются друг под другом вместе с указаниями на тип линии, ее цвет (в виде короткого отрезка соответствующих цвета и типа) и наличие меток того или иного типа (кружки, крестики, квадратики и т. д.). Существенно упрощен процесс перемещения рисунков и изменения их размеров (с помощью мыши), повышена точность позиционирования рисунков. Новой в системах MathCAD под Windows является и возможность управления с помощью мыши, которая в версиях под MS-DOS попросту отсутствовала.
Пользователи будут приятно удивлены тем, что все версии MathCAD под Windows позволяют работать как с латинскими буквами, так и с кириллицей (буквами русского алфавита), греческим алфавитом и вообще с любыми символами, доступными Windows. Более того, благодаря применению масштабируемых TTF-шрифтов можно управлять как размером символов, так и их стилем (делая буквы прямыми или наклонными, тонкими или жирными). Все это дает возможность готовить документы и электронные книги высокого качества как на английском, так и на русском языках. При этом такая возможность есть и в русифицированных, и в англоязычных версиях MathCAD.
Впрочем, не стоит забывать, что это достоинство — результат работы системы в среде Windows, которая может быть русифицированной. Греческие символы и математические спецзнаки раньше были недоступны в текстовых комментариях, теперь же и этот недостаток полностью устранен.
Последние версии системы MathCAD дают новые средства для подготовки сложных документов. В них предусмотрено красочное выделение отдельных формул, многовариантный вызов одних документов из других, возможность закрытия "на замок" отдельных частей документов, гипертекстовые и гипермедиа-переходы и т. д. Это позволяет создавать превосходные обучающие программы и целые книги по любым курсам, базирующимся на математическом аппарате. Здесь же реализуется удобное и наглядное объектно-ориентированное программирование сложнейших задач, при котором программа составляется автоматически по заданию пользователя, а само задание формулируется на естественном математическом языке общения с системой.
1997 год порадовал почитателей системы MathCAD выходом новейшей версии 7. 0. Она не только вобрала в себя все возможности предшествующих версий, но и обогатилась рядом новых. И без того хороший интерфейс версии 6. 0 стал теперь превосходным. С первого взгляда он даже несколько проще, но эта простота явно обманчива. Возможности ввода сложных математических выражений и текстов с самыми разнообразными выделениями заметно расширились.
В эту версию MathCAD добавлена функция задания некоторых типов графиков без определения ранжированных (имеющих диапазон значений) переменных, что резко упростило построение таких графиков для начинающих пользователей. Намного улучшилась справочная система и общее управление ею. Организована связь с другими математическими системами и использование их возможностей. С системой поставляется полное (но англоязычное) описание в формате файлов популярного Internet-браузера Acrobat Reader. Введено и принципиально новое средство — MathConnex — для симулирования систем, представленных состоящей из блоков функциональной схемой.
Новейшая версия, как и предыдущая, выпущена в двух основных вариантах:
MathCAD 7. 0 STANDARD — упрощенная версия, удобная для большинства пользователей и применения в учебных целях;
MathCAD 7. 0 PRO — профессиональная версия, ориентированная на математиков и научно-педагогических работников, заинтересованных в автоматизации своих достаточно сложных и трудоемких расчетов.
При этом особо важно отметить, что MathCAD не только средство для решения математических задач. Это, по существу, мощная математическая САПР, позволяющая готовить на высочайшем полиграфическом уровне любые относящиеся к науке и технике материалы: документацию, научные отчеты, книги и статьи, диссертации, дипломные и курсовые проекты и т. д. При этом в них одновременно могут присутствовать тексты сложного вида, любые математические формулы, графики функций и различные иллюстративные материалы. Позволяет MathCAD 7. 0 готовить и высококачественные электронные книги с гипертекстовыми ссылками.
С выходом настоящей книги заинтересованный читатель получает достаточно полную информацию о MathCAD 7. 0 PRO — и о практике ее применения в массовых общетехнических и математических расчетах. Из книги исключены подробные сведения о ранних версиях систем класса MathCAD.
В дальнейшем сокращения ради мы будем употреблять краткое название системы MathCAD 7. 0 PRO просто как MathCAD (поскольку в данной книге описана только эта версия системы), а под Windows будем подразумевать операционные системы Windows 95 и Windows NT, имеющие практически идентичный интерфейс пользователя. С точки зрения работы в них системы MathCAD 7. 0 разницы между этими операционными системами нет.