Предисловие

Миллионы людей занимаются математическими расчетами, иногда в силу влечения к таинствам математики и ее внутренней красоте, а чаще в силу профессиональной или иной необходимости, не говоря уже об учебе. Ни одна серьезная разработка в любой отрасли науки и производства не обходится без трудоемких математических расчетов.

Вначале эти расчеты выполнялись на программируемых микрокалькуляторах [1] или с помощью программ на универсальных языках программирования, таких, как Бейсик [2] или Паскаль. Постепенно для облегчения расчетов ' были созданы специальные математические компьютерные системы [3—14].

Настоящая книга посвящена одной из самых мощных и эффективных математических систем — MathCAD 7.0. Она существует в двух вариантах:

стандартном MathCAD 7.0 Standard и профессиональном MathCAD 7.0 Professional Edition (PRO). Стандартная версия ориентирована на большинство пользователей, а профессиональная — на профессионалов, серьезно занимающихся математическими расчетами.

Системы MathCAD традиционно занимают особое место среди множества таких систем (Eureka, Mercury, MatLAB, Mathematica 2 и 3, Maple V R3 и R4 и др.) и по праву могут называться самыми современными, универсальными и массовыми математическими системами. Они позволяют выполнять как численные, так и аналитические (символьные) вычисления, имеют чрезвычайно удобный математико-ориентированный интерфейс и прекрасные средства графики [6, 15,16]. Системы начиная с версии 3.9 работают под управлением графических операционных систем Windows 3.1/3.11 [16,17], а новая версия MathCAD 7.0 - под Windows 95/NT.

Системы класса MathCAD предоставляют уже привычные, мощные, удобные и наглядные средства описания алгоритмов решения математических задач. Преподаватели и студенты вузов получили возможность подготовки с их помощью наглядных и красочных обучающих программ в виде электронных книг с действующими в реальном времени примерами. Новейшая система MathCAD PLUS 7.0 PRO настолько гибка и универсальна, что может оказать неоценимую помощь в решении математических задач как школьнику, постигающему азы математики, так и академику, работавшему со сложнейшими научными проблемами. Система имеет достаточные возможности для выполнения наиболее массовых символьных (аналитических) вычислений и преобразований [18, 19].

Более 600 000 только зарегистрированных пользователей владеют ранними версиями системы MathCAD во всем мире, а с выходом новых версии системы это число наверняка заметно увеличится. Ну а незарегистрированных пользователей, пожалуй, еще больше. О системе с такой вычислительной мощью, как у MathCAD 6.0/7.0 PRO, еще пару десятков лет назад не могли мечтать даже разработчики уникальной научной и космической аппаратуры. Но эта мощь нисколько не затрудняет удивительно простое и интуитивно предсказуемое общение с системой на общепринятом языке математических формул и графиков.

Исключительно велика роль систем класса MathCAD в образовании. Облегчая решение сложных математических задач, система снимает психологический барьер при изучении математики, делая его интересным и достаточно простым. Грамотное применение систем в учебном процессе обеспечивает повышение фундаментальности математического и технического образования, содействует подлинной интеграции процесса образования в нашей стране и наиболее развитых западных странах, где подобные системы применяются уже давно. Новые версии MathCAD позволяют готовить электронные уроки и книги с использованием новейших средств мультимедиа, включая гипертекстовые и гипермедиа-ссылки, изысканные графики (в том числе анимационные), фрагменты видеофильмов и звуковое сопровождение.

Шестая версия системы MathCAD русифицирована и получила широкое распространение в нашей стране, тогда как версия системы MathCAD 7.0 PRO пока существует только в англоязычном варианте, что, однако, вовсе не мешает готовить с ее помощью документы на русском языке.

В настоящее время существует острый дефицит в литературе по системам класса MathCAD. А по новой версии MathCAD 7.0 PRO, появившейся в середине 1997 г., книг у нас вообще не издавалось, хотя она резко отличается от предшествующей версии 6.0 [6, 14].

Данная книга восполняет этот пробел. Она продолжает серию справочных книг [1—6] и обзоров [7—13] автора, посвященных современным средствам автоматизации математических расчетов. В книге впервые в нашей литературе описаны оба варианта новейшей оригинальной (англоязычной) версии системы MathCAD 7.0.

Справочник написан в том же стиле, что и другие справочники автора, посвященные применению математических систем. Из них взяты и некоторые примеры для настоящей книги. Изложенный в ней материал является результатом многолетней работы автора со всеми версиями системы MathCAD, начиная от версий под MS-DOS [5]. При этом книга составлена так, что пользователи, работающие с более ранними версиями системы (MathCAD 3.0/4.0/5.0/PLUS 5.0/6.0/PLUS 6.0), получат не мало информации и о них, поскольку новые возможности седьмой версии оговорены особо.

Что в книге нового

Приступая к работе, автор вначале наивно полагал, что все сведется в основном к замене слов MathCAD 6.0 на MathCAD 7.0 в его недавно изданной книге [б], разве что придется сделать небольшие и непринципиальные дополнения. Но, увы (а может, к счастью?), этот номер не прошел! Версия MathCAD 6.0 подверглась настолько серьезной переработке, что даже рубрикацию книги пришлось серьезно изменить.

В справочник вошли новые материалы об интерфейсе пользователя системы, новых возможностях символьной математики, описаны центр информационных ресурсов MathCAD 7.0 PRO, системный интегратор MathConnex, язык его программирования Connex Script и др. Тем не менее опыт подготовки предыдущей книги [6] позволил в сжатые сроки создать данное руководство по версии MathCAD.

Итак, перед вами книга, посвященная версии 7.0 популярной системы MathCAD. Автор постарался написать ее так, чтобы она была полезна и владельцам ранних версий этой системы под Windows. Но различие в пользовательском интерфейсе новой и прежних версий настолько велико, что обучение работе со старыми версиями по данной книге едва ли целесообразно. Лучше для этого взять книгу по предыдущей версии [б]. Однако на уровне описания документов и примеров применения новая версия MathCAD мало чем отличается от старой (MathCAD 6.0).

Адреса для общения

Книга написана в рамках инициативных работ кафедры физической и информационной электроники Смоленского государственного педагогического института (СГПИ) и научно-исследовательской части Смоленской военной академии. Автор будет признателен всем читателям и организациям за отзывы о книге и пожелания. Их следует направлять по адресу издательства "СК ПРЕСС" или по месту работы автора: 214000, Смоленск, ул. Пржевальского 4, СГПИ.

О шрифтовых выделениях в книге

Для облегчения чтения книги в ней используются следующие шрифтовые выделения:

• обозначения скалярных величин (х, X, у, z и т. д.) и математические формулы в описании алгоритмов и математических методов даются курсивом;

• обозначения векторов, матриц (V, М, m и т. д.) и операций управления системой выделяются полужирным прямым шрифтом;

• имена встроенных функций и системных переменных [sin(x), ln(x), TOL и т. д.] выделяются также полужирным прямым шрифтом;

• полужирным прямым шрифтом выделяются и названия операций (только на языке оригинала), позиций подменю главного меню и основных кнопок управления в диалоговых и информационных окнах;

• примеры записей в документах MathCAD даются прямым шрифтом без какого-либо выделения.

Предупреждения

Автор и издательство сделали все возможное, чтобы материал книги был доступен, актуален, объективен и точен. Однако компьютерная алгебра — еще новое направление, терминология которого пока не устоялась, а это может привести к погрешностям и неточностям перевода отдельных терминов. Кроме того, MathCAD 7.0 PRO очень мощная и обширная система и нет гарантии того, что при подготовке книги в ее описании что-то не было упущено, так как эта книга не является прямым переводом фирменной документации по системе, а представляет собой авторское произведение.

В связи с этим автор и издательство предупреждают о том, что они не несут никакой ответственности за неправильное истолкование каких-либо терминов и положений, относящихся к системе MathCAD, и за невозможность ее применения при решении каких-то конкретных задач пользователя.

Об использовании диска с примерами программ для MathCAD 6.0

К книге [6] прилагалась дискета (3,5 дюйма) с десятью пакетами применений системы MathCAD PLUS 6.0 PRO. Все они могут быть использованы, причем без какой-либо доработки, и пользователями новой версии MathCAD 7.0 PRO.

Приложение дискеты с примерами к настоящей книге было признано нецелесообразным по следующим причинам:

• для обучения работе с MathCAD все же полезнее набрать описанные примеры и отладить их самостоятельно, чем просто загрузить с диска и просмотреть в готовом виде;

• наиболее интересные примеры из содержащихся на диске описаны в Главе 14 данной книги и (частично) в других главах;

• изготовление дискеты увеличивает стоимость книги и отдаляет сроки ее выхода в свет.


Глава 1 Основы работы с системой MathCAD 7. 0 PRO

1. 1. История создания и возможности системы

Вскоре после окончания второй мировой войны потребность в автоматизации математических расчетов привела к созданию компьютеров (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 разницы между этими операционными системами нет.

1. 2. Инсталляция и запуск системы

Системы MathCAD 7. 0 PRO поставляются на CD-ROM (возможна поставка минимальных версий и на 3, 5-дюймовых дискетах). При этом полная инсталляционная версия MathCAD 7. 0 PRO с документацией и демонстрационной версией программы Axum 5. 0 (Техническая графика и анализ данных) занимает чуть более 100 Мб. Система ориентирована на операционные системы Windows 95 и Windows NT и имеет возможности подготовки документов в формате, принятом для глобальной сети Internet.

Для установки системы MathCAD 7. 0 PRO нужен ПК класса 486 и выше (желателен Pentium/Pentium MMX/Pentium Pro/Pentium II) с емкостью ОЗУ не менее 12 Мб (рекомендуется 16 Мб и выше). Инсталляция в минимальном объеме требует 18 Мб на жестком диске, а типовая — даже 55 Мб. Для полного использования системы должны быть проинсталлированы приложения, с которыми она может работать совместно: Microsoft Internet Explorer 3. 02, Excel, MatLAB 4. 02 и Axum 5. 0.

Как отмечалось, новые версии MathCAD дополнены возможностью вывода анимационных изображений, получивших название "живого" видео. Для реализации звукового сопровождения "живого" видео необходимо оснащение ПК аудиоадаптером, совместимым со звуковыми картами класса Sound Blaster, и звуковыми колонками.

Таким образом, полноценное использование MathCAD 7. 0 возможно только на самых современных 32-разрядных ПК, оснащенных новейшими средствами мультимедиа. Разумеется, отказавшись от мультимедийных средств, вы сможете использовать все основные возможности системы MathCAD.

С учетом отмеченных особенностей инсталляция системы не вызывает каких-либо проблем и проходит довольно гладко. Если возникают специфические трудности (как правило, при неудачной и нетиповой конфигурации ПК), следует ознакомиться с довольно детальной инструкцией по инсталляции, приведенной в файле readme.

После инсталляции в рабочем окне системы Windows вы обнаружите окно с пиктограммами системы. Пиктограмма с изображением счетов и надписью MathCAD PLUS 7. 0 служит для запуска системы. Однако это окно существует недолго и, закрывшись, более не появляется, переходя в рабочее меню операционной системы. На рис. 1. 1 показано раскрытое рабочее меню операционной системы Windows 95 с позициями, в которых видны значки и наименования их для приложения MathCAD 7. 0 PRO.

То, что система MathCAD 7. 0 PRO предназначена для профессионалов, вовсе не означает, что для обычных пользователей работа с системой будет в чем-то сложнее, чем с упрощенной версией MathCAD 7. 0 STANDARD. Эти версии имеют одинаковый пользовательский интерфейс и отличаются лишь полнотой набора встроенных операторов и функций и объемом сопроводительной документации Так что вопреки логике работа именно с версией PRO проще для любого пользователя, ведь именно эта версия содержит наиболее мощный справочно-информационный раздел и широчайшие возможности не медленного применения

Рис. 1. 1 Группа значков MathCAD 7. 0 PRO в рабочем меню операционной системы Windows 95

В прежних версиях MathCAD под Windows пиктограмма запуска имела вид калькулятора Некоторые пользователи поневоле из-за этого отождествляли MathCAD с микрокалькулятором в Windows Однако они отличаются примерно так же, как космический "челнок" отличается от бумажного голубка Видимо, учтя это, MathSoft изменила пиктограмму, изобразив ее в виде счетов, — вряд ли кто-либо заподозрит, что MathCAD 7 О PRO уподобляется этаким большим электронным счетам

Запустив MathCAD из Windows, вы на некоторое время (зависит от быстродействия ПК) увидите довольно скромное титульное окно (рис 1 2)

Оно вскоре сменится основным окном системы (рис 1 3) Последнее представляет собой некий гибрид типового окна Windows программ и диалогового окна, столь привычного для пользователей ранних версий MathCAD

Обычно при первой загрузке системы ее окно появляется не полностью открытым и вокруг него видны пиктограммы других приложений менеджера программ Windows 95 Однако на рис 1 3 основное окно MathCAD раскрыто на весь экран, пользователи Windows 95 знают, что для раскрытия окна надо активизировать среднюю из трех кнопок, расположенных в правом верхнем углу основного окна системы

При запуске системы в центре основного окна обычно появляется меньшее окно — Tip of the Day, — которое позволяет быстро ознакомиться с возможностями MathCAD Однако для наших пользователей польза от этого окна весьма сомнительна, поскольку описание дано на английском языке Для переключения тем служит кнопка Next Tip, а для перехода к работе с MathCAD — кнопка ОК Можно отключить появление этого окошка, удалив мышью птичку в прямоугольнике в нижнем левом углу окошка Tip of the Day

Рис. 1. 2 Титульная заставка системы MathCAD PLUS 6. 0 PRO

Рис. 1. 3 Окно системы MathCAD PLUS 7. 0

Как известно, Windows 95 позволяет быстро переключаться с решения одной задачи на решение другой (в частности, путем одновременного нажатия клавиш Alt и Tab). Возможно также управление окнами различных приложений. Для этого в правом верхнем углу окна MathCAD помещены три кнопки в виде маленьких квадратов.

Левая кнопка сворачивает окно, сохраняя MathCAD активным. При этом в строке задач Windows 95 (внизу экрана) появляется кнопка с пиктограммой системы и ее названием. Если загружены и другие приложения Windows 95, то и их кнопки будут видны в строке задач; активизируя их, можно делать активным то или иное приложение.

Средняя кнопка, как отмечалось, выполняет функции переключения размеров окна: она раскрывает окно на весь экран или задает окно в уменьшенном размере. При этом окно можно растягивать в разных направлениях, уцепившись за его ограничительные линии или углы курсором мыши. В этом случае курсор приобретает вид тонких двухсторонних стрелок, указывающих на направление, в котором можно растягивать или сужать окно.

Третья кнопка (с жирным наклонным крестиком) служит для закрытия окна. При этом работа с приложением (MathCAD или другим) завершается в соответствии с определенными правилами. Обычно, если в приложение был загружен файл и он модифицировался, то при закрытии приложения появляется временное окно с предложением сохранить файл.

С помощью клавиш Alt и Tab (табуляция) в Windows можно быстро переключаться из одного приложения в другое, например из текстового редактора или программы AutoCAD в MathCAD. При этом (что является принципиальным отличием от работы в среде MS-DOS) работа каждого приложения временно прекращается в том состоянии, какое было перед переключением окон. С этого же состояния приложение начинает работать, как только его окно снова делается активным. Переключение приложений удобно осуществлять из строки задач операционной системы, обычно расположенной внизу экрана.

1. 3. Основы пользовательского интерфейса

Под интерфейсом пользователя подразумевается совокупность средств графической оболочки MathCAD, обеспечивающих легкое управление системой как с клавишного пульта, так и с помощью мыши. Под управлением понимается и просто набор необходимых символов, формул, текстовых комментариев и т. д., и возможность полной подготовки в среде MathCAD документов (Worksheets) и электронных книг с последующим их запуском в реальном времени.

Пользовательский интерфейс системы создан так, что пользователь, имеющий элементарные навыки работы с Windows-приложениями, может сразу начать работу с MathCAD. Интерфейс системы внешне очень напоминает интерфейс широко известных текстовых процессоров Word 7. 0/8. 0 под Windows 95. Это, в частности, позволило несколько сократить описание общепринятых для Windows-приложений деталей работы с ними.

Окно редактирования

Сразу после запуска система готова к созданию документа с необходимыми пользователю вычислениями. Первая же кнопка панели инструментов (с изображением чистого листка бумаги) New Worksheet позволяет начать подготовку нового документа. Соответствующее ему окно редактирования получает название Untitled: N, где N — порядковый номер документа, который начинается с цифры 1. Вначале окно редактирования очищено (рис. 1. 4). Задание различных стилей новых документов мы рассмотрим в следующей главе.

Если в систему с помощью второй кнопки (в виде открывающейся желтой папки) загружен файл документа, то последний появится в окне редактирования (рис. 1. 5). На этом рисунке экран системы показан со скрытыми панелями инструментов (Tool Bar), форматирования (Format) и задания палитр математических символов и операторов (Math Pallete). При этом вид экрана почти не отличается от того, который знаком пользователям старых версий системы MathCAD под MS-DOS Для устранений панелей служат опции в главном меню, находящиеся в подменю позиции View

Если все окна редактирования закрыты, то экран системы приобретает вид, показанный на рис 1 6 некоторые детали интерфейса (сравните с рис. 1. 4 и 1. 5) могут отсутствовать, даже когда панели инструментов, форматирования и математических символов и операторов выведены. Нерезкое изображение ряда элементов интерфейса показывает, что в данном случае их функции недоступны На это же указывает и исчезновение отдельных позиций главного меню. Само окно редактирования отсутствует, на его месте — просто серый фон.

Рис. 1. 4 Экран системы MathCAD с очищенным окном редактирования

Рис. 1. 5 Экран системы MathCAD с загруженным документом

Рис. 1. 6 Экран системы MathCAD со всеми закрытыми окнами документов

Позже будет описано, как модифицируется интерфейс системы. А пока стоит обратить внимание на некоторые типовые примеры вычислений в среде системы MathCAD. Первое, что бросается в глаза (см. рис. 1. 5), — естественность записи математических выражений и результатов их вычислений, что является главной отличительной чертой систем класса MathCAD.

Основную часть экрана занимает окно редактирования, первоначально пустое. Полосы прокрутки на нижней и правой кромке текущего окна (иногда называемые слайдеры) предназначены для перемещения изображения на экране по горизонтали и вертикали. Для этого достаточно установить курсор-стрелку мыши на строке прокрутки (квадратик со стрелкой, указывающей направление перемещения) и нажать левую клавишу мыши. При этом будет обеспечено плавное, но медленное перемещение изображения в окне. Можно перемещать изображение намного быстрее, установив курсор-стрелку в поле ползунка и также нажав клавишу мыши. При этом длина ползунка соответствует полной длине документа, так что курсором можно сразу приблизительно указать на часть документа, выводимую в окно.

Вверху окна на рис. 1. 4 видно несколько строк с типовыми элеменгами интерфейса. Верхняя строка — титульная. Она отображает название загруженного или вводимого с клавиатуры документа. В левой части строки помещена стандартная кнопка управления окном, а в правой части — три маленькие кнопки для свертывания окна, развертывания его во весь экран и закрытия. Уцепившись курсором мыши за титульную строку и держа нажатой левую клавишу мыши, можно с ее помощью передвигать окно (если оно не раскрыто на весь экран) по рабочему столу Windows 95.

Если используется русифицированная версия Windows, то левая кнопка титульной строки выведет на экран меню с русскими названиями позиций. Пользователям англоязычной версии MathCAD не стоит этому удивляться, как и названиям в меню, расположенной ниже кнопки. Дело в том, что эти кнопки типичны для всех Windows-приложений. Они относятся не к системе MathCAD как таковой, а ко всей системе Windows.

Полезно учесть, что нажатие правой клавиши мыши вызывает появление контекстно-зависимого меню. Позиции этого меню могут сильно отличаться от того, в каком режиме работает система и в каком месте был установлен курсор мыши перед нажатием правой ее клавиши. Заметим, что это также не свойство MathCAD — такая возможность предусмотрена в качестве элемента пользовательского интерфейса Windows.

Главное меню

Вторая строка окна системы — главное меню. Оно будет описано в дальнейшем, пока же отметим, что работа с документами MathCAD обычно не требует обязательного использования возможностей главного меню, так как основные из них дублируются кнопками быстрого управления. Панели (строки) с ними находятся под строкой главного меню. Их можно выводить на экран или убирать с него с помощью соответствующих опций позиции View (Вид) главного меню Windows.

Обычно имеются две такие панели: панель инструментов (дублирующая ряд наиболее распространенных команд и операций) и панель форматирования для выбора типа и размера шрифтов и способа выравнивания текстовых комментарий. Эти панели видны на рис. 1. 3 и 1. 4.

Наборные панели

Вместо столбикового переключателя математических знаков, применяемого в ранних версиях MathCAD, в седьмой версии используются более удобные перемещаемые наборные панели (в оригинале Palletes — палитры) с такими знаками. Они служат для вывода заготовок — шаблонов математических знаков (цифр, знаков арифметических операций, матриц, знаков интегралов, производных и т. д.).

Кнопки вывода наборных панелей занимают пятую сверху строку окна системы. На рис. 1. 7 показано назначение этих кнопок. Наборные панели появляются в окне редактирования документов при активизации соответствующих пиктограмм — первая линия пиктограмм управления системой.

Как видно из рис. 1. 7, панель выбора математических символов и операторов, как и другие панели, может быть смещена со своего места и представлена не только в виде линейного, но и иного расположения кнопок. Для перемещения панелей надо уцепиться за промежутки между кнопками панелей и, нажав левую клавишу мыши, перетягивать их в нужное место.

На рис. 1. 8 представлены все наборные панели. С их помощью можно вводить в документы практически все известные математические символы и операторы. К сожалению, их так много, что вывод всех панелей (как это показано на рис. 1. 5) обычно бесполезен, так как в окне редактирования не остается места для подготовки документов. Поэтому рекомендуется неиспользуемые в данное время панели закрывать, активизируя кнопку в конце их титульной строки с названием панели.

Панели операторов и символов намного удобнее столбикового переключателя в ранних версиях системы, у которого был виден лишь один столбец с математическими знаками. Их можно располагать в удобном месте окна редактирования, причем пользоваться сразу несколькими панелями (столбиковый переключатель открывает доступ к одной своей панели).

Рис. 1. 7 Назначение кнопок панели с математическими знаками

Рис. 1. 8 Панели математических символов и операторов системы MathCAD 7. 0 PRO

Используя общую наборную панель, можно вывести или все панели сра зу, или только те, что нужны для работы Для установки с их помощью необходимого шаблона (объекта) достаточно поместить курсор в желаемое место окна редактирования (красный крестик на цветном дисплее) и затем активизировать пиктограмму нужного шаблона, установив на него курсор мыши и нажав ее левую клавишу

Применение панелей для выбора шаблонов математических знаков очень удобно, поскольку не надо запоминать разнообразные сочетания клавиш, используемые для ввода специальных математических символов. Впрочем, и эта возможность сохранена, так что привыкшие к работе с клавиатурой пользователи, имевшие дело с более ранними версиями системы MathCAD (в том числе и под MS-DOS), могут воспользоваться навыками виртуозного набора формул и после перехода на новую версию системы.

Любую панель с математическими знаками можно переместить в удобное место экрана, уцепившись за ее верхнюю часть курсором мыши. Перемещая панель, левую клавишу мыши нужно держать нажатой. В верхнем левом углу каждой наборной панели помещена единственная маленькая кнопка с жирным знаком минуса, служащая для устранения панели с экрана, как только она становится ненужной.

Большинство кнопок на панелях выводят общепринятые и специальные математические знаки и операторы, помещая их шаблоны в место расположения курсора на документе. Позже мы последовательно рассмотрим все эти знаки, в том числе на первый взгляд не вполне очевидные.

Панель инструментов

Третью строку окна системы занимает панель инструментов (Toolbox). Она содержит несколько групп кнопок управления с пиктограммами, каждая из которых дублирует одну из важнейших операций главного меню. Глядя на эти пиктограммы (см. рис. 1. 4), можно легко уяснить их функции. Стоит только остановить курсор мыши на любой из этих пиктограмм, как в желтом окошечке появится текст, объясняющий функции пиктограммы. На рис. 1. 9 представлены названия кнопок панели инструментов и их краткое назначение.

Надо отметить, что панель инструментов тоже можно мышью превратить в наборную панель и поместить в любое место экрана. Ее можно закрыть с помощью кнопки с жирным минусом. Так интерфейс системы модифицируется, и пользователь может подстроить его под свой вкус. Рассмотрим действие кнопок быстрого управления системой (номера их соответствуют приведенным на рис. 1. 9).

Рис. 1. 9 Назначение кнопок панели инструментов

Кнопки операций с файлами

Документы системы MathCAD являются файлами, т. е. имеющими имена блоками хранения информации на магнитных дисках. Файлы можно создавать, загружать (открывать), записывать и распечатывать на принтере. Возможные операции с файлами представлены в панели инструментов первой группой из трех кнопок (см. рис. 1. 9):

New Worksheet (Создать) — создание нового документа с очисткой окна редактирования;

Open Worksheet (Открыть) — загрузка ранее созданного документа из диалогового окна;

Save Worksheet (Сохранить) — запись текущего документа с его именем. Ниже мы рассмотрим эти операции более подробно.

Печать и контроль документов

Эта группа представлена тремя кнопками:

Print Worksheet (Печать) — распечатка документа на принтере;

Print Preview (Просмотр) — предварительный просмотр документа;

Check Speling (Проверка) — проверка орфографии документа.

Их назначение довольно очевидно. Отметим лишь, что проверка орфографии действует только для англоязычных документов.

Кнопки операций редактирования

Во время подготовки документов их приходится видоизменять и дополнять — редактировать. Следующие четыре кнопки служат для выполнения операций редактирования документов:

Cut (Вырезать) — перенос выделенной части документа в буфер обмена (Clipboard) с очисткой этой части документа;

Copy (Копировать) — копирование выделенной части документа в буфер обмена с сохранением выделенной части документа;

Paste (Вставить) — перенос содержимого буфера обмена в окно редактирования на место, указанное курсором мыши;

Undo (Отменить) — отмена предшествующей операции редактирования.

Три последние операции связаны с применением буфера обмена. Его возможности и назначение хорошо известны пользователям Windows. Он предназначен для временного хранения данных и их переноса из одной части документа в другую либо для организации обмена данными между различными приложениями.

Кнопки размещения блоков

Документы состоят из различных блоков: текстовых, формульных, графических и т. д. Блоки просматриваются системой, интерпретируются и исполняются. Просмотр идет справа налево и снизу вверх. Две операции размещения блоков представлены кнопками следующей группы:

Align Across (Выровнять по горизонтали) — блоки выравниваются по горизонтали;

Align Down (Выровнять вниз) — блоки выравниваются по вертикали, располагаясь сверху вниз.

Пиктограммы этих кнопок изображают блоки и указанные варианты их размещения. Определенное размещение блоков в некоторых случаях имеет значение. Например, нередко результат операции желательно разместить в одной строке с заданием на операцию. А размещение блоков по вертикали характерно для больших документов.

Кнопки операций с выражениями

Формульные блоки часто являются вычисляемыми выражениями или выражениями, входящими в состав заданных пользователем новых функций. Для работы с выражениями служат пиктограммы:

Insert Function — вставка функции из списка, появляющегося (Вставить функции) в диалоговом окне;

Insert Utit (Вставить единицы) — вставка единиц измерения;

Calculate (Пересчитать) — вычисление выделенного выражения.

MathCAD имеет множество встроенных функций, от элементарных до сложных статистических и специальных математических. Синтаксис их записи порой легко забывается. Поэтому возможность вставки функции с помощью кнопки Insert Function очень удобна. Другая кнопка, Insert Unit, позволяет вставить нужную единицу измерения.

Если документы большие, то при их изменениях не всегда выгодно запускать вычисления с самого начала. Операция Calculate (Пересчитать) позволяет запускать вычисления для выделенных блоков, что может уменьшить время вычислений.

Доступ к новым возможностям MathCAD 7. 0

Сравнивая набор кнопок панели инструментов версий 7. 0 и 6. 0, можно отметить, что он имеет ряд заметных различий. Несколько изменилась группировка кнопок, ряд кнопок в версии 7. 0 исключен из панели инструментов, например для задания текстовых блоков. Однако в седьмой версии появились новые кнопки, дающие доступ к новым возможностям системы:

Insert Giperlink — обеспечивает создание гиперссылки;

(Включение гиперссылки)

Component Wizard — открывает окно Мастера, дающего удобный

(Мастер компонентов) доступ ко всем компонентам системы;

Run MathConnex — запуск системы для стимулирования блочно- (Запуск системы MathConnex) заданных устройств.

Кнопки управления ресурсами

Заключительная группа из двух пиктограмм обеспечивает обращение к центру ресурсов системы и к встроенной справочной базе данных системы:

Resource Center (Центр ресурсов) — дает доступ к центру ресурсов;

Help (Справка) — дает доступ к ресурсам справочной базы данных системы.

Указанных операций обычно вполне достаточно для работы с документами без применения других возможностей главного меню. Кнопка 21 служит для закрытия панели инструментов, при этом она исчезает с экрана.

Панели форматирования и статуса системы

Четвертая строка верхней части экрана содержит типовые средства управления шрифтами: переключатели типа символов, набора гарнитур и размеров шрифтов, три пиктограммы типа шрифтов (полужирный, наклонный, или курсивный, и подчеркнутый), а также три пиктограммы расположения букв в строке (рядом, надстрочное и подстрочное). Назначение объектов этой панели показано на рис. 1.10.

Рис.1.10 Назначение объектов панели форматирования

До тех пор пока не начат набор элементов документа, часть описанных кнопок и иных объектов пользовательского интерфейса находится в пассивном состоянии. В частности, в окнах переключателей панели форматирования нет надписей. Пиктограммы и переключатели становятся активными, как только появляется необходимость в их использовании.

Внизу экрана кроме полосы горизонтальной прокрутки расположена еще одна строка — строка состояния. В ней выводится служебная информация, краткие комментарии, номер страницы документа и др. Эта информация полезна для оперативной оценки состояния системы в ходе работы с нею.

Указанные объекты интерфейса можно перемещать по экрану с помощью мыши. Например, можно поместить строку форматирования рядом с пиктограммами наборных панелей, вынести в любое место экрана панель инструментов и т. д. Таким образом, интерфейс несложно подстраивать под запросы пользователя.

Изложение всех возможностей управления системой MathCAD под Windows потребует описания большей части возможностей Windows. Этим, кстати, грешат фирменное описание предшествующей версии системы и его перевод [14], что отчасти обусловливает их большой объем.

Между тем с правилами работы в Windows можно ознакомиться по книгам [16, 17]. К счастью, большая часть этих правил одинакова для любого приложения, функционирующего в системе Windows, и интуитивно понятна. К примеру, для изменения размера окна достаточно установить курсор-стрелку мыши на пограничную линию окна. Вид курсора изменится: стрелка станет двусторонней. Если теперь нажать и удерживать левую клавишу мыши, то можно перемещать границу окна, меняя его размеры. Точно так же (установив стрелку-курсор на верхнюю титульную линию окна) можно плавно перемещать окно по всему экрану.

Учитывая сказанное, закончим рассмотрение возможностей пользовательского интерфейса MathCAD. И посоветуем читателю получше изучить общие правила работы с приложениями под Windows, прежде чем всерьез осваивать MathCAD.

1. 4. Входной язык системы MathCAD

Отличительной чертой MathCAD является работа с документами. Документы объединяют описание математического алгоритма решения задачи (или ряда задач) с текстовыми комментариями и результатами вычислений, заданными в форме символов, чисел, таблиц или графиков. В оригинале документы системы MathCAD названы английским словом "Worksheets". В научном мире длинные листы бумаги с текстами, формулами и графиками шутливо называют рабочими "простынями" — так буквально переводится слово "Worksheets".

Уникальное свойство MathCAD — возможность описания математических алгоритмов в естественной математической форме с применением общепринятой символики для математических знаков, таких, например, как квадратный корень, знак деления в виде горизонтальной черты, знак интеграла и т. д. Это делает документ, видимый на экране дисплея (см. рис. 1. 5), чрезвычайно похожим на странички текста из математических книг и научных статей.

Такой подход значительно облегчает восприятие математической сущности задачи и избавляет пользователя от изучения некоторого промежуточного языка программирования (например, Фортрана, Бейсика, Паскаля и т. д.). Можно сказать, что в MathCAD идея решения математических задач без их программирования доведена до совершенства: подавляющее большинство задач требуют лишь корректного формульного описания и не нуждаются в подготовке программ в их общепринятом виде.

Разумеется, это не означает, что в системе нет своего языка программирования. В действительности он есть, но это математически ориентированный особый язык программирования сверхвысокого уровня, используемый в основном как входной язык для диалога с системой. В подавляющем большинстве расчетных задач этот язык позволяет задавать их решение в виде вводимых с помощью операторов и функций математических формул и указывать тип желаемых результатов (таблицы или графики). Специальные приемы введены лишь для задания циклического изменения переменных и создания так называемых ранжированных переменных — векторов.

Входной язык MathCAD относится к интерпретирующему типу. Это означает, что когда он опознает какой-либо объект системы, то тут же исполняет указанные в блоке операции. Языком реализации системы является язык Си++.

По существу, входной язык системы — это промежуточное звено между скрытым от пользователя языком связи документа с языком реализации системы. По мере того как пользователь создает (средствами текстового, формульного и графического редакторов) в окне редактирования объекты (тексты, формулы, таблицы и графики), система сама составляет программу на некотором промежуточном языке связи, которая хранится в ОЗУ до тех пор, пока не будет сохранена на диске в виде файла с расширением. mcd. Однако важно подчеркнуть, что от пользователя не требуется знать языки программирования (реализации и связи), достаточно освоить приближенный к естественному математическому языку входной язык системы.

В версии MathCAD 7. 0 резко снижены требования даже к знанию входного языка. Практически все операторы, имеющие вид привычных математических символов, можно вводить мышью, а большинство математических функций (например, sin, cos, exp и т. д.) имеют естественную форму задания, например, sin (x) так и вводится как sin (x). К тому же есть возможность выбора из списка, имеющегося в специальном окне, что резко уменьшает вероятность ошибок при вводе функций.

Благодаря всему этому работа с системой приобрела характер визуального и объектно-ориентированного программирования. При этом решающим является задание объектов (с выбором их из соответствующей палитры наглядных знаков), а программу составляет сама система. Более того, в MathCAD эффективно решена проблема сквозной передачи данных от одного объекта к другому, например от одного математического выражения к другому, от него — к таблицам, от таблиц — к графикам и т. д. Поэтому изменение в любой формуле или в задании входных данных тут же ведет к пересчету задачи по всей цепи взаимодействия объектов (это не относится, однако, к символьным операциям, реализуемым из главного меню).

Лучшее враг хорошего! Это в полной мере можно сказать о входном языке предшествующих версий MathCAD. Этот язык был доведен до такого "совершенства", что в нем напрочь исчезли многие основополагающие средства программирования, например циклы, условные выражения, процедуры и т. д., в их привычном для программистов виде. В результате пользователь, привыкший к обычному программированию, испытывал большие неудобства от замены этих средств непривычными средствами системы MathCAD. Тем более что иногда описание задачи в общепринятом на языках программирования виде оказывается предпочтительным и более коротким.

Некоторые критики системы MathCAD, как правило, даже не работающие с нею, говорят, что реализация решения математических задач в среде MathCAD отучает пользователя от познания фундаментальных основ реализации математических численных методов обычными средствами программирования. Это обвинение абсолютно абсурдно. MathCAD как раз и позволяет описать любые алгоритмы реализации численных методов привычным для математиков языком обычных формул.

Впрочем, версии MathCAD PLUS 6. 0 PRO и тем более MathCAD 7. 0 избавились и от этого "недостатка". В них включены важнейшие средства программирования и предусмотрена возможность задания программных блоков — процедур с общепринятыми операторами программирования. В совокупности с иными средствами входного языка это делает его необычайно гибким, мощным и наглядным.

Как отмечалось, входной язык системы MathCAD — интерпретирующий. В интерпретаторах, например в добром старом Бейсике, листинг программы пользователя просматривается сверху вниз (а в пределах строки — слева направо), и любые указания в программе тут же выполняются. Так же просматриваются и блоки в системе MathCAD. При опознании блока система автоматически запускает внутренние подпрограммы выполнения необходимых действий, например вычисления по формуле, вывод таблицы значений вектора, построение рисунка по его шаблону и т. д. В общем, это напоминает интерпретацию высшего уровня, при которой пользователь не опускается до таких мелочей, как составление необходимых подпрограмм, хотя, как уже было сказано, теперь и это вполне возможно.

Интерпретаторы действуют медленно, поэтому не случайно пользователи, имевшие дело со старыми версиями MathCAD, отмечали медлительность систем, особенно при сложных вычислениях и при построении графиков. Медлительность является и следствием работы системы в графическом режиме, когда малейшее изменение содержания экрана требует его полной перерисовки.

В ряде предшествующих версий (и в новой) была введена экспертная система SmartMath. Она старается использовать при численных вычислениях конечные формулы, полученные в результате символьных преобразований. Порой это дает резкое ускорение вычислений в сравнении с их реализацией численными методами. Операция SmartMath (Быстрая математика) вводится оператором® и словами-директивами. Их число в версии MathCAD 7. 0 PRO значительно увеличено, и для ввода операторов и директив символьной математики добавлена специальная палитра. Так что SmartMath превратилась в полноправного члена семьи MathCAD.

Начиная с версии MathCAD PLUS 5. 0 в систему введена возможность ее расширения функциями, которые задаются обычными программами на языке Си или Си++. Однако это не позволяет эффективно и просто решить проблему расширения возможностей системы. На Си или Си++ хорошо программируют системные программисты, но они весьма редко разбираются в сути математических задач. Обычные пользователи, освоив возможности MathCAD, не захотят вернуться к тому, от чего уже ушли, — к программированию на достаточно сложном языке. В общем, как в расхожей фразе: "За что боролись, на то и напоролись"!

В связи с этим в версиях MathCAD PLUS 6. 0/7. 0 PRO появилась весьма изящная функция записи встроенных в документ программных модулей, реализующих типовые управляющие структуры и записанных в столь милом для программистов виде обычных программ.

1. 5. Простейшие приемы работы

В простейшем случае работа с системой MathCAD сводится к подготовке в окне редактирования задания на вычисления и к установке форматов для их результатов. Для этого используются различные приемы подготовки блоков. Пока мы рассмотрим лишь вычислительные блоки. В дальнейшем поговорим о вводе текстовых блоков с комментариями и блоков с графикой.

Формульный редактор

Фактически система MathCAD интегрирует три редактора: формульный, текстовый и графический. Для запуска формульного редактора достаточно установить курсор мыши в любом свободном месте окна редактирования и щелкнуть левой клавишей. Появится визир в виде маленького красного крестика. Его можно перемещать клавишами перемещения курсора. Визир не надо путать с курсором мыши, он, как говорится, живет своей жизнью и имеет вид жирной наклонной стрелки.

Визир указывает место, с которого можно начинать набор формул — вычислительных блоков. Щелчок левой клавиши мыши устанавливает визир на место, указанное острием стрелки курсора мыши. В зависимости от места расположения визир может менять свою форму, к чему вы быстро привыкнете.

Так, в области формул визир превращается в синий уголок, указывающий направление и место ввода.

Наборные панели и шаблоны

Подготовка вычислительных блоков облегчается благодаря выводу шаблона при задании того или иного оператора. Для этого в MathCAD служат наборные панели с шаблонами различных математических символов.

Допустим, требуется вычислить определенный интеграл. Для этого вначале надо вывести панель операторов математического анализа; ее пиктограмма в строке инструментов имеет знаки интеграла и производной. Затем следует установить визир в то место экрана, куда выводится шаблон, и на панели сделать активной пиктограмму с изображением знака определенного интеграла (рис. 1. 11).

Рис. 1. 11 Задание шаблона определенного интеграла и начало его заполнения

В составе сложных шаблонов часто встречаются шаблоны для ввода отдельных данных. Они имеют вид небольших черных квадратиков. В шаблоне интеграла их четыре: для ввода верхнего и нижнего пределов интегрирования, для задания подынтегральной функции и для указания имени переменной, по которой идет интегрирование. На рис. 1. 11 шаблон интеграла показан в верхнем левом углу окна редактирования документа.

Для ввода данных можно указать курсором мыши на нужный шаблон данных и, щелкнув левой ее клавишей для фиксации места ввода, ввести данные. На рис. 1. 12 отражен момент ввода под знаком квадратного корня выражения для задания подынтегральной функции.

Для ввода подынтегральной функции в приведенном примере требуется совершить следующие действия:

• установив курсор мыши в стороне от места ввода, вывести панель набора арифметических операторов;

• подвести курсор мыши под шаблон ввода функции и щелкнуть левой клавишей для фиксации начала ввода;

• активизировать (мышью) кнопку со знаком квадратного корня на палитре математических символов;

• провести ввод выражения под знаком квадратного корня (при этом возможно редактирование данных с помощью стандартных операций редактирования).

Затем таким же способом надо заполнить остальные шаблоны, т. е. ввести

пределы интегрирования и имя переменной, по которой производится интег-

Рис. 1. 12 Продолжение заполнения шаблона интеграла

рирование. Установив знак равенства после полученного выражения, можно сразу увидеть результаг вычисления интеграла (см. рис. 1. 13). На этом рисунке показаны примеры вычисления и других выражений (суммы, произведения и предела функции) с набором их с помощью палитр. Там же даны и примеры задания текстовых комментариев.

Рис. 1. 13 Пример ввода и вычисления определенного интеграла и других выражений

Так же выполняются любые другие разовые вычисления, как простые, так и сложные. Разумеется, есть возможность задавать шаблоны для вычислительных блоков и с клавиатуры, о чем речь пойдет чуть ниже.

При задании сложных вычислений работа системы может быть долгой. Чтобы прервать ее, можно нажать клавишу Esc. MathCAD выведет надпись о прерывании вычислений и небольшое окно с двумя командами: OK — подтвердить прерывание и Cancel (Отмена) — отменить прерывание. После прерывания можно возобновить работу, нажав клавишу F9 или сделав активной пиктограмму с изображением жирного знака равенства.

Текстовый редактор

Текстовый редактор позволяет задавать текстовые комментарии. Они делают документ с формулами и графиками более понятным. В простейшем случае для открытия текстового редактора достаточно ввести символ " (одиночная кавычка). В появившийся прямоугольник можно начать вводить текст. В текстовом блоке визир имеет вид красной вертикальной черточки и отмечает место ввода. Текст редактируется общепринятыми средствами: перемещением места ввода клавишами управления курсором, установкой режимов вставки и замещения символов (клавиша Insert), стиранием (клавиши Del и Backspace), выделением, копированием в буфер обмена, вставкой из буфера и т. д.

Выделение и редактирование объектов

При редактировании математических выражений важной возможностью является выделение их целиком или в виде отдельных фрагментов. По существу это означает замену одномерного маркера в виде синей вертикальной черты на двумерный в виде выделяющего часть выражения синего уголка (см. рис. 1. 12, на котором этот маркер выделяет введенное выражение).

В версии MathCAD 7. 0 выделение с помощью мыши заметно улучшено и практически не отличается от хорошо известного выделения текстовых выражений. Напомним, что для этого достаточно установить текстовый курсор мыши на начало выделяемого фрагмента, нажать левую клавишу мыши и, удерживая ее, двигать маркер к концу выделяемого фрагмента. Выделенный текст помещается на темном фоне (см. на рис. 1. 14 выделенное слово "Сразу" в правом нижнем углу экрана).

Выделение надписей обычно производится с целью изменения стиля, размера и типа шрифтов. Для этого достаточно выделить надпись и сменить шрифт или его параметр (рис. 1. 14).

Выделения в математических выражениях, хотя и напоминают выделения в тексте, все же более сложны и требуют для быстрого проведения определенных навыков. Обычно выделения в выражениях задаются синим уголком. Он указывает направление ввода.

Выделение фрагментов математических выражений необходимо для изменения шрифтов, которыми набирается выражение. Например, для изменения шрифта в математических формулах достаточно выделить одну букву, установив выделение в виде жирной вертикальной черты сразу после буквы. Затем можно воспользоваться средствами модификации шрифтов.

Рис. 1. 14 Примеры выделения и редактирования надписей и организации гиперссылки

Следует отметить, что изменение параметров и типов шрифтов для определенных объектов (например, переменных или констант) действует глобально. Так, если увеличить размеры обозначения какой-либо переменной, то все обозначения других переменных тоже будут увеличены.

Создание гиперссылок

Выделение используется также для копирования в буфер обмена и организации гиперссылки. Гиперссылка в MathCAD 7. 0 дает связь выделенного текстового фрагмента с некоторым файлом. Для этого вначале фрагмент выделяется, а затем нажимается кнопка панели инструментов Insert Hyperlink. В появившемся простом окне надо указать полное (с путем) имя файла, который будет загружаться и отображаться в момент активизации фрагмента — гиперссылки. Можно также задать сообщение об ошибке, если файл не будет найден. На рис. 1. 14 показан случай, когда с гиперссылкой связан файл Demo с демонстрацией работы MathCAD, на рисунке виден угол окна с документом этого файла.

С помощью гиперссылок можно готовить в среде MathCAD 7. 0 электронные учебники и книги высокого качества, имеющие множество гиперссылок, качественные тексты с разнообразными выделениями, математические формулы и графики. Важно отметить, что такие учебники являются "живыми": все примеры в них работают и их можно использовать с различными исходными данными, задаваемыми учениками.

О конструировании и редактировании математических выражений можно говорить много и долго, в книге [14] этой теме посвящена целая глава. Однако в целом этот процесс интуитивный и учитывает тонкости конструирования математических выражений. Главное здесь практика! Мы еще вернемся к описанию некоторых правил конструирования математических выражений (формул).

1. 6. Создание, загрузка, сохранение и распечатка документа

Создание нового документа

Кнопка New Worksheet с изображением чистого листа служит для создания нового документа. Она очищает окно редактирования и задает имя документа Untitled N, где N — порядковый номер документа. После этого можно начинать вводить документ с клавишного пульта с применением (при необходимости) палитр математических знаков и функций.

Загрузка документа

Наряду с вводом своих простых документов с клавиатуры бывает полезно опробовать в работе ранее созданные (в том числе демонстрационные) документы. Для этого достаточно активизировать вторую пиктограмму с изображением открывающейся папки или воспользоваться командой Open (Открыть) в позиции File (Файл) главного меню системы. Тогда появится диалоговое окно поиска файла загружаемого документа (см. рис. 1. 15).

Рис. 1. 15 Диалоговое окно поиска файла документа

Диалоговое окно поиска файлов — типичное для Windows-приложений. С его помощью можно установить дисковый накопитель, просмотреть файловую систему текущего диска, установить каталог и найти файл. Затем, после активизации кнопки ОК диалогового окна, документ будет загружен и с ним можно начинать работу, например просматривая его листинг. Обычно по умолчанию работа идет в автоматическом режиме, так что в документе будут представлены не только задание, но и результаты вычислений.

Вид документа в большом окне MathCAD при использовании обычных средств подготовки документов ничем не отличается от вида документа в более ранних версиях системы 2. 0—2. 50, ориентированных на MS-DOS. На рис. 1. 6 был показан вид основного окна MathCAD 7. 0 с загруженным в него документом.

Документ является одновременно и программой, задающей на специальном входном языке алгоритмы решения нужной задачи, и результатами этого решения, представленными в форме чисел, символов, таблиц или графиков. Благодаря этому документ скорее напоминает текст книги по математическим или инженерно-техническим расчетам, чем текст обычной программы. Столь важное достоинство всех версий системы MathCAD сохранилось в новых версиях лишь с той разницей, что текст, формулы и таблицы теперь выводятся разными цветами, шрифтами и размерами.

Сохранение документа

Для сохранения документа с текущим именем достаточно нажать кнопку Save Worksheet с изображением магнитного диска. Файл документа будет записан в тот же каталог, откуда он был вызван. Если документ ранее не записывался, то появится диалоговое окно для его записи.

Печать документа

Для печати текущего документа достаточно нажать кнопку Print Worksheet с изображением принтера. Будет вызвано окно того принтера, который установлен операционной системой Windows 95. Вид окна зависит от примененного драйвера принтера.

1 .7. Основы работы с блоками документов

Выделение блоков

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

Для выделения областей блоков можно проделать следующий эксперимент. Поместите курсор мыши в нерабочую часть экрана и нажмите ее левую клавишу. Перемещая мышь по диагонали при удержанной нажатой клавише мыши, вы увидите, как на экране пунктирными черными линиями выделяется прямоугольник. Добейтесь, чтобы в него попало несколько объектов — формул, таблиц, графиков. Все они тут же окажутся обведены прямоугольниками из пунктирных линий (см. рис. 1. 16).

Эти прямоугольники являются обычно невидимыми границами областей объектов. Несколько выделенных таким образом объектов образуют блок

Рис. 1. 16 Документ с выделенными блоками

выделенных объектов. Он ведет себя как единое целое: его можно перемещать мышью, копировать в буфер обмена и стирать.

Копирование и вставка блоков в буфер обмена

Используя кнопки быстрого задания команд вырезки (Cut, F3 или Ctrl+ X) и вставки (Copy, F4 или Ctrl+ V), можно перенести выделенные блоки в буфер обмена и поместить их на новое место, указанное курсором мыши. Это дает возможность быстрого наведения порядка с блоками. Рис. 1. 17 показывает вид документа после нажатия клавиши F3. Нетрудно заметить, что в данном случае все выделенные блоки исчезли — поступили в буфер обмена.

Рис. 1. 17 Вид документа, показанного на

рис. 1. 13, после нажатия

клавиши F3

Вставка блоков из буфера обмена в документ

Если нажать кнопку Paste или клавишу F4 (не меняя положения курсора мыши), исчезнувшие блоки вновь появятся на своем месте и вид документа будет подобен показанному ранее на рис. 1. 13. Зацепив курсором мыши любой из выделенных блоков и нажав ее левую клавишу, можно (удерживая эту клавишу) перетаскивать блоки с одного места на другое.

Расположение блоков в документе

Расположение блоков в документе имеет принципиально важное значение. Как уже отмечалось, их выполнение происходит справа налево и сверху вниз. Поэтому блоки не должны взаимно перекрываться (хотя небольшое перекрытие обычно не существенно). Указанный порядок исполнения блоков означает, что, например, при построении графика функции или таблицы ее значений вначале должны исполняться блоки, задающие саму функцию и пределы изменения аргумента, а уже затем блок, задающий вывод таблицы или построение графика функции. Все это — следствие работы системы в интерпретирующем режиме.

Доступная область окна редактирования по горизонтали превышает видимую на экране. При этом область окна делится длинной вертикальной линией на две части, левую и правую Горизонтальными линиями документ делится на страницы

Можно разместить некоторые вспомогательные вычисления в правой, невидимой, части окна, а в левую, видимую, вынести задание исходных данных и вывод результатов расчетов Этот прием часто используется в пакетах с примерами применения системы, а также в учебно-демонстрационных программах На рис 118 показан пример подобного решения довольно сложной аэродинамической задачи по построению профиля крыла самолета и линий обтекания его воздушным потоком

Рис. 1. 18 Пример решения аэродинамической задачи (видимая часть решения)

Использование линеек прокрутки

Полосы прокрутки расположены снизу и справа в окне редактирования документа С их помощью можно перемещать окно просмотра документа по горизонтали и по вертикали Плавно это делается с помощью концевых кнопок прокрутки Можно также задать перемещение окна просмотра с помощью передвигаемого ползунка или установкой курсора мыши на полосу. Во всех случаях перемещение задается при нажатии и удержании левой клавиши мыши.

Если, воспользовавшись полосами прокрутки, вывести в текущее окно обычно невидимую часть документа, на экране дисплея появится расчетная часть задачи (рис 1 19). Она содержит довольно специфические вычисления над данными с применением аппарата вычислений в комплексной форме, поэтому нет смысла объяснять их

Создание документов с невидимой расчетной частью осложняется необходимостью выполнения блоков в строго заданном порядке. Так, при сложных расчетах их результаты могут оказаться намного ниже видимого текста документа. Заглядывая вперед, скажем о двух приемах, облегчающих решение этой задачи. Первый — использование оператора глобального присваивания (знак в виде трех горизонтальных черточек =) В этом случае присваивание может находиться в любой точке документа (например, в его начале или в самом конце) Второй прием — расположение блоков по вертикали так, чтобы исполняемые в первую очередь блоки были чуть выше тех, которые будут исполняться позже

Рис. 1. 19 Вычисления в правой части документа, представленного на рис. 1. 18

Другой любопытный и полезный прием был использован в прежних версиях системы под MS-DOS — выделение вычисления в невидимой правой части окна надписью /equations В этом случае все вычисления после их ло1 иче-ского вызова выполняются сверху вниз с возвратом к месту их вызова в левой части экрана. Из новой версии этот полезный прием по не совсем понятным мотивам исключен Возможно, разработчики сочли, что вполне достаточно описанных выше приемов

Интересно отметить, что с версией MathCAD PLUS 7 0 можно использовать документы, подготовленные в среде предшествующей версии Это позволяет считать последние версии систем практически совместимыми

1. 8. Главное меню системы

Состав главного меню

Верхняя строка окна системы содержит указание на имя системы или текущего открытого окна Следующая строка содержит позиции главного меню Их назначение приведено ниже File (Файл) — работа с файлами, сетью Internet и электронной

почтой, Edit (Правка) — редактирование документов, View (Обзор) — изменение средств обзора, Insert (Вставка) установка вставок объектов шаблонов (включая

графику), Format (Формат) — изменение формата объектов, Math (Математика) — управление процессом вычислений, Graphics (Графика) — работа с графическим редактором, Symbolic (Символика) — выбор операций символьного процессора,

Window (Окно) — управление окнами системы;

Books (Книги) — работа с электронными книгами;

Help (?) — работа со справочной базой данных о системе.

Активизация главного меню

Каждая позиция главного меню может быть сделана активной. Для этого достаточно указать на нее курсором — стрелкой мыши и нажать ее левую клавишу. Можно также нажать клавишу F10 и использовать клавиши перемещения курсора вправо и влево. Затем выбор фиксируется нажатием клавиши ввода Enter.

Для активизации главного меню без применения мыши достаточно нажать клавишу Alt. После этого, нажимая клавиши перемещения курсора, можно перемещать световое выделение по позициям меню. Выбрав нужную позицию для фиксации ввода ее операции, достаточно нажать клавишу Enter.

Еще один быстрый путь входа в нужное подменю — нажатие клавиши Alt и одновременно клавиши с буквой, которая на экране подчеркнута снизу в названии нужной позиции главного меню. Для всех позиций главного меню это прописная буква их имени. Важно не путать регистры смены языков и вводить соответствующую операцию латинскими буквами.

Если какая-либо позиция главного меню делается активной, она выводит ниспадающее подменю со списком доступных и недоступных (но возможных в дальнейшем) операций (команд). Доступные в данный момент операции даны четким шрифтом, а недоступные — шрифтом с характерным затенением, но позволяющим все же прочесть название операции. Перемещение по списку подменю и выбор нужной операции производятся аналогично тому, как это описано для главного меню, с той лишь разницей, что при управлении с клавиатуры используются клавиши перемещения курсора по вертикали.

Подменю управления главным окном

В начале титульной строки имеется кнопка с изображением счетов на фоне буквы М. Она служит для ввода стандартных операций с главным окном системы, принятых в системе Windows 95. Если эта позиция активна, то появляется подменю со следующими операциями (см. рис. 1. 20):

Restore (Восстановить) — раскрыть окно приложения из пиктограммы;

Move (Переместить) — переместить окно приложения;

Size (Размер) — изменить размер окна приложения;

Minimize (Свернуть) — свернуть окно в пиктограмму;

Maximize (Развернуть) — перейти в полноэкранный режим;

Close Alt-F4 (Закрыть) — закрыть окно и закончить работу в приложении.

Названия опций даны на английском и русском языках, поскольку возможно применение как русскоязычной, так и оригинальной (англоязычной) операционной системы Windows. He все из этих операций всегда доступны. Названия недоступных операций, как отмечалось, даны нечеткими (затененными) надписями. К примеру, если окно имеет максимальный размер, то операции Move, Size и Maximize недоступны.

Меню управления окном активного документа

Каждое окно активного в данный момент документа также имеет подобное меню, инициализируемое кнопкой в левом верхнем углу раскрытого окна. Это меню имеет ранее указанные позиции и еще одну дополнительную:

Рис. 1. 20 Меню для работы с окнами

Next Ctrl-F6 (Следующий документ) — активизировать следующий документ

Если окно раскрыто полностью, то указанная кнопка располагается в самом начале строки с главным меню Система MathCAD может работать с многими окнами, т е одновременно с рядом задач Окно каждой задачи образуется после загрузки текста ее документа В дальнейшем операции с окнами будут описаны более подробно

1. 9. Что нового в MathCAD 7. 0 PRO?

Большинство пользователей системой MathCAD 7 О PRO наверняка знакомы с одной из предшествующих версий, скорее всего с MathCAD PLUS 6 О PRO Что нового ожидает их при переходе к версии 7 0 ? К радости одних пользователей и к печали (если не к ужасу) других, изменений оказалось довольно много Некоторые из них просто улучшили и расширили возможности системы, другие сделали ее использование более строгим и естественным, а вот третьи привели к отмене уже известных приемов работы с системами этого класса В целом пользовательский интерфейс системы и функции различных позиций главного меню приблизились к применяемым в таких известных приложениях операционной системы Windows 95, как текстовый редактор Word и электронные таблицы Excel

Перечислим основные отличия новой версии MathCAD от предыдущей.

• отсутствие проблемы 2000 года,

• существенно переработанный и приближенный к интерфейсу текстового процессора Word 95 пользовательский интерфейс,

• ввод новой строки в документе нажатием клавиши Enter (или Ctrl+ F9),

• удаление новой строки нажатием клавиши Backspace (или Ctrl+ FlO),

• естественное выделение в выражениях мышью,

• задание в первый раз значений переменных нажатием клавиши = (она при этом дает знак присваивания =, но может использоваться и для задания вывода при численных расчетах),

• быстрое построение (QuickPlot) графиков в декартовых и полярных координатах с автоматической установкой пределов изменения независимых переменных;

• новая палитра символьной математики с расширенными операторами;

• более удобный и наглядный синтаксис символьных операций;

• возможность обработки ошибок в ходе вычислений;

• новые операторы программирования on error, continue и return;

• применение в программах операторов символьных операций;

• новый тип строковых данных, констант и переменных;

• восемь новых функций для работы со строковыми данными;

• задание единиц измерений в системе СИ;

• возможность подготовки сложных документов разными пользователями, работающими в разных местах, с помощью операции Collaboratory;

• возможность обмена документами через сеть Internet и Web;

• появление более оперативного центра ресурсов (Resource Center) вместо быстрых "шпаргалок" QuickSheet, а также электронных книг, самоучителя и ДР.;

• моделирование (симулирование) работы сложных систем, построенных из функциональных блоков, с помощью системы MathConnex, имеющей 16 компонентов;

• возможность использования функций других систем (Excel, Axus, MatLAB и др.) и фактическая интеграция с ними.

Некоторые из указанных изменений можно отнести к разряду приятных мелочей; это, например, расширенное действие знака =. Другие, такие, как интеграция с иными системами и применение MathConnex, являются серьезными дополнениями системы, открывающими перед ней множество новых возможностей. Более подробно они будут описаны в дальнейшем (в Главе 13 "Интерпретатор приложений MathConnex").


Глава 2 Работа с файлами

2. 1. Позиция главного меню File

Позиция File (Файл) главного меню служит для работы с файлами документов Файлом называют имеющую имя упорядоченную совокупность данных или кодов программ, размещенную на том или ином носителе, обычно на жестком или гибком диске либо CD-ROM Как уже отмечалось, файлы документов в MathCAD имеют расширение mcd, которое указывается сразу после имени файла Такие файлы имеют текстовый формат, и их легко прочитагь и модифицировать любым текстовым редактором.

Файлы документов MathCAD содержат полный текст программы, выводящей документ в окно редактирования, с указаниями координат расположения блоков, фактического содержания и характера выполняемых операций, форматов предоставления информации и т д Таким образом, файл является по сути программой, записанной на внутреннем (промежуточном) языке программирования системы Файлы могут содержать и результаты вычислений Предусмотрена возможность записи документов и в особом формате RTF, созданном для хранения сложных многокомпонентных данных (содержащих тексты и 1рафики)

Важно отметить, что даже при записи документов со сложными рисунками используется не запись их BitMap-копии, а именно программы вывода документа Поэтому файлы с расширением mcd невелики по размеру и их легко передавать по современным средствам телекоммуникаций, например по Internet Они требуют небольшого свободного пространства на дисках для записи

Помимо обычных операций работы с файлами (их запись на диск и загрузка с диска) предусмотрены возможности распечатки документов принтерами различного типа Если сделать позицию File (Файл) главного меню активной, появится ниспадающее подменю (см рис 2.1)

Рис. 2. 1 Переднее панно системы MathCAD с активной позицией File главного меню

Подменю содержит ряд операций, разбитых на группы. В первую группу входят следующие операции работы с документами:

New [Ctrl+ N] (Создать) — открыть окно для нового документа;

Open... [Ctrl+ 0] (Открыть) — открыть существующий документ;

Close [Ctrl+ F4] (Закрыть) — закрыть документ.

Вторая группа команд служит для сохранения документов:

Save [F6] (Сохранить) — сохранить на диске текущий документ;

Save as... [Ctrl+ S] — сохранить на диске текущий документ под (Сохранить как) новым именем.

Третья группа команд предназначена для работы с телекоммуникационными средствами:

Collaboratory... — установить связь с фирмой — разработчиком (Сотрудничество) системы для обеспечения совместной работы над документами;

Internet Setup... — установить модемную связь с Internet;

(Установка Internet)

Send... (Отправка) — отправить документ по электронной почте или по Internet.

Четвертая группа команд служит для подготовки к печати и самой печати документов:

Page Setup... — установить левый и правый отступы (Параметры страницы) на странице;

Print Preview... (Просмотр)— предварительно просмотреть документ перед печатью;

Print... [Ctrl+ 0] (Печать) — распечатать документ.

Последняя из этих операций позволяет распечатать весь текст документа с комментариями, математическими формулами, таблицами и графиками. Печать производится на принтере в графическом режиме и не очень быстро. Зато используются все шрифты и печатаются все математические спецзнаки. Можно печатать и части документа. Лазерные принтеры дают превосходное качество печати, но обычно черно-белой (цветные лазерные принтеры пока слишком дороги). Струйные принтеры могут легко реализовать печать в цвете.

Пятая группа представлена командой Exit [Alt+ F4] (Выход) — выйти из среды MathCAD.

Перед этой командой имеется перечень последних файлов, с которыми работала система, что позволяет загрузить любой из них без предварительного поиска.

Вернемся к широко используемым операциям первой группы и рассмотрим их более подробно. Заметим, что некоторые из них могут быстро вводится нажатием функциональных клавиш (они указаны в квадратных скобках после наименования операции).

2. 2. Подготовка к вводу нового документа (New)

Операция New [Ctrl+ N] (Создать) обычно используется, когда пользователь намерен создать новый документ. Она выводит на экран новое текущее окно редактирования и переводит систему в режим редактирования.

Отличительной особенностью новой версии MathCAD является возможность выбора стиля нового документа. При исполнении операции New выводится окно выбора стиля документа, показанное на рис. 2. 2.

Рис. 2. 2 Окно выбора стиля документа

При этом только стиль Normal (Нормальный) создает пустое окно редактирования Другие стили создают окно с заготовками (шаблонами) докумен тов Эти заготовки пользователь может использовать для своего документа К сожалению, они англоязычные, но в них можно заменить (или дополнить) надписи надписями на русском языке, используя соответствующие наборы шрифтов

На рис 2 3 показана часть документа со стилем Bookone В шуточной форме показано заполнение ее в заданном стиле русскоязычными надписями Можно просмотреть и остальные стили и использовать их для своих целей Оформление документов в определенном стиле является одним из правил подготовки документов высокого полиграфического качества

Рис. 2. 3 Часть документа в стиле Bookone

При открытии документа с пустым окном редактирования (в стиле Normal) графический курсор — маленький крестик (красный при работе с цветным дисплеем) — устанавливается в верхний левый угол окна с небольшим отступом от краев Становятся допупными все операции ввода объектов документа и их редактирования Текущий документ приобретает имя Untitled (в переводе "Безымянный"), и возле этого имени в верхней части окна указы вается номер документа Поскольку MathCAD — многооконная система, возможно существование нескольких окон с этим именем Список имен документов, с которыми пользователь работал последнее время, хранится системой и выводится перед позицией Exit подменю File (Файл) главного меню. Обычно после применения этой операции пользователь начинает ввод документа и его редактирование, используя для этого оконный редактор.

Операция New (Создать) дублируется кнопкой с пиктограммой в виде чистого листка, помещенной в панель инструментов. Разумеется, ее применение возможно только в том случае, когда эта панель (строка с пиктограммами) присутствует. При этом данная кнопка задает стиль нового документа Normal, так что при ее активизации получается просто чистое окно редактирования.

2. 3. Ввод документа с диска (Open...)

Операция Open... [Ctrl+ 0] (Открыть) служит для загрузки документа из его файла с выбором из директории файлов. При исполнении этой операции появляется диалоговое окно выбора файла (см. рис. 1. 15). К аналогичному действию приводит активизация пиктограммы в виде открывающейся папки в инструментальном ящике системы.

В этом окне с помощью меню выбора дискового накопителя и вертикального слайдера можно пройтись по всем именам дисков, их каталогам и файлам текущего каталога, чтобы выбрать нужный файл для загрузки. Имя файла и каталог можно указать в двух первых позициях окна. Для выбора файла или каталога используются мышь и клавиши перемещения курсора. Выбор завершается нажатием клавиши Enter или указанием курсора мыши на изображение кнопки ОК в окне выбора файлов с последующим нажатием левой клавиши мыши. Это приводит к загрузке документа в текущее окно системы. Использование кнопки Cancel позволяет отказаться от выбранной операции.

Можно поступить и иначе: указав курсором мыши на нужный файл, быстро нажать дважды левую клавишу мыши. Активизация курсором мыши кнопки Cancel диалогового окна (или нажатие клавиши пульта Esc) ведет к отказу от операций выбора файла.

Окно Open имеет четыре кнопки быстрого управления для перехода на различные уровни файловой системы. Перечислим их слева направо:

• На один уровень вверх

• Создание новой папки

• Список

• Таблица

Кнопка "На один уровень вверх" переводит окно в отображение более старшей папки (каталога), а кнопка "Создание новой папки" задает в текущем каталоге новую папку и предлагает ввести ее имя. На рис. 2. 4 показан пример задания новой папки Myfile.

Две другие кнопки устанавливают отображение файлов в выбранной папке в форме списка (как на рис. 1. 15) или в форме таблицы (как на рис. 2. 4). Табличная форма менее компактна, но дает больше данных о каждом файле или каталоге.

После загрузки файла с документом его текст появляется в текущем окне и по умолчанию начинается исполнение документа в режиме автоматических вычислений. Можно отключить этот режим, тогда загруженный документ не будет исполняться до подачи команды на вычисления.

Рис. 2. 4 Пример задания новой папки из окна Open

Для вызова одного из ранее использовавшихся документов достаточно указать курсором мыши его имя в списке, размещенном над операцией Exit в позиции File (Файл) главного меню. Щелкнув один раз левой клавишей мыши, можно загрузить выбранный файл в текущее окно редактирования.

При работе со многими документами возможна ситуация, когда все восемь окон окажутся уже заполненными. Тогда загрузка нового файла становится невозможной и система выводит сообщение об этом с предложением о закрытии окон командой Close (Закрыть).

2. 4. Запись документа на диск без переименования (Save)

Эта операция записывает файл на диск с использованием его текущего имени и с учетом всех изменений, которые вводились в документ в ходе его редактирования, доработки или дополнения. Такая операция удобна, если вы совершенствуете ранее созданный и имеющий свое имя документ. Она дает быстрый способ записи файла на диск без поиска его места в файловой структуре и без изменения имени.

Следует с осторожностью пользоваться этой командой в том случае, когда вы модернизируете какой-либо документ, но желаете сохранить оригинал. В случае применения операции Save [F6] (Сохранить) исходный файл-оригинал будет заменен новым. Чтобы этого не произошло, следует пользоваться командой записи Save As... (Сохранить как), описанной в следующем разделе.

Командой Save (Сохранить) рекомендуется пользоваться периодически при подготовке сложных документов. Это позволяет сохранить все изменения в документах и избежать потери документа при ошибочных действиях, например при случайном выключении компьютера до записи файла.

Команда Save (Сохранить), обозначавшаяся в предшествующих версиях как Save Document, выполняется без выдачи каких-либо предупредительных сообщений.

2. 5. Запись документа на диск с переименованием (Save As...)

Операция Save As... [Ctrl+ S] (Сохранить как) отличается от предыдущей тем, что перед записью файла на диск в диалоговом окне появляется запрос на ввод имени файла (рис. 2. 5), что позволяет задать любое имя, в том числе отличное от имени дорабатываемого файла-оригинала. Тем самым можно отдельно записать доработанный документ и сохранить оригинал.

Рис. 2. 5 Диалоговое окно для записи файла с указанием его имени

Имя файла может быть коротким, без указания имени диска и подкаталогов. Тогда файл будет помещен в текущий каталог. Однако можно указать и полное имя файла, например:

d: \wmcad\book\demo. mcd

В этом случае файл demo. mcd будет записан на диск d в подкаталог book, имеющийся в каталоге wmcad.

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

2. 6. Закрытие документа (Close)

Эта операция закрывает окно с текущим документом, и система переходит к работе с окном предшествующего документа (либо к пустому первому окну, если другие документы не вводились).

Как уже отмечалось, система MathCAD для работы с каждым документом создает свое окно. Текущее окно обычно видно на переднем плане. Команда Close [Ctrl+ F4] (Закрыть) позволяет убрать ставшее ненужным окно текущего документа и освободить память для ввода новых документов.

Если какой-либо из документов в закрываемых окнах подвергался модификации, то система спросит, надо ли записывать документ на диск (рис. 2. 6).

Если документ не модифицировался, соответствующее окно просто закрывается. Окно, показанное на рис. 2. 9, создает система Windows. Закрыть окно также можно, используя кнопку с треугольником, острие которого обращено вниз, или команду Close меню управления окном.

Следует помнить, что каждый загруженный документ занимает определенный объем памяти. Поэтому команда Close является эффективным средством освобождения памяти, особенно когда закрывается окно с большим документом. Не рекомендуется использовать более десятка окон.

Рис. 2. 6 Диалоговое окно, появляющееся при закрытии окна модифицированного документа

Опыт показал, что иногда при заполнении всех окон вместо команды Close удобнее просто задать выход из системы с помощью команды Exit (Выход) Тогда все окна, содержащие документы, не подвергнутые модификации, закроются автоматически (см. ниже) Закрытие модифицированных документов сопровождается запросом о том, желаете ли вы сохранить документ в измененном виде или нет

Затем надо вновь загрузить MathCAD Быстро закрыть окна по одному без выхода из системы MathCAD можно, нажимая клавиши Ctrl и F4 (каждое такое нажатие закрывает очередное окно)

2. 7. Групповая работа над документом (Collaboratory...)

Новая возможность шестой версии системы MathCAD — более активная поддержка средств телекоммуникаций Непременными условиями для этого являются оснащение ПК телефонным модемом и его инсталляция

MathCAD 7 О PRO пошла в этом направлении еще дальше в ней появилось средство для организации совместной работы над сложными документами (проектами) Если указанные выше условия выполнены, то можно через сервер фирмы MathSoft установить связь между различными пользователями для организации совместной работы Для этого служит команда Collaborato-гу... в подменю позиции File главного меню.

К сожалению, большинство наших пользователей пока не подключено к Internet, поэтому, когда они применяют команду Collaboratory..., вызывается окно с именем No Connected ("Нет подключения"), показанное на рис 2 7

Рис. 2. 7 Окно No Connected, указывающее на отсутствие подключения к Internet

Если вы подключены к Internet, то в этом окне можно будет задать необходимые для совместной работы параметры. Работа с Math CAD 7. 0 PRO в сети Internet рассмотрена в последней главе данной книги.

2. 8. Установка входа в сеть (Internet Setup...)

Если ПК, на котором установлена система MathCAD, подключен к модемной сети, то с помощью команды Internet Setup... можно подключиться к Internet. Эта команда выводит довольно простое диалоговое окно, которое показано на рис. 2. 8.

Рис. 2. 8 Окно подключения к Internet

В этом окне надо установить имя пользователя (по умолчанию оно задается таким, каким было указано при регистрации системы), адрес для связи (по умолчанию задан сервер фирмы MathSoft) и адрес электронной почты. Кроме того, следует определить данные серверов, ресурсов Internet. Описание этих процедур выходит за рамки нашей книги, поскольку сильно зависит от конкретных условий подключения к Internet и к математическим способностям MathCAD прямого отношения не имеет.

2. 9. Отправка документов по электронной почте (Send...)

С помощью команды Send... документы можно отправить и по электронной почте. Для этого следует выполнить ряд простых операций с применением так называемых Мастеров операционной системы Windows 95. Мастерами

Рис. 2. 9 Начальное окно Мастера установки модемной сети

называют диалоговые окна, позволяющие разделить процесс инсталляции или установки периферийного оборудования на ряд довольно простых шагов.

На рис. 2. 9 показано начальное окно Мастера установки связи по электронной почте. Нажимая кнопку Next, можно перейти к следующему шагу установки и т. д.

Дальнейшие действия пользователя зависят от обстоятельств установки сетевого оборудования и инсталляции его программного обеспечения.

2. 10. Установка параметров страницы при печати (Page Setup...)

Печать документов — важная возможность системы. В общем случае она предполагает установку параметров печатаемой страницы, ее предварительный просмотр и затем уже печать на выбранном типе принтера с возможной коррекцией ее параметров.

Команда Page Setup... (Параметры страницы) служит для установки параметров печатаемых страниц. При ее выполнении появляется диалоговое окно, показанное на рис 2. 10 в центре экрана.

Следует отметить, что это окно принадлежит системе Windows. Непосредственно подлежит установке ширина отступа (поля) со всех сторон бумажного листа: Left (левый), Right (правый), Тор (верхний) и Bottom (нижний). Отступы устанавливаются в дюймах. Кнопки Headers... и Footers... позволяют ввести колонтитулы вверху и внизу документа при его печати. Кнопка Cancel (Отмена) отменяет эту операцию, а ОК фиксирует ее данные.

Рис. 2. 10 Диалоговое окно установки параметров печатаемой страницы

2. 11. Предварительный просмотр страниц печати (Print Preview...)

Даже одна страница большого документа не видна полностью на экране дисплея. Поэтому перед печатью полезно просмотреть расположение элементов документа на странице. Для этого служит команда Print Preview... (Просмотр), которая выводит контрольное окно с изображением будущей напечатанной страницы (см. рис. 2. 11). Такая весьма полезная команда появилась в системах MathCAD начиная с версии 5. 0.

Рис. 2. 11 Предварительный просмотр страницы перед печатью

Вверху окна видны кнопки управления просмотром страницы. Они становятся активными только в том случае, если просматривается объемный документ, не помещающийся на одной стандартной странице (формат А4). Треугольники на этих кнопках показывают на возможное направление просмотра. Внизу окна контроля имеются кнопки Print (Печать) для запуска печати, Close (Закрыть) для выхода из просмотра и закрытия диалогового окна и Page Setup... (Страница...) для вызова диалогового окна установки параметров страницы (описывалось выше).

2. 12. Печать документов (Print...)

Команда Print... [Ctrl+ 0] (Печать) служит для запуска печати. Нередко эта команда используется как основная для печати, если формат страницы и установки принтера были заданы ранее и устраивают пользователя. Команда Print... имеет в панели инструментов дублирующую пиктограмму с изображением принтера.

При запуске команды Print... появляется диалоговое окно, показанное на рис. 2. 12. Это окно также не принадлежит системе MathCAD — используется стандартное окно печати Windows.

Используя окно печати, имеется возможность установки параметров принтера. Поскольку разные принтеры имеют различное программное обеспечение (драйверы) печати, вид окна на рис. 2. 12 может заметно отличаться от приведенного для известного лазерного принтера HP LaserJet 5L компании Hewlett Packard.

Windows позволяет осуществлять печать с помощью принтеров нескольких типов. Один из них задан как рабочий (основной). В диалоговом окне

Рис. 2. 12 Окна печати и установки параметров принтера

можно указать диапазон страниц печати, число копий и разрешение принтера В целом диалог с компьютером при осуществлении этой операции прост и нагляден

Вид исходного документа при печати, как правило, сохраняется Естест венно, если он многостраничный, то печатаются отдельные страницы (они разделены характерной пунктирной линией) Современные принтеры (особенно лазерные и струйные) имеют более высокое разрешение при печати, чем разрешение дисплея Поэтому качество отпечатанного документа у них выше, чем видимое на экране

Документы MathCAD могут иметь двойную ширину и большую длину Тогда вначале печатаются все страницы левой половины широкого документа, а затем уже страницы правой половины, даже если они пустые (разумеется, при этом принтер вытолкнет пустой лист) Склеив страницы, вы получите полную распечатку документа

Прежние версии MathCAD, нелегально поставляемые на CD-ROM, в буквальном смысле наказывали пользователей таких версий отказом от печа ти документов в среде Windows 95 Новая версия этим пакостным свойством уже не обладает' проблем с печатью у новой версии уже не зафиксировано

2. 13. Выход из системы (Exit)

Операция Exit [Alt+ F4] (Выход) используется для окончания работы с системой. Перед этой операцией необходимо побеспокоиться, чтобы все загруженные ранее документы, подвергавшиеся редактированию и модификации, были сохранены на диске с помощью команды Save As... (Сохранить как) или Save (Сохранить) Тогда при использовании операции Exit можно на блюдать последовательное исчезновение окон документов Если пользователь забыл записать какой-либо документ на диск, система сообщит об этом, выдав запрос. Нужно ответить Y, если документ нужно сохранить, и N — если сохранения не требуется.

После выхода из системы MathCAD происходит возврат в среду Windows. Не следует применять эту команду, если вам необходимо временно выйти из системы. Тогда лучше свернуть MathCAD в пиктограмму, активизировав курсором мыши кнопку с жирной горизонтальной чертой в конце титульной строки окна. Можно также воспользоваться переключателем программ Windows, нажимая клавиши Alt и Tab и выбирая программу по названию, появляющемуся в верхней части экрана. Исключением из этого правила является описанный выше прием очистки всех окон с помощью команды выхода из системы. При этом выход из системы и ее повторная загрузка займут меньше времени, чем последовательная очистка всех окон.


Глава 3 Редактирование документов

3. 1. Общие приемы редактирования документов (Edit)

Редактирование документов в ранних версиях системы MathCAD под MS-DOS было в определенном смысле искусством. Следовало помнить десятки сочетаний клавиш для ввода математических спецсимволов, шаблонов и греческих букв, правила стирания и вставки знаков в формулы и т. д. Все эти правила (несмотря на некоторые элементы их интуитивности) быстро забывались, и пользователю приходилось рыться в документах для их поиска или действительно полагаться на свою интуицию. Нередко это вело к тому, что замена в формуле какой-либо переменной или показателя степени легче обеспечивалась повторным набором блока целиком, чем применением напрочь забытых приемов редактирования.

Подобный недостаток полностью устранен в новой версии системы, в основном благодаря возможности конструирования формул с помощью мыши и готовых наборов (палитр) специальных математических символов. При этом разработчики новой версии MathCAD наконец-то решились на важный шаг — отказались от полного сохранения правил редактирования и ввода объектов, к которым привыкли пользователи ранних версий системы MathCAD. Многие из этих правил сохранены, но не все. Зато набор математических символов в MathCAD стал напоминать эту операцию в текстовом редакторе Word 95 из пакета Microsoft Office 95.

Большая часть процессов редактирования производится непосредственно с отображением объектов в текущем окне редактора. Разумеется, редактирование возможно только после ввода в текущее окно редактора одного или ряда шаблонов объектов. В противном случае часть операций редактирования осуществить будет нельзя и в меню редактирования Edit (Правка) такие операции будут указаны затененным шрифтом.

Ввод объектов (математических выражений, текстовых комментариев, графиков и др.) в текущее окно редактора производится по-разному. Он будет неоднократно описан по мере изложения последующего материала книги.

Здесь мы ограничимся парой простых примеров. Так, для задания переменной х=1 и вычисления значения функции sin (x) можно воспользоваться вводом с клавиатуры.

Нажимаемая клавиша | Изображение | Комментарий в окне
х | X | Ввод имени переменной
 | X: = | Ввод символа присваивания: -
1 | x: = 1 | Ввод числовой константы 1
Enter |  | Фиксация ввода, скачок курсора
s i n | s si sin | Ввод имени функции sin

( | sin ( | Ввод левой скобки (
х | sin (x | Ввод имени переменной х
) | sin (x) | Ввод правой скобки)
 | sin (x) = | Ввод знака вывода =
Enter | sin (x) - 0. 841 | Вычисление sin (x) =sin (l)

Даже на этом простом примере видны некоторые особенности входного языка общения с системой. Так, символ присваивания: = отличен от обычно используемого в математике знака равенства =. Это обстоятельство связано с тем, что знак равенства интерпретируется в математических выражениях по контексту. Например, х=у означает либо присвоение переменной х значения ранее определенной переменной у, либо просто факт логического равенства значения х значению у.

Такая двойственность недопустима в машинных программах. Поэтому в системах MathCAD долгое время знак = использовался только как знак вывода результатов вычислений, а для присваивания переменным значений применяется знак: =. Наконец, для обозначения отношения величин х и у как равенства используется жирный знак равенства.

В последней версии MathCAD знак = допустимо применять и как знак присваивания. Система автоматически заменяет его на знак: = при первой операции присваивания. Это происходит благодаря тому, что система "знает ", что перед первым присваиванием переменная не определена и, следовательно, знак = в качестве знака вывода значения переменной не может использоваться. Так что его можно применять для присваивания. Например, если вы введете в первый раз х=2, то система представит это в виде х: =2. Однако при втором присваивании надо писать х: =3 (если задать х=, то система тут же выдаст х=2, т. е. знак = будет уже означать вывод).

Интересно отметить, что для ввода знака: = предназначена клавиша с двоеточием (:). А клавиатурный знак \, к примеру, вводит обычное изображение квадратного корня. Если мы хотим создать вектор с именем V, элементы которого имеют значения от 1 до 5, придется набрать:

V: 1; 5

На экране дисплея в текущем окне появится:

V: =1.. 5

Здесь клавиша, содержащая точку с запятой (;), вводит символ перечисления значений "от до" в виде двух точек (..). Этот прием придает переменной V статус ранжированной, по существу вектора с элементами 1, 2, 3, 4 и 5 в нашем примере.

Можно огорчиться, когда узнаешь, что таких правил ввода десятки. Объясняется это тем, что многих математических спецсимволов нет в виде надписей на клавиатуре. Клавиатура ПК приспособлена для ввода простых текстов, а отнюдь не для ввода сложных математических формул и относящихся к ним математических знаков, например квадратного корня, знаков суммы и произведения, интеграла и т. д.

На самом деле проблема не столь ужасна, как кажется с первого взгляда (она действительно нервирует начинающих пользователей, работающих с ранними версиями системы MathCAD). Во-первых, многие знаки вводятся интуи-гивно, стоит вспомнить их начертание или смысл. Например, знак:"= вводится целиком с помощью начального двоеточия, а знак квадратного корня вводится знаком \ — частью его изображения. По мере описания системы будут указаны клавиши для ввода тех или иных операторов. Во-вторых, как уже отмечалось, в описанной версии MathCAD эта проблема практически снята благодаря возможности выбора спецсимволов из их наборов (палитр) в наборных панелях. Достаточно установить графический курсор в нужном месте окна и выбрать мышью пиктограмму соответствующего спецсимвола из выбранной палитры символов. Нажатие левой клавиши мыши вызовет вывод на место курсора шаблона спецзнака. Далее надо заполнить выделенные темными прямоугольниками места шаблона, и соответствующий объект будет полностью введен. Пример заполнения шаблона для интеграла мы уже приводили.

Для заполнения шаблонов операндов надо вначале наметить нужный шаблон с помощью клавиш перемещения курсора. Еще удобнее сделать это с помощью мыши, указав перемещаемым маркером мыши на нужный шаблон и нажав ее левую клавишу. Активный шаблон помечается синим уголком, указывающим направление ввода (ранее это делал синий прямоугольник со скосом). Теперь можно вводить операнд. Это повторяется для других шаблонов ввода операндов.

Оставив на потом описание некоторых других деталей ввода (например, выделение частей объектов, перемещение курсора по объектам и др.), рассмотрим операции, вводимые при активной позиции Edit (Правка) главного меню (см. рис. 3. 1).

Рис. 3. 1 Экран системы при активной позиции Edit главного меню

Как видно из рис. 3. 1, позиция Edit главного меню выводит подменю, содержащее следующие операции:

Undo [Alt+ BkSp] — отменить последнюю операцию (Отменить изменения) редактирования;

Redo (Повторить) — повторить последнюю операцию редактирования;

Cut [Ctrl+ X] (Вырезать) — переместить выделенный объект в буфер обмена;

Copy [Ctrl+ C] (Копировать) — скопировать выделенный объект в буфер об мена;

Paste [Ctrl+ V] (Вставить) — вставить содержимое из буфера обмена в до кумент;

Paste Special... — вставить содержимое из буфера обмена (Специальная вставка) в различном формате (в формате Mathcad или BITMAP, например);

Delete [Ctrl+ D] (Удалить) — стирание выделенных объектов;

Select All (Выделить все) — выделение всех объектов документа;

Find... [Ctrl+ F5] (Найти) — найти заданную текстовую или математичес кую строку;

Replace... [Shift+ F5] — найти и заменить математическую или

(Заменить) текстовую строку;

Go to Page... — расположить начало указанной страницы

(Перейти к странице) в начале рабочего документа MathCAD;

Check Speling... проверка орфографии (для англоязычных

(Контроль орфографии) документов);

Links... (Связи) — задание связи с документом;

Object (Объект) — редактирование вставленного в документ объ екта.

Здесь прежде всего надо отметить очередной казус совместной работы англоязычной MathCAD с русскоязычной (локализованной для российских пользователей) операционной системой Windows 95: последняя позиция Object в подменю Edit записана на русском языке!

Многие из операций редактирования используют буфер обмена (Clipboard). Так называется специально организованная и динамически изменяющаяся область памяти в операционной системе Windows. В нее могут помещаться различные (обычно предварительно выделенные) объекты и документы. Буфер обмена можно использовать для организации обмена частями документа как в пределах текущего документа, так и между различными документами и даже приложениями.

Рассмотрим операции редактирования более подробно.

3. 2. Отмена операции редактирования (Undo) и ее повтор (Redo)

Команда Undo [Alt+ BkSp] (Отменить) служит для устранения последней операции редактирования. Обычно она применяется, если в ходе редактирования установлено, что введен неправильный знак либо неверное имя или значение переменной. Тогда следует отменить последнюю операцию редакги-рования, что и делает команда Undo.

Надо отметить, что она применима только к тем блокам, в которые введен курсор и в которых начаты операции редактирования. В других случаях команда Undo неактивна. При ее применении восстанавливается то содержимое блока, которое было в нем до операции редактирования, например в введенном выражении

х: = exp (sin (l))

Вы решили исправить функцию sin на функцию cos и стали стирать имя функции sin, но вспомнили, что это исправление неверно Достаточно ввести команду Undo, и функция sin окажется восстановленной. Действие этой команды распространяется только на одну последнюю операцию

Бывает, однако, что, отменив последнюю операцию редактирования, пользователь все же решает ее ввести снова. Для этого служит операция Redo

3. 3. Выделение объектов и перенос их в буфер обмена (Cut)

Операция Cut [Ctrl+ X] (Вырезать) пересылает выделенный сплошным или пунктирным прямоугольником объект в буфер обмена системы Windows Вы делить сплошным прямоугольником объект можно, введя в него мышью гpaфический курсор и нажав дважды левую клавишу мыши. Пересылаемый one рацией Cut объект поступает в буфер обмена, а его изображение в окне редактирования исчезает (это напоминает вырезку рисунка и его наклейку в другое место — буфер). Для пересылки объекта в буфер обмена подходит и средство, использовавшееся в ранних версиях системы — нажатие клавиши F3.

Объект или группу объектов можно целиком выделить и другим путем. Подведите курсор к объекту (но не вводите в него) Нажмите левую клавишу мыши и, не отпуская, сдвиньте мышь по диагонали. На экране появится прямоугольник из пунктирных черных линий, размеры которого задаются перемещением мыши Как только в этот прямоугольник попадет хотя бы часть какого-либо объекта, этот объект окажется обведен прямоугольником из сплошных черных линий.

Как только левая клавиша мыши будет отпущена, основной прямоугольник исчезнет, но все выделения объектов останутся. Так можно выделить сразу несколько объектов В этом случае они будут выделены пунктирными

Рис. 3. 2 Пример выделения объектов, расположенных в разных местах документа

линиями. Если надо выделить объекты поодиночке (рис. 3. 2), делайте это с помощью мыши при нажатой и удерживаемой клавише Ctrl или Shift. Подведите курсор мыши к нужному объекту и щелкните левой клавишей — объект будет выделен пунктирным прямоугольником. Далее переходите к выделению другого объекта. Расположение выделяемых объектов и порядок их выделения при этом могут быть любыми.

Группа выделенных объектов ведет себя как единый блок, который можно перетаскивать при нажатой левой клавише мыши, что наглядно демонстрирует рис. 3. 3. На нем выделенный на рис. 3. 2 блок из трех объектов перенесен на новое место. Для переноса достаточно уцепиться курсором мыши за край выделения любого блока и добиться, чтобы курсор превратился в темное изображение ладони. Это будет означать возможность перемещения блоков. Напоминаем, что если курсор приобретает вид двусторонних стрелок, то это означает возможность растяжения выделенного блока.

Рис. 3. 3 Пример перенесения выделенных блоков на новое место

В новой версии системы улучшено выделение выражений с помощью мыши. Используя мышь, легко выделять даже отдельные фрагмента формул, что иллюстрирует рис. 3. 4. Это открывает обширные возможности конструирования формул из фрагментов набранных ранее формул. Сохранены и возможности изменения выделений с помощью клавиш управления курсором и клавиши пробела. Например, для расширения выделения на все выражение удобно применять клавиши пробела.

При выделении мышью текстовых надписей можно выделить и любой фрагмент текста, вплоть до одиночного символа. В формулах также можно выделить любую односимвольную переменную. Однако в математических выражениях нельзя выделять отдельные символы в именах функций — они выделяются целиком.

Команда Cut выполняется также комбинацией клавиш Shift+ Del. Щелчок левой клавишей мыши при курсоре, помещенном за пределы выделенных объектов, снимает все выделения.

Рис. 3. 4 Пример выделения мышью части математической формулы

3. 4. Копирование объекта в буфер обмена (Copy)

Операция Copy [Ctrl+ C] (Копировать) аналогична Cut (Вырезать), но с одним существенным отличием выделенный объект (или блок объектов) переносится в буфер обмена, но не уничтожается в окне редактирования. Эта операция обычно используется в том случае, когда нужно перенести заданный объект в несколько документов, оставив при этом оригинал на своем месте, или если объект либо блок объектов нужно повторить в другом месте документа.

Особенно полезна операция Copy при составлении документа из частей других документов (см. рис. 3. 5). Если переключиться в другое окно, то скопированная и занесенная в буфер обмена информация может быть помещена в это окно с помощью операции Paste (Вставить), описанной ниже.

Рис. 3. 5 Пример переноса выделенной в одном документе части выражения в окно другого документа

Для переноса ряда объектов из одного документа в другой не обязательно использовать буфер обмена. Можно перетаскивать объекты, зацепив их курсором мыши (в форме ладони), прямо из одного окна в другое. Начало такого переноса представлено на рис. 3. 6. Этот перенос основан на реализованном в приложениях Windows 95 методе Drag and Drop ("Перетащи и брось"). Он намного облегчает перенос и делает его более наглядным.

Рис. 3. 6 Перенос выделенных блоков из окна одного документа в окно другого документа

Если отпустить левую клавишу мыши, то объекты появятся в другом документе и исчезнут в первом (где они были до этого).

3. 5. Копирование объекта из буфера обмена в окно (Paste)

Операция Paste [Ctrl+ V] (Вставить) переносит изображения объектов из буфера обмена в окно и располагает их по текущему местоположению графического курсора. Помещенные в окно объекты выделяются пунктирными прямоугольниками. Для снятия выделения достаточно установить курсор в свободное поле окна и нажать левую клавишу мыши (или клавишу Enter). Эта операция выполняется также нажатием клавиши F4 и комбинацией клавиш Shift+ Ins.

При применении операции Paste содержимое буфера обмена сохраняется и команду можно использовать неоднократно, что особенно удобно при необходимости дублирования объектов, когда, например, какая-либо формула или математическое выражение встречаются в тексте документа несколько раз.

С помощью описанных операций переноса и копирования объекта в буфер обмена и вывода его содержимого в окно (не обязательно исходное) можно переносить объекты из одного окна в другое. К сожалению, прямой перенос объектов без помощи буфера обмена (как пиктограмм в версии Windows 31) невозможен Однако он возможен для примеров QuickSheets

3. 6. Специальная вставка (Paste Special...)

Операция специальной вс1авки позволяет вставлять в документ данные, представленные файлами различных форматов Выбор форматов обеспечивается с использованием простого диалогового окна Предусмотрены различные типы форматов текстовый, MathCAD, RTF и Bitmap Операция расширяет возможности подготовки многокомпонентных документов С ее помощью можно, например, подготовив рисунок в графическом редакторе PaintBrush, перенести его в документ системы MathCAD В остальном применение ко манды Paste Special... (Специальная вставка) подобно описанному для команды Paste (Вставить)

Рис 3 7 иллюстрирует технику выполнения специальной вставки В од ном из документов выделены объекты и исполнена операция специальной вставки Она вызывает появление окна вставки, в котором можно выбрать доступный для нее формат

Рис. 3. 7 Демонстрация специальной вставки

Вставка может задаваться значком, причем с помощью дополнительного окна (оно также показано на рис 3 7) можно выбрать из предоставленного набора значков наиболее подходящий Причины появления в диалоговых окнах специальной вставки русскоязычных надписей уже обсуждались Эти окна являются общими для различных приложений и создаются не ими, а русифицированной операционной системой Windows 95

3. 7. Уничтожение выделенного объекта (Delete)

Команда Delete [Ctrl+ D] (Удалить) служит для уничтожения выделенного объекта (в том числе блока выделенных объектов) При этом в буфер обмена объекты не заносятся. Команда полезна для редактирования документов. В отличие от команды Cut (Вырезать) ее применение не загружает буфер обмена и предотвращает нехватку оперативной памяти. Будьте осторожны с этой операцией — можно легко стереть нужный объект, причем в этом случае его восстановить не удастся (придется создавать заново).

3. 8. Выделение всех объектов (Select All)

Операция Select All (Выделить все) выделяет все объекты пунктирными прямоугольниками (см. рис. 3. 8). Это позволяет не только отчетливо наблюдать взаимное расположение блоков, но и подмечать степень их перекрытия. Как правило, оно нежелательно.

Рис. 3. 8 Пример выделения всех объектов командой Select All

При переносе объектов или при их редактировании возможно частичное II даже полное наложение блоков одних объектов на другие, когда может исчезнуть часть изображения некоторых объектов. Выделение всех объектов полезно для контроля такой ситуации.

3. 9. Поиск подстроки (Find...)

Часто в ходе редактирования документа пользователь заранее знает, какая именно часть документа должна изменяться. Например, часто возникает необходимость исправить имя какой-либо переменной или скорректировать заведомо известную формулу. Возможно, потребуется изменение какой-либо фразы текстового сообщения При этом весьма полезна операция поиска изменяемого фрагмента по всему документу, особенно когда документ велик и заданное изменение надо повторить несколько раз.

Операция Find... [Ctrl+ F5] (Найти) служит для поиска фрагментов текста или имен переменных в математических выражениях. При ее исполнении появляется окошко Find с запросом искомого фрагмента — подстроки (см. рис. 3. 9). Можно вести поиск такого фрагмента по всему документу. При обнаружении указанной подстроки в формульном блоке курсор устанавливается в конец обнаруженной подстроки, после чего можно приступить к ее редактированию. В текстовом блоке найденная подстрока выделяется.

Рис. 3. 9 Поиск заданного фрагмента текста (слова "символьном")

Окошко Find имеет две опции-кнопки Previous (Позади) и Next (Впереди). Первая опция задает поиск от текущего положения курсора вверх до первого обнаружения подстроки, вторая позволяет провести поиск подстроки от текущего положения курсора вниз. Если подстрока поиска не обнаружена, появляется окошко Error (Ошибка) с предупреждающей надписью: Stop Not found (He найдено).

3. 10. Замена подстроки (Replace...)

Операция Replace... [Shift+ F5] (Заменить) служит не только для поиска заданной подстроки (в тексте или математическом выражении), но и для ее замены другой подстрокой. При исполнении этой операции появляется окно с предложениями о вводе подстрок.

Find (Что): Искомая_строка Change to (Чем) Строка замены

Окно содержит также указания на характер замены, по всему документу, однократная замена, игнорирование замены (рис 3 10)

Как и в случае с операцией Find, операцию Replace... можно применять неоднократно К сожалению, в текстах на русском языке иногда могут возникнуть трудности при поиске и замене слов, поскольку система замены создавалась для англоязычных текстов Тем не менее обычно система поиска и замены работает и при русскоязычных надписях.

Рис. 3. 10 Замена слова "символьном" на слово "аналитическом" с помощью операции Replace...

3. 11. Проверка орфографии (Check Speling...)

Для проверки орфографии в англоязычных текстах служит операция Check Speling... (Контроль орфографии) Она обеспечивает проверку орфографического написания слов путем сравнения их с набором эталонных слов в специальном словаре системы. Процесс проверки иллюстрируется примером на рис 3. 11

Рис. 3. 11 Пример проверки орфографии

Как видно из приведенного примера, система орфографического контроля не только выявляет слова с ошибками и выделяет их цветом основы, но и предлагает варианты замены (см. рис. 3. 12). Это говорит о том, что в данной системе есгь и тезаурус — перечень слов схожего назначения. Если ошибки не обнаружены или исправлены, то появляется окно с сообщением о завершении контроля. Это окно также показано на рис. 3. 12.

Рис. 3. 12 Конец проверки орфографии

Окно проверки орфографии имеет ряд кнопок:

Ignory — игнорировать найденное слово с ошибкой;

Change заменить слово подходящим из списка;

Add добавить слово в словарь;

Suggest представить расширенный список слов для замены;

Cancel - прекратить проверку.

Добавление слов в словарь расширяет его и позволяет проводить проверку специальных терминов, возможно, отсутствующих в словаре. Однако эту операцию следует проводить осторожно: словарь легко засорить случайно введенными неверными словами, чю снижает эффективность проверки орфографии.

Как уже говорилось, для наших пользователей ценность системы орфографического контроля заметно снижается из-за невозможности проверки русскоязычных текстов. При этом все русские слова отмечаются как ошибочные. Однако благодаря объектной связи нередко можно готовить тексты в редакторе Word 95 из офисного пакета Microsoft Office (он имеет мощную русскоязычную систему орфографического и грамматического контроля) и затем включать их в документы MathCAD.

3* 12. Переход к заданной странице документа (Go to Page...)

Документ с достаточно сложными расчетами может занимать множество страниц. Для быстрого перехода к нужной странице используется команда

Go To Page... (Перейти к странице). При исполнении этой команды появляется диалоговое окно, показанное на рис. 3. 13.

Рис. 3. 13 Диалоговое окно команды Go To Page...

В этом окне следует указать страницу, к которой надо перейти: First Page (К первой странице), Last Page (К последней странице) или с Number Page (К странице №). Внизу окна отображается номер текущей и заданной для перехода страниц. Кнопка ОК исполняет переход, a Cancel отменяет его.

3. 13. Связывание документов (Links...)

Операция Links... (Связи) используется после внедрения объектов с применением операций Insert Object и Paste Special. Она выводит диалоговое окно, показанное на рис. 3. 14.

Рис. 3. 14 Диалоговое окно операции Links...

С помощью этого окна можно редактировать связи с внедренным объектом, открывать и менять источник объектов и прерывать связь.

3. 14. Редактирование внедренных объектов (Object)

С помощью операции Object (она вводится в позиции главного меню Insert) в документ можно вводить объекты из других приложений. На рис. 3. 15 показан такой объект в виде формулы, созданной в редакторе формул приложения Microsoft Word 95.

Если внедренный объект выделен (прямоугольником из сплошных линий), то позиция подменю Edit Object (Объект) становится доступной, что и видно на рис. 3. 15. При этом она открывает доступ к редактированию объекта с помощью того приложения, которое первоначально создало внедренный в документ объект.

Рис. 3. 15 Объект в виде формулы, внедренный в документ

На рис 316 покачана подготовка к редактированию объекта Такой вид принимает окно MathCAD после исполнения команды Заменить

Как видно из рис 3 16, в окне редактирования объекта появляется набор ная панель редактора формул приложения Microsoft Word 95, породившего редактируемую панель Благодаря этому становится возможным полное ре дактирование внедренной формулы, вплоть до ее замены другой

Рис. 3. 16 Пример редактирования внедренного объекта

Еще более наглядную картину редактирования дает применение операции "Открыть" Она открывает окно редактора формул, показанное на рис 317, позволяющего с полными удобствами редактировать введенное выражение.

Рис. 3. 17 Редактирование внедренного объекта, формулы, с помощью редактора формул

На рис 317 показано также информационное окно редактора формул с данными о нем. Это окно прямо указывает на то, что используется именно редактор формул из пакета Microsoft Office 95 Сам процесс вставки объектов мы рассмотрим несколько позже при описании подменю позиции Insert глав ного меню

3. 15. Редактирование с применением клавиатуры

Редактирование документов возможно как с применением мыши, так и с помощью клавиатуры. В любом случае прежде всего полезно знать функции графического курсора (маркера). При перемещении по документу он может принимать одну из трех приведенных ниже форм.

Формы курсора

Курсор может иметь следующие формы.

+ — крестообразный красный курсор (визир) служит для указания места для новых блоков (текстовых, формульных или графических). Курсор имеет такой вид только вне пространства блоков, т. е. на пу стом месте экрана, и может перемещаться клавишами управления курсором или устанавливаться мышью (для этого курсор мыши ставится в нужное место и нажимается ее левая клавиша), курсор в виде красной вертикальной черты (маркер ввода) служит для указания на отдельные элементы блоков, он обычно используется для ввода данных и заполнения шаблонов. В текстовых блоках используется для указания места вставки или удаления отдельных символов,

[ или ] — курсор в виде синих уголков разного размера, выделяющих отдельные части выражения или выражение целиком Вид курсора зависит от направления ввода Нажатие клавиши Ins или клавиш <— и —> перемещения курсора меняет направление ввода

Клавиши для выделения

Для выполнения выделений используются указанные ниже клавиши:

вверх — превращает маркер в выделяющий уголок и расширяет его;

вниз — сужает выделяющий уголок;

-» — перемещает маркер и меняет вид уголка;

<- — перемещает маркер и меняет вид уголка;

Shift Т — выводит курсор из выражения в верхнюю часть свободного поля, делая его крестообразным;

Shift вниз — выводит курсор из выражения в нижнюю часть свободного поля;

Shift -» — выводит курсор из выражения в правую половину свободного по ля;

Shift <— — выводит курсор из выражения в левую половину свободного поля;

Space — заключает в рамку операнд, действует как несколько нажатий кла виши Т и выводит курсор из выделенного выражения;

Ins — перемещает срез рамки из правого верхнего угла в левый верх ний угол

Клавиши и их комбинации для управления редактированием

По мере освоения системы все большую помощь в редактировании оказывает знание функций управляющих клавиш и их комбинаций. Ниже дан перечень осуществляемых ими операций:

Tab — в тексте перемещает курсор на начало следующего слова, в

уравнении управляет выделением частей блока (в частности, выделяя выражения в скобках);

Shift+ Tab — в тексте перемещает курсор в начало очередного слова, в уравнении управляет выделением частей блока;

PgUp — перемещает курсор и вызывает скроллинг на пять строк вверх;

PgDn — перемещает курсор и вызывает скроллинг на пять строк вниз;

Ctrl+ PgUp — вызывает скроллинг на одно окно вверх;

Ctrl+ PgDn — вызывает скроллинг на одно окно вниз;

Home — устанавливает курсор в начало предшествующего блока, Ctrl+ Home — вызывает скроллинг с установкой курсора в начало документа;

Ctrl+ End — вызывает скроллинг с установкой курсора в конец документа.

Действия некоторых клавиш, связанные с выделением, неоднозначны, и для их интуитивного применения требуется определенный опыт работы. При редактировании текстовых блоков особых трудностей не возникает — оно выполняется так же, как в большинстве текстовых редакторов, и будет подробнее рассмотрено в дальнейшем.

Математические выражения не столько набираются, сколько конструируются При этом учитывается определенная структура выражений и иерархия выполняемых операций. Конструирование выражений облегчается средствами выделения отдельных фрагментов выражений. Полезно помнить, что все, что попадает в ходе выделения в уголки курсора, оказывается операндом для следующего вводимого оператора. Операторы возведения в степень, извлечения корня и деления являются "цепкими" операторами. После их ввода все, что набирается следом, становится показателем степени, подкоренным выражением или знаменателем. Для прекращения этого обычно приходится дважды нажать клавишу Space.

Как правило, удобно сочетать отметку начала выделения мышью, поскольку она позволяет сразу и точно указать место выделения, с последующим расширением или сужением места выделения с помощью управляющих клавиш. При определенном навыке все выделения можно выполнить, используя мышь и рассматривая область выделения с разных сторон, чтобы принять решение о расширении или сужении этой области в нужном направлении.

Нажатие клавиши Ins меняет направление ввода и расположение курсора, что позволяет оперативно управлять вводом фрагментов формул. Например, если курсор имеет вид J, то ввод будет идти вправо (курсор как бы поддерживает вводимое выражение). Пусть, например, вы хотите набрать выражение (а+ Ь) и затем sin (a+ b), т. е. сделать ранее набранное выражение аргументом функции. Для этого вначале нажмите клавиши (а+ Ь) — выражение (а+ Ь) появится на экране и окажется заключенным в уголок J. Нажмите клавишу Ins — уголок приобретет вид ¦_ и переместится в начало выражения. Теперь введите имя функции sin — на экране будет sm (a+ b).

Для замены числа или буквы в выражении поместите маркер ввода после цифры или буквы и щелкните левой клавишей. Маркер приобретет вид уголка J. Поскольку он расположен справа от цифры или буквы, то для ее стирания нажмите клавишу <— (Backspace), а если слева и имеет вид L — то клавишу Del. Пользуйтесь F3, чтобы стереть выделенное рамкой выражение с сохранением его в буфере, и F4 — для вызова выражения из буфера обмена.

При этом полезно знать, что всякое заключенное в рамку выражение становится операндом следующего вводимого оператора. Отметим также, что нажатие клавиши F3 убирает выделяемый фрагмент и помещает его в буфер обмена Windows (операция Cut). Нажатие клавиши F4 помещает фрагмент из буфера в текущее положение курсора.

Несмотря на эти и другие тонкости конструирования математических выражений, вряд ли стоит запоминать все правила манипуляции с клавишами или мышью. Конструирование выражений чаще всего осуществляется интуитивно, и просто нужно некоторое время для экспериментов с ним. После набора первых же нескольких достаточно сложных формул пользователь подсознательно обучится правилам ввода.

Клавиши редактирования

Редактирование фрагментов документа трудно отделить от некоторых других операций. Поэтому ниже приведено назначение ряда других функциональных клавиш и их сочетаний, используемых при комплексной работе с документами. Shift+ F5 — замена одной подстроки на другую;

Enter или Ctrl+ F9 — вставка пустой строки;

Backspace или Ctrl+ FlO — удаление пустой строки;

Alt+ Bksp — отмена последней операции редактирования;

Ctrl+ Ins — копирование (Copy) выделенного объекта в

буфер обмена;

Shift+ Del — перенос (Cut) выделенного объекта в буфер

обмена;

Shift+ Ins — копирование объекта из буфера обмена в окно;

Ins — включение режима вставки (Insert).

Клавиши управления документами и окнами

Ctrl+ Esc — вызов информации с перечнем исполняемых в настоящее время программ для их переключения;

Ctrl+ F4 — закрытие документа,

Ctrl+ F6 — активизация следующего окна,

Ctrl+ 0 — печать документа,

Alt+ F4 — завершение работы с системой (команда Quit),

Ctrl+ R — восстановление изображения на экране,

F1 — открытие окна помощи (Help);

F3 — удаление отмеченного объекта с переносом в буфер обмена,

F4 — вывод объекта из буфера обмена в текущее окно,

F5 — вызов окна загрузки файлов документов;

F6 — запись файла текущего документа на диск,

F7 — подготовка к созданию нового документа,

F9 — запуск вычислений;

Shift+ Fl — вызов контекстно-зависимой справки.

Последняя операция требует некоторых пояснений При ее исполнении у курсора-стрелки появляется жирный знак вопроса. Если теперь указать на какой-либо объект или его часть (например, на имя функции или оператор), будет выведено окно с сообщением о назначении и правилах использования указанного объекта Для отмены этого режима помощи достаточно нажать клавишу Esc.

Клавиши (символы) для создания объектов

@ — создание шаблона двумерной графики (2D-графики), Ctil+® — создание шаблона трехмерной графики (ЗD-графики), Ctrl+ % — создание шаблона импортируемого рисунка, Ctrl+ G — замена латинской буквы на греческую;

Ctrl+ V — задание шаблона вектора или матрицы, Ctrl+ P — ввод греческой буквы "пи", Ctrl+ Z — ввод математического символа бесконечности

Ряд других комбинаций клавиш для ввода математических и логических операторов будет рассмотрен одновременно с их описанием в следующих главах


Глава 4 Управление обзором (View)

4. 1. Управление элементами интерфейса

Как уже не раз отмечалось, пользовательский интерфейс новых версий MathCAD содержит такие элементы, как панель инструментов, панель форматирования и наборные панели для ввода математических символов. Наряду с полезными функциями (облегчение начальной работы с системой) эти средства имеют и недостаток: они заметно сужают полезную область рабочего экрана, уменьшая ее примерно на 3—4 строки.

Существует три операции в подменю View (Обзор), позволяющие управлять выводом дополнительных элементов пользовательского интерфейса:

Toolbar (Панель — убирает или восстанавливает панель инструментов) ментов для быстрого управления системой;

Format Bar (Панель — убирает или восстанавливает панель форматирования) форматирования;

Math Pallete (Палитра — убирает или восстанавливает наборную математических знаков) панель вывода математических символов.

В Главе 1 приводился вид экрана системы MathCAD как с упомянутыми объектами интерфейса, так и без них. Все приведенные выше операции вполне очевидны, и нет смысла пояснять их более подробно. Нужно лишь отметить, что для установки соответствующей панели достаточно против ее названия в подменю View проставить жирный знак "птички". Для этого надо установить курсор мыши на нужную позицию подменю и щелкнуть левой клавишей мыши. "Птичку" также можно убрать, если заданный объект желательно устранить.

4. 2. Выделение областей (Regions)

Документы составляются из отдельных блоков (областей), причем границы их обычно не видны. Опция Regions (Области) позволяет выделить все области и обеспечивает закраску промежутков между ними серым цветом. Сами блоки при этом выделены белым фоном. На рис. 4. 1 показан вид документа с выделенными областями его объектов.

Выделение областей особенно полезно для оценки их взаимного расположения и наложения. Заглядывая вперед, отметим, что операция Separate Region (Разделить области) в позиции Format (Формат) главного меню позволяет автоматически раздвинуть блоки для устранения наложения их друг на друга.

4. 3. Изменение масштаба документа (Zoom)

Иногда желательно изменить масштаб изображения документа. Для этого служит опция Zoom (Увеличение). Она выводит окно, показанное на рис. 4. 2, со списком возможных масштабов.

Чтобы установить заданный масштаб, достаточно установить перед задающими его цифрами жирную точку. Для этого надо подвести к кружочку перед цифрой маркер мыши и щелкнуть левой клавишей Рис 4 2 показывает вид документа при масштабе 200% А на другом рисунке (рис 4 3) показан вид тою же документа при масштабе 75%

Рис. 4. 1 Вид документа с выделенными областями

Рис. 4. 2 Вид документа в увеличенном масштабе (200%)

Таким образом, на деле операция Zoom может не только увеличивать размеры блоков документа, но и уменьшать их Здесь пределы обычно ставит разрешающая способность дисплея При уменьшении масштаба до 50% на экране можно рассмотреть две страницы документа Отметим, что масштаб можно менять и иначе выбором разрешения дисплея Однако для работы с высоким разрешением желательно применять дисплеи с увеличенным размером экрана по диагонали (17, 19 или 21 дюйм)

Рис. 4. 3 Вид документа в уменьшенном масштабе (75%)

4. 4. Восстановление искажений экрана (Refresh)

При манипуляциях с объектами (например, при изменении их размеров и выделении) или при перемещении по полю окна редактирования на экране могут оставаться нежелательные объекты. Для их устранения следует использовать операцию Refresh Эта операция ничего не делает с объектами документа, а лишь уничтожает следы от них, если они возникают при работе с документом Операция полезна также в случаях, когда часть текстового блока не видна из-за наложения на него другого блока — формульного или графического

4. 5. Анимация графиков (Animation)

Анимация (или оживление) графиков — новая возможность, введенная в последние версии MathCAD Раньше такую возможность обеспечивали системы MatLAB 4 0 и Mathematica 222B MathCAD анимация используется более удачно тут привлечены стандартная технология создания анимационных файлов с расширением avi и их воспроизведение с помощью программной системы Microsoft Video I 1 Эта система предварительно должна быть установлена на ПК в составе операционной системы Windows 95

Принцип анимации достаточно прост В системе имеется встроенная переменная FRAME, принимающая целочисленные значения, по умолчанию — от 0 до 9 с шагом 1. Любая функция (см. рис. 4. 4), график которой планируется наблюдать в развитии, должна быть функцией этой переменной, являющейся по существу просто номером текущего кадра. Диапазон изменения переменной FRAME задается в диалоговом окне команды Animation (см. ниже) Не следует пытаться присваивать FRAME иные значения

При создании анимационных рисунков все кадры строятся с одинаковыми координатами углов и, следовательно, с одинаковыми размерами и положением на экране Их вывод один за другим с заданной скоростью (по умолчанию — 0 кадров в секунду) и создает живую картинку. Анимация осуществляется путем просмотра созданной последовательности кадров с помощью специального проигрывателя.

Рис. 4. 4 Начало подготовки к построению анимационного графика

Для создания последовательности кадров анимации исполняется команда Animation, что ведет к появлению на экране ее диалогового окна (оно видно на рис. 4. 4 в нижнем правом углу). В окне можно задать три основных параметра анимации: начальное значение FRAME, конечное значение FRAME и частоту смены кадров.

Затем следует выделить пунктирными черными линиями нужный фрагмент изображения и, нажав кнопку Animate, приступить к созданию последовательности анимационных кадров. При этом кадры будут видны в специальной зоне просмотра окна Animate, а под этой зоной можно наблюдать изменение переменной FRAME. В зону выделения могут попадать и другие объекты, например формулы или текстовые комментарии. В этом случае они тоже будут видны при проигрывании анимационного видеоролика.

С помощью кнопки Option можно выбрать тип сжатия видеофайлов и систему работы с ними. Кроме Microsoft Video 1, 1 возможна работа и с рядом других видеосистем, разумеется, если они были проинсталлированы. Чем больше конечное значение FRAME и выше частота кадров, тем более плавно происходит считывание, но увеличивается объем AVI-файлов.

По окончании процесса создания серии кадров анимационного видеоролика появится проигрыватель анимационных кадров (см. рис. 4. 5). Запустив его кнопкой пуска, имеющей вид треугольника, можно наблюдать изменение графика во времени.

Используя клавишу Save As..., можно вызвать стандартное окно записи файлов на диск. В этом окне можно найти папку, в которую будет помещен записываемый файл. Файл записывается с расширением. avi, принятым для файлов программной видеосистемы Microsoft Video for Windows. До записи в файл кадры видеоролика хранятся в оперативной памяти ПК, что ограничивает их число.

Рис. 4. 5 Просмотр анима-ционных кадров с помощью проигрывателя

При создании анимационных картинок надо отключить все опции автоматического масштабирования графиков и перейти к ручному заданию масштаба Автоматическое изменение масштаба подчас ведет к скачкообразному изменению размеров графика, хотя на деле он должен меняться без скачков, точнее говоря, с дискретностью, определяемой только изменением FRAME = 0, 1, 2, 3 и т д.

4. 6. Вызов проигрывателя (Playback)

Любой видеофайл с расширением avi (не обязательно с описанной выше ани-мационной графикой) может быть просмотрен с помощью проигрывателя, запускаемого опцией Playback (Воспроизвести) в подменю позиции главного меню Animation. При этом проигрыватель появляется на экране (см. рис. 4. 6).

Рис. 4. 6 Проигрыватель видеофайлов Playback

Проигрыватель управляется всего двумя кнопками. Первая (с пиктограммой треугольника) запускает проигрыватель. Однако для воспроизведения какого-либо видеоклипа его файл должен быть загружен. Для загрузки файлов используется вторая кнопка. Она выводит на экран окно Open AVI для загрузки файлов с расширением. avi. Это окно показано на рис. 4. 6 под проигрывателем. Внизу окна проигрывателя расположен указатель текущего времени проигрывания в виде шкалы с бегунком. На рис. 4. 7 изображен проигрыватель в процессе просмотра анимационного графика, полученного выше и записанного под именем da1.

Рис. 4. 7 Проигрывание ранее записанного анимационного файла

Отметим два аспекта работы со средствами анимации. Первый аспект: в выделенную область анимации можно вводить как целиком графики, так и их части и даже формулы и надписи. Если выделенной области нет, то кнопка Animation неактивна.

Второй аспект более любопытен. Проигрыватель AVI-файлов способен проигрывать файлы, созданные иными мультимедиа-системами, причем со стереофоническим звуковым сопровождением. Рис. 4. 8 иллюстрирует такую возможность — на нем показан стоп-кадр из рекламного ролика фирмы Intel.

Проигрыватель обладает типовыми средствами управления: регулировкой размеров изображения громкости и скорости просмотра, диалоговым окном поиска AVI-файлов и т. д. Некоторые из них (например, регулятор громкости) появляются только в том случае, когда они необходимы.

Когда в проигрыватель загружен файл, активизация кнопки управления (вторая из двух) приводит к появлению на экране меню операций управления. Они перечислены ниже. View (Вид) — управление размером окна просмотра;

Volume (Громкость) — управление громкостью (если AVI-файл содержит звук);

Рис. 4. 8 Просмотр видеоклипа со звуковым сопровождением

Рис. 4. 9 Вид проигрывателя с меню его опций

Speed (Скорость) — управление скоростью проигрыва ния, Open (Открыть) — вывод стандартного диалогового окна

загрузки AVI-файлов, Close (Закрыть) — закрытие текущего окна, Copy (Копировать) — копирование в буфер обмена, Configure... [Ctrl+ D] (Настройка) — включение опций конфигурации, Command (Команда) — управление из командной строки Операция View (Вид) содержит меню из трех команд

Half Size [Alt+ 2] (Половинный размер) — уменьшение окна просмотра вдвое;

Normal Size [Ctrl+ 1] (Обычный размер) — установка нормального размера окна;

Double Size [Ctrl+ 2] (Двойной размер) — увеличение размера окна вдвое.

На рис. 4. 9 показан вид проигрывателя в половинном размере с выведенным меню управления им. В меню видны позиции с описанными выше опциями.

На рис. 4. 10 показано окно "Свойства видео", появляющееся при исполнении операции Configure... (Настройка). Это окно позволяет задать видеорежим Video Mode (В окне), т. е. обычный оконный Windows, и полноэкранный Full Screen (Во весь экран). При полноэкранном режиме изображение занимает весь экран.

Можно также задать увеличение размера экрана просмотра вдвое (опция Zoom). В нижней части диалогового окна помещается окно информации о проигрываемом файле. Кнопки ОК, Отмена и Применить служат соответственно для фиксации изменений опций, отказа от изменений и установки опций по умолчанию.

Рис. 4. 10 Вид проигрывателя с окном "Свойства видео'

Применение проигрывателя заметно облегчает построение эффектных обучающих программ, и самоучитель Tutorial системы является наглядным тому свидетельством. В частности, можно готовить видеоролики о работе с самой системой. К сожалению, AVI-файлы требуют под их хранение весьма большого объема памяти на жестком диске, так что такие видеоролики приходится делать довольно короткими.


Глава 5 Работа со вставками

5. 1. Подменю позиции Insert (Вставка) главного меню

Установка любого объекта в окно редактирования называется вставкой MathCAD реализует различные механизмы вставки — от просто вывода шаблона объекта до вставки объекта, созданного в другом приложении, через буфер обмена. В версии MathCAD 7 0 все виды вставок включены в новую позицию главного меню Insert (Вставка).

При активизации этой позиции появляется подменю со следующими операциями:

Graph (Графика) — вставка шаблонов графики, Matrix... [Ctrl+ M] (Матрица) — вставка шаблонов матриц и векторов, Function... [Ctrl+ F] (Функция) — вставка шаблонов встроенных функций, Unit... [Ctrl+ U] (Единицы) — вставка единиц измерений размерных величин;

Picture [Ctrl+ T] (Рисунок) — вставка шаблона импортируемого рисунка;

Math Region — вставка в текстовую область (Математическая область) шаблона математической области;

Text Region (Текстовая область) — вставка текстовой области;

Page Break (Разрыв страницы) — вставка линии разрыва страницы;

Hyperlink (Гиперссылка) — вставка гиперссылки;

Reference... (Ссылка) — вставка обращения к заданному файлу активизацией кнопки,

Component... (Компонент) — вставка других компонентов системы, Object... (Объект) — вставка объекта с установлением динамической связи с порождающим его приложением.

Вид подменю позиции Insert главного меню показан на рис. 5. 1. Для создания графиков в системе MathCAD имеется программный графический процессор. Основное внимание при его разработке было уделено обеспечению простоты задания графиков и их модификации с помощью соответствующих опций. Процессор позволяет строить самые разные графики, например в декартовой и полярной системах координат, трехмерные поверхности, графики уровней и т д

Для построения графиков используются шаблоны Их перечень содержит подменю Graph (Графика) в позиции Insert (Включение) главного меню Большинство параметров графического процессора, необходимых для построения графиков, по умолчанию задается автоматически Поэтому для начального построения графика того или иного вида достаточно задать тип графика В подменю Graph содержится список из семи основных типов графиков. Они позволяют выполнить следующие действия X-Y Plot® (Декартов — создать шаблон двумерного графика график) в декартовой системе координат,

Рис. 5. 1 Экран системы с открытым подменю Insert

Polar Plot [Ctrl+ 7] — создать шаблон графика в полярной системе (Полярный график) координат, Surface Plot [Ctrl+ 2] — создать шаблон для построения трехмерного (График поверхности) графика, Contour Plot [Ctrl+ 5] — создать шаблон для контурного графика (Карта линий уровня) трехмерной поверхности, 3D Scatter Plot создать шаблон для графика в виде точек (Точечный график) (фигур) в трехмерном пространстве, 3D Bar Chart (Трехмерная создать шаблон для изображения в виде гистограмма) совокупности столбиков в трехмерном про странстве, Vector Field Plot — создать шаблон для графика векторного (Векторное поле) поля на плоскости

Вид окна системы с подменю Insert Graph показан на рис 5. 1. В этом подменю видны команды создания шаблонов указанных выше типов графиков В окне редактирования показаны также два одинаковых графика, но в разных местах и разного размера

5. 2. Установка шаблона двумерных графиков (X-Y Plot @)

Графики в системе MathCAD могут иметь различные размеры и перемещаться в окне редактирования документа. Для наиболее распространенных графиков в декартовой и в полярной системах координат в MathCAD предусмотрен упрощенный и очень удобный способ построения графиков без предварительного задания функции и ранжирования независимой переменной.

Именно так построены графики на рис 5 1 Для упрощенного построения двумерных графиков некоторой функции f (x) надо вывести их шаблон, по вертикали указать эту функцию, а по горизонтали — независимую переменную х. Таким образом можно строить на одном рисунке и графики многих функций, просто опишите их у вертикальной оси, используя запятые для разделения описаний функций. Графики будут построены линиями разного типа и цвета.

Можно вначале записать функцию, а затем вывести шаблон графика;

функция окажется записанной у вертикальной оси, и останется только указать независимую переменную у горизонтальной оси. Такой простой способ наверняка порадует начинающих пользователей, плохо сознающих (на первых порах), что графики в MathCAD всегда строятся по векторам и матрицам их отдельных точек. При указанном упрощенном способе построения графиков они строятся при изменении независимой переменной от -10 до+ 10. В дальнейшем операцией форматирования этот диапазон и все иные данные графиков можно изменить (это называют изменением формата).

Для вывода шаблона двумерной графики в декартовой системе координат служит операция X-Y Plot® (декартов график). Она выводит в текущее положение курсора шаблон графиков 2D-rana или графиков в декартовых координатах. Напоминаем, что это обычный график на плоскости с воображаемыми (или действительно нарисованными) осями Х (горизонтальная) и Y (вертикальная), расположенными под прямым углом друг к другу.

Каждая точка декартова графика характеризуется своими координатами х и у=f(х), где х — абсцисса точки, а у — ее ордината. Точки соединяются друг с другом разнообразными линиями (сплошной, пунктирной и т. д.). Могут быть показаны и исходные (узловые) точки графика в виде жирных точек, квадратиков, кружков и т. д.; возможно и построение на одном рисунке графиков нескольких функций.

Перед применением этой команды необходимо определить функции, графики которых должны строиться, и изменение их аргумента (например, х) в заданном интервале. Впрочем, простые функции, если они в дальнейшем не используются, можно указать в шаблоне самого графика. Далее надо приблизительно наметить место левого верхнего угла графика и установить на него графический курсор. Затем следует ввести команду (используя соответствующую позицию меню или нажав клавиши, задающие символ @).

Рис. 5. 2 показывает задание трех функций и вывод шаблона графика (внизу).

Незаполненный шаблон графика представляет собою большой пустой прямоугольник с шаблонами данных в виде темных маленьких прямоугольников, расположенных около осей абсцисс и ординат будущего графика. В средние шаблоны данных надо поместить имя переменной (х у оси абсцисс) и задать формулы для функций (у у оси ординат). Если строятся графики нескольких функций в одном шаблоне, то для их разделения следует использовать запятые. Чтобы перемещать по шаблонам метку их выбора и выделения, следует использовать клавиши перемещения курсора. Можно выбрать шаблон данных и прямо с помощью мыши, указав нужный шаблон ее курсором и нажав левую клавишу мыши.

Крайние шаблоны данных служат для указания предельных значений абсцисс и ординат, т. е. они задают масштабы графика. Если оставить эти шаблоны незаполненными, то масштабы по осям графика будут устанавливаться автоматически. Недостаток тут в том, что масштабы, скорее всего, окажутся

Рис. 5. 2 Задание трех функций и вывод незаполненного шаблона графика

не вполне удобными (например, будут представлены неокругленными десятичными цифрами), для представления целиком всего графика в максимальном размере. Рекомендуется всегда вначале использовать автоматическое масштабирование и лишь затем изменять масштабы на более подходящие.

Чтобы произошло построение графика в автоматическом режиме вычислений, достаточно вывести курсор за пределы графического объекта. В ручном режиме вычислений для этого нужно еще нажать клавишу F9. При построении область графика во время вычислений ординат функций покрывается зеленой штриховкой, затем графики функций появляются в шаблоне (см. рис. 5. 3).

Если что-либо в построенном графике не вполне удовлетворяет пользователя, можно применить описанные ниже операции изменения его формата.

Рис. 5. 3 Пример построения двух графиков трех функций

Эти операции позволяют изменять заданные по умолчанию параметры графиков. Заметим, что окно задания форматов графиков появляется, если выделить график и, установив в его области курсор мыши, дважды быстро щелкнуть ее левой клавишей.

Графики можно перемещать по полю окна документа и изменять их размеры Для этого надо выделить график (он обводится сплошной линией) Проще всего это можно сделать так. поместить курсор мыши в область графика и щелкнуть один раз левой клавишей В правой части рис 5 3 показан тот же график после увеличения его размеров и завершения редактирования формата

Можно поступить и по-иному — поместить курсор мыши вблизи графика и, нажав ее левую клавишу, перемещать мышь в направлении графика наискосок Курсор начнет вычерчивать область выделения в виде прямоугольника из черных пунктирных линий Как только эта область захватит график и он тоже окажется обведен пунктирным прямоугольником, надо отпустить клавишу мыши График будет выделен

Стоит поместить графический курсор вблизи линий рамки, выделяющей область графика, при этом изображение курсора изменится: вмесго маленького красного крестика оно приобретет вид ладони. Если теперь нажать левую клавишу мыши и начать ее перемещать, то весь шаблон графика будет перемещаться по окну Установите его в нужное место и отпустите левую клавишу мыши. Рисунок окажется на новом месте.

Для изменения размеров рисунка нужно точно подвести графический курсор к специальным шаблонам на рамке, выделяющей рисунок Эти шаблоны имеют вид маленьких черных прямоугольников. Изображение курсора при этом заменяется на двустороннюю стрелку, указывающую, в каких направлениях можно растягивать рисунок. Нажав левую клавишу мыши, можно захватить соответствующую сторону или угол шаблона рисунка и, не отпуская клавишу, начать растягивать или сжимать шаблон. После того как клавиша будет отпущена, рисунок перестроится в новых размерах. Сжимать и растягивать графики можно в вертикальном, горизонтальном и диагональном направлениях

При любом виде выделения рисунка нажатие клавиши F3 стирает рисунок в окне и переносит его в буфер обмена. Переместив курсор, установленный на месте левого верхнего окна бывшего графика, в новое место и нажав клавишу F4, можно перенести рисунок на это место

Особо следует отметить возможность помещения текстовых комментариев в область графиков. Для этого вначале надо подготовить их в стороне от графика и выделить пунктирной линией Затем поместив курсор мыши в область текста, надо нажать ее левую клавишу и перенести текстовый блок в область рисунка. Установив текст в нужном месте, отпустите клавишу мыши Если при этих операциях или снятии выделений нанесенные на рисунок надписи исчезают, воспользуйтесь командой восстановления изображения на экране — Ctrl+ R

Этим методом не стоит злоупотреблять, так как надписи сверху, снизу и сбоку графиков (в пределах области их определения) можно создавать с по мощью соответствующих средств задания формата графиков Они будут описаны несколько позже Такие надписи никогда не исчезают Чтобы надписи были на русском языке, следует использовать соответствующие наборы шрифтов. Поскольку шрифт в процессе ввода текста менять нельзя, есть определенные трудности с созданием таких надписей на русском языке

5. 3. Установка шаблона графиков в полярной системе координат (Polar Plot)

В полярной системе координат каждая точка задается углом W, радиусом и длиной радиус-вектора R (W). График функции обычно строится при изменении угла W в определенных пределах, чаще всего от 0 до 2р. Опция Polar Plot (Полярный график) выводит шаблон таких графиков, показанный на рис. 5. 4. Этот шаблон имеет форму окружности и содержит шаблоны данных.

Рис. 5. 4 Шаблон графиков типа Polar Plot

Перед построением таких графиков надо задать изменение ранжированной переменной W (или с другим именем) в заданных пределах. После вывода шаблона следует ввести W в шаблон снизу и функцию R (W) в шаблон справа, а также указать нижний предел изменения длины радиус-вектора R (W) — Rmin и шаблоне справа внизу и верхний предел — Rmax в шаблоне справа и сверху.

На рис. 5. 5 показано построение графиков в полярной системе координат:

слева — по описанному шаблону, справа — с помощью шаблона обычной двумерной графики X-Y Plot. Сейчас R (W) =i, так что в обоих случаях строится окружность (если дисплей имеет различные масштабы по вертикали и горизонтали, окружность превратится в эллипс).

При построении графика в полярной системе координат с использованием шаблона обычного 1рафика в прямоугольной системе координат надо по оси Х установить R (W) -cos (W), а по оси Y — R (W) -sin (W). Построение графиков в полярной системе координат с помощью шаблона обычной графики X-Y Plot в ряде случаев даже более предпочтительно, поскольку в математической литературе графики параметрически заданных функций чаще всего строятся именно таким образом. При задании даже простых функций R (W) графики в полярной системе координат могут иметь весьма причудливый вид.

Надо также отметить новую возможность прямого построения графиков функций в полярной системе координат, без определения диапазона изменения независимой переменной W. Пример такого построения дан на рис. 5. 6.

Рис. 5. 5 Графики функций в полярной системе координат

Рис. 5. 6 Пример прямого построения графика параметрически заданной функции

При прямом построении графика достаточно просто заполнить ее шаблон. Саму функцию надо описать ее уравнениями, которые вписываются на места шаблонов по осям Х и Y. Стоит вывести графический курсор мыши из области графика, как последний будет построен.

5. 4. Установка шаблона трехмерных графиков (Surface Plot)

Эта операция служит для построения трехмерной поверхности Z (X, Y), предварительно представленной матрицей М ординат Z. При этом выводится шаблон графика, левый верхний угол которого помещается в место расположения курсора. Шаблон, в свою очередь, содержит единственный шаблон данных — темный прямоугольник у левого нижнего угла основного шаблона. В него надо занести имя матрицы со значениями ординат ЗD-поверхности. Разумеется, прежде чем строить график ЗD-поверхности, нужно ее определить математически. На рис. 5. 7 показан пример такого определения.

Рис. 5. 7 Задание и построение трехмерной поверхности без удаления невидимых линий

Наглядность представления трехмерных поверхностей зависит от множества факторов: масштаба построений, углов поворота фигуры относительно осей, применения алгоритма удаления невидимых линий или отказа от него, использования функциональной закраски и т. д. Для изменения этих параметров следует использовать операцию установки формата графика (см. далее). На рис. 5. 8 показано то же построение, что и описанное выше, но с применением алгоритма удаления невидимых линий.

Рис. 5. 8 Задание и построение трехмерной поверхности с удалением невидимых линий

Нетрудно заметить, что применение алгоритма удаления невидимых линий делает рисунок трехмерной поверхности намного более наглядным. Дальнейшее повышение наглядности восприятия 3D-поверхностей обеспечивается применением функциональной закраски. По существу, она дает дополнительную информацию о третьем измерении; в нашем случае, чем ниже расположена поверхность фигуры, тем она темнее (см. рис. 5. 9).

Рис. 5. 9 Задание и построение трехмерной поверхности с функциональной закраской

С помощью описываемых ниже команд изменения формата можно получить множество разновидностей 3D-графики. В частности, возможен вывод координатных осей. "параллелепипеда", обрамляющего фигуру, и иных деталей подобных графиков, например титульных надписей.

Поскольку график строится на основе матрицы, содержащей только координаты высот фигуры, то истинные масштабы по осям Х и Y не известны и на рисунках не проставляются. Могут, впрочем, выводиться просто порядковые номера элементов матриц в заданном направлении (по Х и по Y). Надо также следить за тем, как сформировать векторы Х и Y, с тем чтобы фигура выглядела естественно и занимала нужное место в пространстве. Все это несколько затрудняет быстрое создание графиков трехмерных поверхностей нужного вида.

Большие возможности дает несколько иной способ задания трехмерных поверхностей — в параметрическом виде. При этом приходится формировать три матрицы — X, Y и Z — и указывать их в шаблоне в виде X, Y, Z. В Главе 14 (в разделе 14. 1) дан ряд примеров такого задания трехмерных поверхностей.

5. 5. Установка шаблона контурных ЗD-графиков (Contour Plot)

Еще один широко распространенный тип графиков для представления трехмерных поверхностей — график из линий равного уровня. Такие графики широко применяются, например, в картографии. Операция Contour Plot (Карта линий уровня) служит для построения шаблона таких графиков. Он подобен шаблону, описанному в предыдущем разделе (кстати, как и предшествующие выводу шаблона действия по созданию матрицы М).

На рис. 5. 10 показано построение контурного графика в виде линий равного уровня. Численные значения уровней для разных кривых графика представлены рядом цифр.

Рис. 5. 10 Контурный график 3D-поверхности

Такое представление графика удобно для количественных оценок. Однако в большинстве случаев указание количественных значений уровней загромождает график. Возможно задание высот 3D-поверхности с помощью функциональной окраски. Тогда можно выполнить построение этой поверхности в виде распределения плотности окраски (см. рис. 5. 11).

При использовании цветной функциональной окраски описанные выше типы графиков выглядят весьма впечатляюще. Но неплохие результаты получаются и при задании монохромных графиков. В этом случае гамма цветов заменяется просто разной плотностью серого цвета, от ярко-белого до черного.

Иногда контурные графики получаются даже более информативными, чем просто трехмерные поверхности. У последних нередко одни части поверхности закрывают другие. Например, пик на переднем плане может закрыть меньшие пики или впадины на заднем плане. У контурных графиков такого эффекта нет, и на них легко обнаруживаются все пики и впадины, правда, при достаточно большом числе линий равного уровня и малом расстоянии между ними.

Рис. 5. 11 График распределения плотности ЗD-поверхности

5. 6. Установка шаблона точечного ЗD-графика (3D Scatter Plot)

Нередко трехмерные поверхности представляют в виде находящихся в этом пространстве точек, кружочков или иных фигур. Каждая из этих фигур несет информацию о геометрическом положении ее центра в трехмерном пространстве. Такой график создается операцией 3D Scatter Plot (Точечный график) — см. рис. 5. 12.

Размеры точек, их вид и окраску можно изменять с помощью команды изменения формата ЗD-графика. Обычно достаточно наглядными являются графики с малыми фигурами, расположенными внутри параллелепипеда Однако в целом наглядность таких графиков не очень высока. Их стоит использовать не для показа трехмерных поверхностей, а лишь для демонстрации расположения на них небольшого числа объектов. Объекты могут быть не только в виде точек, но и иных фигур, крестиков, окружностей, квадратов и др

Рис. 5. 12 График ЗD-поверхности в виде разбросанных в пространстве точек

5. 7. Установка шаблона SD-графиков в виде гистограммы (3D Bar Chart)

Весьма pacпpocтраненной формой представления ЗD-поверхностей является также представление ее рядом трехмерных столбиков, высота которых определяется значением координаты z (x, у) Для этого используется операция 3D Bar Chart (Трехмерная гистограмма) — см рис 513

Рис. 5. 13 Представление ЗD-поверхности трехмерными столбиками

Подобные графики широко применяются при анализе сложных статистических данных, например представленных тремя независимыми переменными Обычно их построение считается высшим пилотажем, но MathCAD превращает этот процесс в обыденную операцию При этом, как видно из рис. 513, достаточно наглядным является представление столбиками и сложных трехмерных поверхностей

5. 8. Установка шаблона ЗD-графиков с векторным представлением (Vector Field Plot)

Еще один вид представления ЗD-поверхности векторное представление Оно задается построением коротких стрелочек векторов Стрелка обращена острием в сторону нарастания высоты поверхности, а плотность расположения стрелок зависит от скорости этого нарастания На рис 514 показан пример подобного графика Для его построения используется команда Field Plot (Векторное поле)

Рис. 5. 14 Представление 3D-поверхности векторами

Эти графики применяются редко из-за трудностей построения множества стрелок, для каждой из которых надо рассчитывать градиент поля Но MathCAD дает удобную возможность широкого применения этого вида графиков Он особенно подходит для представления электромагнитных, тепловых, гравитационных и иных полей

5. 9. Установка шаблона матриц и векторов (Matrix...)

Операция Matrix... (Матрицы) обеспечивает задание векторов или матриц Как известно, матрица является заданным своим именем объектом в виде массива данных MathCAD использует одномерные массивы — векторы и двумерные — собственно матрицы

Матрица характеризуется числом строк (Rows) и числом столбцов (Columns). Таким образом, число элементов матрицы или ее размерность равны Rows x Columns Элементами матриц могут быть числа, константы, пере менные и даже математические выражения Соответственно матрицы могут быть численными и символьными

Если использовать операцию Matrix..., то в текущем окне появится не большое окошко, позволяющее задать размерность вектора или матрицы (см рис 515 справа) Для этого нужно указать число строк Rows и число сголбцов Columns Нажав клавишу Enter или указав курсором мыши на изображение клавиши Insert (Вставить) в окошке, можно вывести шаблон матрицы или вектора (вектор имеет один из параметров размерности, равный 1)

Шаблон содержит обрамляющие скобки и темные маленькие прямоугольники, обозначающие места ввода значений (числовых или символьных) для элементов вектора или матрицы. Один из прямоугольников можно сделать активным (отметив его курсором мыши). При этом он заключается в уголок. Это указывает на то, что в него будут вводиться значения соответствующего элемента. С помощью клавиш перемещения курсора можно по горизонтали пробежаться по всем прямоугольникам и ввести все элементы вектора или матрицы.

Рис. 5. 15 Вывод шаблонов вектора и матрицы и их заполнение

Пока идет ввод элементов векторов или матриц, пустые шаблоны отображаются без каких-либо комментариев. Однако, если закончить ввод до полного заполнения шаблонов, система выведет сообщение об ошибке — незаполненный шаблон приобретет красный цвет. Вывод несуществующей матрицы или ошибочное указание ее индексов также отображается красным цветом.

Если использовать операцию Insert (Включение) при уже выведенном шаблоне матрицы, то матрица расширяется и ее размер увеличивается. Кнопка Delete (Стирание) позволяет убрать расширение матрицы, вычеркнув из нее строку или столбец.

Каждый элемент матрицы характеризуется индексированной переменной, и его положение в матрице обозначается двумя индексами: один указывает номер строки, другой — номер столбца. Для набора индексированной переменной прежде надо ввести имя переменной, а затем перейти к набору индексов нажатием клавиши, вводящей символ]. Прежде указывается индекс строки, а затем через запятую индекс столбца. Примеры вывода индексированных переменных (элементов матрицы М) также даны на рис. 5. 14.

Вырожденная в одну строку или в один столбец матрица является вектором. Его элементы — индексированные переменные с одним индексом. Нижняя граница индексов задается значением системной переменной ORIGIN. Обычно ее значение задают равным 0 или 1.

5. 10. Вывод функций (Choose function...)

Как правило, при подготовке документов имена функций пользователь вводи г самостоятельно. Поскольку функций, встроенных в систему, очень много (около 250), запомнить их все довольно сложно. Это и не нужно, ведь в MathCAD есть средство для ввода имен функций из их общего списка (каталога).

Операция Choose function... (Вставить функцию) выполняет следующие действия:

• выводит полный перечень встроенных в ядро системы функций;

• кратко поясняет назначение каждой функции;

• позволяет корректно ввести шаблон с именем функции в место расположения курсора, установленного в математическом выражении.

Для реализации этих возможностей команда выводит диалоговое окно, показанное на рис. 5. 16.

Рис. 5. 16 Диалоговое окно встроенных функций

Обратите внимание на то, что запись каждой функции дается в полной синтаксической форме. Это исключает довольно частые ошибки в формулах, вызванные неточностями записи функций. На месте параметров в выведенной функции имеются шаблоны данных для их ввода. Приведенное окно дает полный список встроенных в систему MathCAD функций и является хорошим средством для ознакомления с ними.

5. 11. Установка единиц измерения размерных величин (Units...)

Операция Units... (Единицы) служит для установки единиц измерения размерных величин в заданной системе. Размерные величины широко используются в физических и в научно-технических расчетах.

При использовании операции Units... появляется окно, имеющее список размерных величин Dimension и относящихся к ним единиц измерения Unit. В окне есть также указание на то, какая система единиц System используется. Вид окна показан на рис. 5. 17. По умолчанию используется система единиц SI.

Рис. 5. 17 Диалоговое окно вставки единиц измерения размерных величин

Операция Options... в подменю Math главного меню служит для смены используемой системы единиц

Окно вставки единиц измерения размерных величин имеет три кнопки Insert — вставляет выбранную единицу измерения с сохранением окна, OK — вставляет выбранную единицу измерения и закрывает окно, Cancel — отменяет операцию вставки размерных величин

При работе с размерными величинами MathCAD производит необходимые преобразования и выводит числовые значения величин вместе с единицами их измерения

5. 12. Установка шаблона импортируемого рисунка (Picture)

Ценной возможностью систем MathCAD является импорт графических файлов, создаваемых другими графическими системами, например графическими редакторами класса PaintBrush, системами AutoCAD, PCAD и др Это позво ляет включать в документы MathCAD высококачественные графические иллюстрации, что крайне необходимо при создании электронных книг

Перед импортом файла надо подготовить его в соответствующем прило жении и записать в виде файла в текущий каталог работы Файл может иметь расширение. bmp (BitMap) Воспринимаются и файлы с расширением msc из прежних версий системы MathCAD

Для импорта файла с рисунком достаточно выполнить операцию Picture (Рисунок) — появится шаблон рисунка с единственным маленьким шабло ном в левом нижнем углу В нем надо записать имя файла и, отведя курсор мыши в сторону от рисунка, щелкнуть ее левой клавишей На рис 518 показано, как рисунок из файла Columbia msc с созданным с помощью системы AutoCAD изображением космического челнока встраивается в документ системы MathCAD

Рис. 5. 18 Пример импорта графического изображения

Импортируемый рисунок можно, как и любой другой, перемещать с помощью мыши по экрану, растягивать его, выделять и помещать в буфер обмена и т. д. Заглядывая вперед, отметим, что можно перенести в текст документов и множество рисунков из электронного справочника системы. Это заметно облегчает подготовку в среде MathCAD хорошо иллюстрированных учебных программ.

Помимо импорта рисунков из файлов система MathCAD допускает копирование рисунков из буфера обмена системы Windows. Для этого надо ввести рисунок в этот буфер (например, используя графический редактор Windows Paint Brush или операции Copy либо Cut прикладных Windows-программ). Затем, перейдя к работе с системой MathCAD, нужно установить курсор на место верхнего левого угла будущего рисунка и выполнить операцию Paste в позиции Edit главного меню (или нажать клавишу F4).

5. 13. Вставка текстовой области (Text Region...)

Текстовые области вставляются в документы MathCAD для создания текстовых комментариев. В MathCAD 7. 0 PRO оставлена операция вставки расширяемой текстовой области — Text Region... (Текстовая область). Перед ее применением нужно установить курсор мыши (красный крест) в то место окна редактирования, откуда должен начинаться текст — это левый верхний угол будущей текстовой области. После этого исполняется данная операция и на месте курсора появляется прямоугольник (шаблон текстовой области) с текстовым маркером внутри него — см. рис. 5. 19.

Рис. 5. 19 Операции ввода текста и математических символов в текстовые области

Перед вводом русскоязычного текста рекомендуется выбрать подходящий шрифт. У многих русскоязычных (кириллических) шрифтов в названии имеется слово "Суг". Если в начале ввода выяснилось, что введена буква не русского алфавита, то при попытке ее стирания шаблон текстовой области исчезает и его придется выводить снова.

5. 14. Вставка в текстовую область математических формул (Math Region...)

В текстовые области нередко надо вставлять математические формулы. Такие объекты не должны быть исполняемыми в отличие от формул в формульных блоках. Эти формулы в ряде случаев (например, при символьных операциях) могут модифицироваться.

Для вставки в текстовые блоки математических формул надо выполнить операцию Math Region... (Математическая область). Кстати, эта операция доступна только в том случае, когда текстовый маркер установлен в нужное место текстовой области. Тогда выполнение операции Math Region... приведет к появлению в текстовой области шаблона в виде маленького черного квадрата. В этом квадрате можно задавать математические формулы, в том числе используя наборные панели с математическими символами (см. пример на рис. 5. 19).

5. 15. Вставка линии разрыва страницы (Page Break)

Большие документы нередко занимают много страниц. Бывает крайне нежелательно, когда при печати таких документов какой-нибудь график или таблица обрываются линией раздела страниц. Недопустимы и ситуации, когда заголовок раздела оказывается на одной странице, а непосредственно сам раздел начинается на другой.

Для предотвращения таких ситуаций желательно прервать страницу в заданном месте. Для этого служит операция Page Break (Разрыв страницы), вставляющая в документ горизонтальную линию разрыва страницы. На рис. 5. 19 эта линия показана внизу окна редактирования.

5. 16. Вставка гиперссылки (Hyperlink)

Гиперссылки — важный элемент создания сложных документов, обучающих программ и справочных систем. Напомним, что гиперссылка в системе MathCAD представляется подчеркнутым словом, при активизации которого вызывается связанный с ней документ (файл).

Для создания гиперссылки должен быть создан текстовый блок, в котором нужно выделить некоторый фрагмент текста, чаще всего какое-либо слово. Начало создания гиперссылки показано на рис. 5. 20.

После этого надо выполнить операцию Hyperlink (Гиперссылка) с опцией New (Новая) для вывода диалогового окна задания гиперссылки Оно также показано на рис 5. 20 под текстовым блоком В этом окне следует указать в верхнем свободном поле полное имя файла, который будет вызываться данной гиперссылкой В другом поле можно ввести текст сообщения, которое будет появляться в строке состояния (внизу экрана системы) при установке курсора мыши на гиперссылку.

Обычно точное имя файла (с полным путем доступа к нему) запомнить трудно Поэтому, активизируя клавишу Browse (Обзор) окна задания гиперссылки, можно вызвать окно поиска файла — см. рис. 521.

После нахождения файла его полное имя появляется в верхнем поле окна гиперссылки, теперь в нижнее поле можно ввести текст сообщения (см. рис. 5. 22).

Рис. 5. 20 Подготовка к заданию гиперссылки

Рис. 5. 21 Поиск файла, который связывается с гипер-ссылкой

Для завершения создания гиперссылки достаточно нажать кнопку ОК окна создания гиперссылки. При отказе от ее создания надо нажать кнопку Cancel.

Если установить курсор мыши на гиперссылку, то в строке состояния (внизу экрана системы) появится сообщение, которое было задано ранее (оно видно на рис. 5. 23). Такие сообщения очень полезны при большом числе ги-перссылок, поскольку позволяют судить об их назначении.

Для осуществления гиперссылки достаточно установить курсор мыши на подчеркнутое слово, гиперссылку, и быстро дважды щелкнуть левой клавишей мыши. Текстовое сообщение, в котором имеется гиперссылка, станет выделенным, и на экране появится вызываемый гиперссылкой документ — см. рис. 5. 24.

Рис. 5. 22 Завершение создания гиперссылки

Рис. 5. 23 Вид экрана после задания гиперссылки

После ознакомления с вызываемым документом его можно закрыть. До этого возможно редактирование документа. Объектами гиперссылок Могут быть не только документы. Можно, к примеру, дать гиперссылку на рисунок, создаваемый графическим редактором, на электронную таблицу и т. д. Все это позволяет готовить вполне современные и удобные в применении документы не только расчетного, но и информационно-справочного и учебного характера.

Гиперссылку можно убрать с помощью опции Erase (Уничтожить), а также отредактировать, используя опцию Edit... (Редактировать), выводящую окно редактирования гиперссылки.

Рис. 5. 24 Использование гиперссылки

5. 17. Вставка обращения к заданному файлу активизацией кнопки (Reference...)

Есть еще один удобный способ обращения к заданным файлам путем создания ассоциированного с ними графического объекта — использование кнопок Для этого существует операция Reference... (Ссылка) Она выводит окно задания такой ссылки, показанное на рис 5 25

В этом окне надо либо явно указать полное имя файла (на рис 5 25 это относится к файлу Demo1 mcd), пибо найти его, воспользовавшись кнопкой вызова окна просмотра Browse Нажав далее кнопку ОК, можно вывести по

Рис. 5. 25 Задание гиперссылки в виде кнопки, ассоциированной с файлом

месту расположения курсора мыши кнопку гиперссылки с указанным после нее именем вызываемого ею файла (вид этой кнопки показан на рис. 5. 25 под окном задания гиперссылки). Активизация кнопки ОК ведет к появлению окна с вызываемым документом (см. рис. 5. 26).

Рис. 5. 26 Использование гиперссылки в виде кнопки

Два вида гиперссылок, реализованных в системе MathCAD, расширяют возможности подготовки сложных документов, а возможности использования гиперссылок делают более разнообразными.

5. 18. Связь с другими компонентами системы (Component...)

Одной из главных отличительных особенностей системы MathCAD 7. 0 PRO является возможность подключения к ней других математических систем — компонентов и использование входящих в них средств и функций, что намного увеличивает возможности объединенной вычислительной системы.

Для подключения к MathCAD новых компонентов используется операция Component... (Компоненты), выводящая диалоговое окно с перечнем компонентов, с которыми можно общаться после установления связи с тем или иным компонентом. Это окно показано на рис. 5. 27.

В этом окне можно выбрать одну из систем и подключить ее к MathCAD. После этого, нажав кнопку Finish (Конец), можно наблюдать загрузку системы. Работу с расширенной системой мы опишем позже, после более детального знакомства с собственными (и достаточно обширными) возможностями самой системы MathCAD.

5. 19. Вставка объектов (Object...)

Вставка объектов — пожалуй, самая мощная возможность системы MathCAD. Впрочем, она присуща большинству серьезных приложений для операционных систем класса Windows 95. Благодаря этой возможности легко устанавливается связь с самыми различными приложениями этой операционной системы, в том числе с довольно далекими от математических систем, такими, например, как текстовый процессор Word или база данных Acess из офисного пакета Microsoft Office 95.

Рис. 5. 27 Окно связи с другими компонентами системы MathCAD

Для реализации вставки объектов из других приложений надо выполнить операцию Object... (Объект). Она выводит окно с перечнем приложений, с которыми может осуществляться объектная связь (см. рис. 5. 28).

Рис. 5. 28 Окно объектной связи с приложениями

После выбора приложения для объектной связи с MathCAD на месте курсора мыши появляется пиктограмма с изображением объекта. Вид этой пиктограммы можно менять, если активизировать кнопку Смена значка... При этом появляется окно, в котором можно выбрать подходящий значок (пиктограмму), устраивающий пользователя (см. рис. 5. 29).

На рис. 5. 30 показан случай, когда в качестве объекта для вставки используются документы текстового редактора Word 95 из пакета Microsoft Office 95. Пиктограмма этого объекта показана в левом верхнем углу окна редактирования текущего документа.

Рис. 5. 29 Выбор значка для обозначения вставляемого объекта

Рис. 5. 30 Установление объектной связи с текстовым редактором Word 95

Если активизировать значок-пиктограмму, то появится окно текстового редактора Word 95, которое также показано на рис. 5. 30. В этом окне можно подготовить любой документ, и он в дальнейшем будет вызываться активизацией значка объекта.

Объекты для связи с MathCAD могут быть самыми разнообразными; это текстовые и графические данные, таблицы и записи из баз данных, музыкальные фрагменты, видеоклипы и т. д. По существу, этот способ связи позволяет свести воедино самые различные приложения и обеспечить между ними полноценный обмен данными.


Глава 6 Установки форматов объектов системы MathCAD

6. 1. Позиция Format главного меню

Под форматом объектов подразумевается некоторый набор их характеристик:

размеры изображения объекта на экране, размеры и стиль символов математических выражений и текстовых комментариев, установки цвета и т. д. Начинающие пользователи системы MathCAD, как правило, вполне удовлетворены всеми форматами, которые заданы по умолчанию. И это не случайно — форматы выбраны с учетом устоявшейся практики научно-технических вычислений и технических характеристик современных ПК.

Однако по мере освоения системы те или иные форматы нужно будет изменить. К примеру, пользователя может не удовлетворить точность представления дробных чисел всего тремя цифрами после запятой или отсутствие изображения осей на графике, либо, напротив, их присутствие. Может потребоваться изменение размеров математических символов в формулах или шрифтов в текстовых комментариях.

В соответствии с новой концепцией пользовательского интерфейса системы MathCAD 7. 0 PRO, ориентированной на стандартный Windows-интерфейс, все операции изменения формата сведены в подменю позиции Format (Форматирование) главного меню. В прежних версиях MathCAD операции форматирования были разбросаны по разным позициям главного меню.

Подменю Format (Формат) имеет следующие позиции:

Number... (Формат числа) — установка формата чисел;

Equation... (Формат выражений) — установка формата выражений;

Text... (Формат текста) — установка формата текста;

Paragraph... (Формат параграфа) — установка формата параграфа;

Style... (Формат стиля) — установка формата стиля;

Properties... (Свойства) — установка свойств;

Graph (Формат графиков) — установка формата графиков;

Color (Цвет) — установка цвета;

Separate Region — разделение областей (блоков);

(Разделение областей)

Align Region — задание расположения областей вывода

(Расположение областей) символьных вычислений;

Lock Region — создание закрытых (недоступных (Запирание областей) для редактирования) областей;

Header/Footer... (Колонтитулы) — создание колонтитулов.

Ниже рассмотрено действие всех этих операций.

6. 2. Установка формата чисел (Number...)

Операция Number... (Формат числа) выводит диалоговое окно (см. рис. 6. 1), сообщающее о формате числовых данных системы. Все имеющиеся в этом окне форматы могут быть изменены.

Рис. 6. 1 Окно для установки формата чисел

Это окно содержит три выделенные части В первой — Radix — устанавливается тип основания чисел Decimal (десятичное), Hex (шестнадцатиричное) или Octal (восьмеричное) Примеры вывода чисел в этих форматах даны на рис 6 1 Шестнадцатеричные числа отмечаются в конце символом "h", a восьмеричные — символом "о" Эти числа находят применение в основном для описания адресной системы компьютеров

Вторая часть Precision (точность) — задает погрешность вычислений в виде показателя степени -n для числа 10 в этой степени Задаются число отображаемых знаков Displayed (точность вывода), границы представления чисел в экспоненциальной форме Exponential Threshold (диапазон показателя), допустимая граница для комплексных чисел Complex Tolerance (комплексная точность) и допустимая граница для действительных чисел Zero Tolerance (точность нуля)

В третьей части — Imaginary (мнимая единица) — задается знак мнимой единицы для комплексных чисел 1 или J (напомним, что мнимая единица есть квадратный корень из -1) Комплексное число имеет представление вида

Z = а+ i * b,

где а = Re (Z) — действительная часть комплексного числа, a b = Im (Z) комплексная часть Z.

Если Re (Z)/Im (Z) >10n, то комплексное число Z выводится как действительное, а если Im (Z)/Re (Z) >10n, то число Z выводится как мнимое Значения п для этих представлений задает параметр Complex Tolerance Если действительное число больше числа 10 в степени п или меньше, чем 10 в степени -п, где п — значение параметра Exponencial Threshold, то число представляется в экспоненциальной форме Если значения чисел по модулю меньше указанных параметром Zero Tolerance, числа представляются в виде нулей Все это особенно важно при научно-технических расчетах, когда излишняя гоч-ность представления чисел ни к чему хорошему не ведет

С помощью диалогового окна можно сделать формат глобальным (Global) или локальным (Local) Последнее возможно, если соответствующее значение отмечено выделением Глобальный формат задает представление для всех числовых данных документа, а локальный — только для того блока, rде использовалась операция изменения формата

Для массивов чисел их вывод задается в виде матрицы, если поставить птичку" в прямоугольнике включения опции Display as Matrix (отображение в виде матрицы) Однако для больших массивов это может быть неприемлемо, так как такая матрица выходит за пределы экрана и даже страницы документа (см рис 6 2)

Рис. 6. 2 Представление большого массива чисел в виде матрицы

Рис. 6. 3 Представление большого массива в виде электронной таблицы

Если опция Display as Matrix отключена, то большие массивы отображаются как электронные таблицы (со слайдерами для просмотра всего массива, появляющимися при активизации ячейки таблицы) Такая форма представления показана на рис 6 3.

Отображение больших массивов в виде электронной таблицы, несомненно, более компактно и удобно Но оно не совсем соответствует традиционной матричной форме представления двумерных массивов, принятой в математике. Следует обратить внимание на то, что при выделении таблицы появляются затемненные графы, в которых видны индексы ячеек таблицы (элементов массива)

6. 3. Форматирование математических выражений (Equation...)

Математические выражения имеют довольно сложную структуру, они содержат переменные, константы, операторы и специальные знаки Все они могут иметь различный размер, чго иногда приводит к несоответствию вида этих объектов Чаще всего это связано с отказом от применения типовых устано вок MathCAD (по умолчанию) и неудачным форматированием математических выражений

Шрифты для математических символов привязаны к определенным их классам, например к числовым константам, переменным, надписям на графиках и т д Можно сказать, что они имеют определенные атрибуты Для переменных и надписей на графиках MathCAD по умолчанию использует шрифт Times Roman с размером 10 пунктов. Однако с помощью операции Equations... (Выражения) можно назначить для них, а также чисел и других символов в математических выражениях иной шрифт с иным размером Эта операция выводит диалоговое окно Format Equation, показанное на рис 6 4

Рис. 6. 4 Окно форматирования математических выражений

Это окно устанавливает группу объектов в математических выражениях, шрифтовое оформление которых подлежит модификации. К таким объектам относятся переменные (Variables), константы (Constant) и объекты пользователя (User N, где N — номер группы от 1 до 7).

Окно обеспечивает выбор шрифтового оформления для указанных выше объектов. При этом появляется окно с каталогом шрифтов и необходимыми для их задания опциями. На рис. 6. 5 приведен вид такого окна для выбора шрифта для переменных.

Рис. 6. 5 Окна выбора шрифтов для переменных

Параметры шрифтов устанавливаются раздельно для указанных выше объектов, но для всех подобных объектов в заданном документе остаются идентичными. Это позволяет выбрать стиль представления математических выражении, наиболее удобный для пользователя. Например, можно добиться приемлемого размера и стиля для всех составляющих математических выражений.

Следует отметить, что окно установки объектов можно активизировать и из окна выбора шрифтов, установив курсор мыши на маленький прямоугольник у правого верхнего угла этого окна и нажав левую клавишу мыши.

6. 4. Замена латинских букв на греческие (Ctrl+ G)

К специфическим операциям форматирования можно отнести замену латинских букв на греческие. Греческие буквы можно ввести сразу выбором одной из пиктограмм в палитре греческих букв. Однако для этого надо пользоваться мышью, что не всегда удобно.

Есть и второй, порою более быстрый путь ввода греческих букв: достаточно ввести ассоциированную с греческой буквой латинскую букву и нажать одновременно клавиши Ctrl и G. В результате латинская буква заменится греческой. На рис. 6. 6 показаны таблицы соответствия между латинскими и греческими буквами.

Рис. 6. 6 Таблица ввода греческих букв

Большинство греческих букв легко ассоциируются с латинскими Помни те, что есть комбинации клавиш для ввода математических спецсимволов Так, нажатие клавиш Ctrl+ P вводит константу "пи ', a Ctrl+ Z — знак беско нечности

6. 5. Форматирование текста (Text...)

Форматирование текста означает изменение типа шрифтов и их параметров Операция Text... (Текст) доступна лишь по отношению к выделенному фраг менту текста и активна только в том случае, когда курсор мыши находится в текстовой области Эта операция позволяет выбрать шрифт из имеющегося набора и изменить его в выделенной области текста При использовании операции Text... появляется окошко Text Format с каталогом шрифтов (см рис 67)

Рис. 6. 7 Диалоговое окно форматирования текста

Это окно содержит три перекчючателя для выбора стиля набора и разме ра шрифтов

Font Style (Стиль) — стиль шрифтов, Font (Шрифт) — набор шрифтов, Size (Размер) — размер шрифтов

Набор шрифтов определяется тем, какие шрифты инсталлированы в системе Windows, в которой работает MathCAD. Стиль шрифтов может быть нормальный (особо не называется) или-Bold (Полужирный) - полужирный шрифт;

Italic (Наклонный) - наклонный шрифт;

Underline (Подчеркивание) - подчеркнутый снизу шрифт

Эти три стиля шрифтов можно использовать в любой комбинации и с любым набором шрифтов Они могут быстро вводиться пиктограммами с буквами В, / и ц, размещенными в строке символов.

Имеется также ряд включаемых или выключаемых опций под именем Effect (Эффект):

Strikeout (Зачеркнутый) — перечеркнутые посередине символы;

Underline (Подчеркнутый) подчеркнутые снизу символы;

Substript (Подстрочный) — подстрочные символы;

Superscript (Надстрочный) — надстрочные символы.

Как обычно, кнопка ОК диалогового окна фиксирует выбор, а кнопка Cancel позволяет отказаться от модификации текстовых надписей На рис. 6 8 представлены образцы шрифтов для набора SchoolBook, содержащего буквы как латинского, так и русского алфавитов

Рис. 6. 8 Образцы шрифтов набора SchoolBook

Многие шрифты, в частности наиболее распространенный True Type (ТТ), допускают изменение их размеров (см. пример внизу на рис. 6. 8), что также задается в указанном окошке. Можно, например, для заглавия документа выбрать большие жирные и наклонные буквы, а текстовые сообщения задать прямыми буквами малого или среднего размера с обычной жирностью Выбор типа шрифта зависит в основном от вкусов пользователя.

6. 6. Изменение формата параграфа (Paragraph...)

Если курсор мыши находится в текстовом блоке, то для форматирования параграфа можно использовать операцию Format Paragraph... (Формат параграфа) Она выводит диалоговое окно, показанное на рис. 6 9.

Рис. 6. 9 Окно установки формата параграфа

Окно установки формата параграфа имеет две опции Indent (Отступы):

All Lines (Для всех строк) — установка отступа для всех строк, First Lines (Для первых строк) — установка отступа для первых строк

Можно задать абзацный отступ как для всех строк, так и только для первой строки Кроме того, можно задать тип равнения строк Alignment (Выравнивание)

Left (Слева) — по левому краю абзаца, Right (Справа) — по правому краю абзаца, Center (По центру) — по центру абзаца

На рис 6 10 показаны примеры различного выравнивания текста При выравнивании текста слева задан абзацный отступ для первой строки

Рис. 6. 10 Примеры выравнивания текста

В прежних версиях MathCAD было два типа текстовых блоков в виде блока с малой шириной и в виде абзаца с полной шириной, равной ширине страницы В новой версии остался лишь один блок, с его помощью можно задавать как узкие надписи, так и надписи во всю ширину страницы

6. 7. Задание стиля текстовых комментариев (Style...)

Под стилем текстовых комментариев подразумевается совокупность параметров различных текстовых объектов заголовков различного уровня, абзацев, списков (листов) и т д Все они должны иметь свой определенный шрифт, размеры симво лов и иные параметры Подготовка текстовых комментариев в определенном сти ле необходима при создании документов высокого полиграфического качества

Операция Style... (Формат стиля) позволяет устанавливать стили для различных текстовых объектов. При ее выполнении выводится окно выбора стилей Text Styles, показанное на рис. 6. 11 сверху.

Рис. 6. 11 Работа со стилями текстовых комментариев

Окно выбора стилей имеет перечень стилей и ряд кнопок для задания следующих операций:

Apply (Применить) — применить выбранный стиль;

New... (Новый) — задать новый стиль;

Modify... (Модифицировать) — модифицировать выбранный стиль;

Delete (Стереть) — стереть заданный стиль;

Close (Закрыть) — закрыть окно и отказаться от выбора стиля.

На рис. 6. 11 справа показаны примеры применения различных стилей к надписям с названиями соответствующих стилей. Они дают наглядное представление о стилях, которое явно заимствовано из стилевого оформления текстовых документов в редакторе Word 95.

Операция New... позволяет задать новый стиль со своим именем, а операция Modify... — модифицировать уже имеющийся стиль. На рис. 6. 11 показаны дополнительные окна, которые появляются при выполнении операции Modify... (операция New... отличается от нее только вводом заголовка нового стиля).

В окне модификации стиля можно выбрать нужный набор символов (кнопка Font...) и задать параметры параграфа (кнопка Paragraph...). Задание нового стиля дополняет уже указанный список стилей.

6. 8. Установка свойств (Properties...)

Одно из определяющих понятий в операционных системах Windows 95/NT — свойства различных объектов. Это могут быть цвета выделений, характер эволюции математических выражений и т. д. Операция Properties... (Свойства) позволяет устанавливать свойства различных объектов. Таким образом, это контекстно-зависимая операция и ее диалоговые окна могут несколько отли чаться для разных объектов. Выбор объектов, как обычно, задается установкой в них курсора мыши.

На рис. 6. 12 показано окно установки свойств для объекта — математического выражения.

Рис. 6. 12 Установка свойств математического выражения

В данном случае окно имеет панельный переключатель с двумя позициями:

Displayed (Отображение) — свойства вывода;

Calculation (Вычисления) — свойства вычислений.

К свойствам вывода в данном случае относится лишь наличие или отсутствие подкраски фона математического выражения. Активизируя кнопку Choose Color... (Выбрать цвет), можно вызвать окно задания цвета фона выражений, оно показано справа от окна установки свойств на рис. 6. 12.

Панель Calculation (см. рис. 6. 13) предназначена для отключения или включения эволюции математических выражений. Под эволюцией математических выражений подразумевается их активность. Напоминаем, что обычно математические выражения активны и выполняют определенные действия. Однако, используя опцию Dissable Evalution (Отключение эволюции), выражение можно сделать пассивным, т. е. просто комментарием.

Рис. 6. 13 Окно свойств с включенной панелью Calculation

Еще одно важное свойство математических выражений — их оптимизация. Опция Enable Optimization (Включить оптимизацию) включает режим оптимизации. При этом выражение, если оно вычисляется, представляется в аналитическом виде всегда, когда это возможно. Это свойство может привести к заметному ускорению вычислений в тех случаях, когда оптимизирующее выражение проще исходного. Особенно заметен выигрыш в скорости вычислений при использовании функций (например, функций вычисления интегралов или производных) численными методами.

6. 9. Установка формата двумерной графики (X-Y Plot)

Позиция Graph в подменю Format задает форматы графиков. Начнем с операции X-Y Plot... (Формат декартовых графиков). Она выводит в центр текущего окна окно с опциями формата графиков 2D-типа (см. рис. 6. 14). Следует помнить, что для изменения формата уже построенного графика необходимо выделить его. Выделенный график обводится сплошной линией с маркерами его растяжения.

Рис. 6. 14 Окно с опциями задания формата 2D-графика

Как видно из рис. 6. 14, диалоговое окно формата имеет панельный переключатель на четыре позиции:

X-Y Axes (X-Y Оси) — управление опциями осей;

Traces (Графики) — управление линиями графика;

Labels (Надписи) — управление метками (надписями) у осей;

Defaults (По умолчанию) — задание опций по умолчанию.

Важно отметить, что все установки опций графиков, которые видны в окнах формата, относятся к выделенному графику и могут при необходимости изменяться.

Форматирование осей графика

В панели X-Y Axes содержатся следующие основные опции, относящиеся к осям Х и Y (Axis X и Axis Y):

Log Scale (Лог. масштаб) — установка логарифмического масштаба;

Crid Lines (Линии сетки) — установка линий масштабной сетки;

Numbered (Пронумеровать) — установка цифровых данных по осям, Autoscale (Автомасштаб) — автоматическое масштабирование графика;

Show Markers (Нанести риски) — установка делений по осям;

Auto Grid (Автосетка) — автоматическая установка масштабных линий;

No. of Grids (Число интервалов) — установка заданного числа масштабных линий.

Все эти опции достаточно очевидны. Отметим лишь, что если опция Grid Lines отключена, то масштабная сетка графика не строится, хотя на осях размещаются короткие деления. Опция Numbered обеспечивает редактирование цифровых данных (указаний на масштаб). Например, она полезна для округ ления нижнего и верхнего пределов изменений значений абсцисс и ординат, которые при автоматическом выборе масштаба могут оказаться десятичными числами с дробной частью.

Возможна также установка следующих опций координатных осей (Axes Style):

Boxed (Рамка) — оси в виде прямоугольника;

Crossed (Репер) — оси в виде креста;

None (Ничего) — отсутствие осей;

Equal Scales (Равные деления) — установка равенства масштабов по осям графика.

В нижней части панели имеются следующие клавиши:

Close (OK) — закрытие окна;

Cancel (Отмена) — выход из установок;

Apply (Применить) — применение опций к выделенному графику, Help (Справка) — вывод подсказки.

Форматирование линий графиков

Следующая панель, Traces (Графики), показанная на рис. 6. 15, служит для управления отображением линий, которыми строится график.

С помощью опций этой панели можно управлять следующими параметрами линий графика:

Legend Label (Имя кривой) — указание типа линий у оси ординат, Symbol (Маркер) — выбор символа, который помещается на линию;

Line (Линия) — установка типа линий (сплошная, пунктирная и др.);

Color (Цвет) — цвет линий;

Type (Тип) — тип графиков;

Weight (Толщина) — толщина линий.

В средней части окна опций формата содержится каталог линий графиков с указанием следующих их установок:

Symbol (Маркер) — установка символа отметки базовых точек графика, Line (Линия) — установка типа линии;

Color (Цвет) — установка цвета линии и базовых точек;

Trace type (Тип) — установка типа графика

Рис. 6. 15 Панель Traces

Узловые точки графиков (для которых вычисляются координаты) часто требуется выделить какой-либо фигурой кружком, крестиком, прямоугольником и т д Опция Symbol (Маркер) позволяет задать следующие отметки базовых точек графика каждой из функции none (ничего) — без отметки, x's — наклонный крестик, +'х — прямой крестик, box (квадрат) — квадрат, dmnd (ромб) ромбик, o's — окружность

Графики отдельных функций можно также выделять, используя для их построения линии различного типа Опция Line задает построение следующих типов линий

none (ничего) — линия не строится, solid (сплошная) — непрерывная линия, dash (пунктир) — пунктирная линия, dadot (штрих-пунктир) — штрих-пунктирная линия

Другой распространенный способ выделения линии, относящихся к раз личным кривым на графике, заключается в изменении их цвета Разумеется, этот метод эффективен при применении цветного дисплея и цветного (например, струйного) принтера для распечатки графиков Опция Color (Цвет) задает следующие основные цвета линии и базовых точек red — красный, blu — синий, gm — зеленый, суа — голубой, bm — коричневый, Ыс черный

Задание типа линий графиков

Важное значение имеет и тип графика Опция Туре (Тип) задает следующие типы графика

line (линия) — построение линиями;

points (точки) — построение точками;

err (интервалы) — построение вертикальными черточками с оценкой интервала погрешностей;

bar (столбец) — построение в виде столбцов гистограмм;

step (ступенька) — построение ступенчатой линией step;

draw (протяжка) — построение протяжкой от точки до точки.

Возможные конфликты с отметкой символами и типами линий автоматически устраняются. При этом приоритет отдается опции Type (Тип), а конфликтные типы линий или точек отмечаются тремя звездочками. Каждая из указанных опций имеет свое меню с традиционными правилами его использования.

Еще две опции связаны с возможностью удаления с графика вспомогательных надписей:

Hide Argument — прячет обозначения математических (Скрыть переменные) выражений по осям графика;

Hide Legend (Скрыть имена) — прячет обозначения имен кривых графика.

Задание надписей в графиках

Панель меток Label (Надписи) позволяет вводить в рисунок дополнительные надписи, что иллюстрирует рис. 6. 16. Эта панель появляется, если уже создан текущий график.

Рис. 6. 16 Панель задания дополнительных надписей

Для установки надписей служат небольшие окошки:

Title (Заголовок) - установка титульной надписи к рисунку;

X-Axis (Х-ось) - установка надписи по оси X;

Y-Axis (Y-ось) - установка надписи по оси Y.

В разделе Title содержатся опции Above (Сверху) и Below (Снизу) для установки титульной надписи либо над рисунком, либо под ним. Активизация этих опций задается установкой жирной точки в кружке. Кроме того, опция Show Title (Показать заголовок) позволяет включать или выключать отображение титульной надписи. Для ее активизации служит квадратное окошко, пустое при отказе от вывода надписи и с крестом — при выводе надписи.

Графические установки по умолчанию

Панель Defaults (По умолчанию), как показано на рис. 6. 17, служит для установки опций графиков Change to Defaults (Вернуть значения по умолчанию) и Use for Defaults (Использовать для значений по умолчанию). Установленные и зафиксированные опции используются в дальнейшем при построении графиков функций одной переменной.

Рис. 6. 17 Панель установки и фиксации опций

С помощью комбинаций этих опций можно создавать различные виды графиков, например: с обозначением функций или без них, с обозначением аргумента или без него и др. Обозначения исчезают, если задано, что они должны исчезнуть, как только будет снято выделение графика.

Примеры на форматирование 2D-графиков

Влияние некоторых опций показано на графиках, расположенных слева от диалогового окна установки опций. Напоминаем, что для визуализации оп ций при выведенном окне их установки служит клавиша Apply (Применить) каждого диалогового окна. Эта клавиша позволяет начать наблюдение за сделанными изменениями еще до закрытия окна задания опций, что заметно облегчает экспериментирование с различными форматами графиков.

В целом перечисленные опции предоставляют возможность создавать графики самых различных видов, удовлетворяющие любым запросам пользователя (см., например, шесть типов одного и того же графика на рис. 6. 18).

Задание различных форматов графики позволяет уверенно различать кривые на графике и соотносить их с той или иной функцией, а введение дополнительных надписей (титульной и по осям) — дополнительно разнообразить графики.

Рис. 6. 18 Графики функции, построенные с применением различных форматов

Применение графического маркера

Еще одной возможностью при работе с 2D графиками является применение специального графического маркера в виде двух перекрещивающихся пунктирных линий Они появляются при выполнении операции X-Y Trace При этом появляегся перемещаемое окно этой операции, показанное на рис 6. 19

Рис. 6. 19 Работа с графическим маркером

При выключенной опции Track Data Points (Перемещение по точкам данных) маркер свободно перемещается по графику При этом его координаты отображаются в окне этой опции Поместив маркер на какую-либо интересную точку графика, можно примерно определить ее координаты

Однако вручную трудно точно совместить маркер с выбранной точкой графика. Поэтому предусмотрен режим слежения за кривой графика. Он реализуется включением опции Track Data Points. При этом перемещение маркера происходит по кривой графика, и можно легко установить его точно на любую точку этой кривой.

Просмотр части графиков с увеличением

Еще одна новая особенность при работе с 20-графиками заключается в возможности их просмотра с увеличением отдельных частей этих графиков. Она реализуется операцией X-Y Zoom, которая выводит информационное окно, показанное на рис. 6.20.

Рис. 6.20 Подготовка к просмотру части графика

Перемещением мыши с нажатой левой клавишей можно выделить определенную часть графика. При этом минимальная и максимальная координаты по осям Х и Y отображаются в окне данной операции. После этого можно реализовать три варианта просмотра:

Zoom (Увеличение) — просмотр вырезанного участка;

Unzoom (Отмена увеличения) — отмена просмотра вырезанного участка;

Full View (Полный обзор) — полный просмотр.

Эти действия настолько очевидны, что дальнейшее их описание лишено смысла. В целом надо отметить, что форматирование графиков в декартовой системе координат позволяет получать практически все типы таких графиков, используемых в математической и научно-технической литературе.

6.10. Установка форматов графиков в полярной системе координат (Polar Plot...)

Позиция Polar Plot... (Формат полярных графиков) главного меню обеспечивает задание форматов графиков, которые строятся в полярной системе координат. Она выводит окно с панельным переключателем (см. рис. 6.21).

Рис. 6.21 Окно с панельным переключателем для установки форматов графиков в полярной системе координат

Переключатель содержит следующие позиции:

Polar Axes (Оси) — установка форматов отображения осей;

Traces (Графики) — управление линиями графика;

Labels (Надписи) — управление метками (надписями);

Defaults (По умолчанию) — задание опций по умолчанию.

На рис. 6.21 переключатель установлен в положение Polar Axes. При этом задаются форматы отображения радиус-вектора (Radial) и его угла (Angular). Возможные опции были описаны ранее, и нет смысла их повторять. Раздел Axes Style (Стиль осей) позволяет задать стиль отображения координатных осей в виде окружности вокруг графика Perimeter (Обрамление), в виде расположенных крестом осей Crossed (Визир) и без представления координатных осей None (Ничего).

Рис. 6.22 Панель Labels окна установки форматов графиков в полярной системе координат

Опции панелей Traces и Labels также аналогичны ранее описанным. Панель Labels упрощена (рис 6. 22), на ней предусмотрена установка только дополнительной титульной надписи.

Панель Defaults позволяет зафиксировать введенные опции и использовать их в дальнейшем как опции по умолчанию. Таким образом, вы можете один раз настроить систему под нужный вид графиков и в дальнейшем использовать сделанные установки для построения других графиков

Трассирование графика Format

В полярной системе координат, как и в декартовой предусмотрена возможность трассирования графиков с помощью графического маркера. Она реализуется операцией Format Trace, которая выводит информационное окно, показанное на рис. 6 23

Рис. 6. 23 Трассирование графика в полярной системе координат

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

Трассировка возможна без слежения за кривой рисунка и со слежением. Для осуществления слежения надо поставить "птичку" в прямоугольном окошечке опции Track Data Point. С помощью кнопок Copy Angle и Copy Radius положение конца радиус-вектора текущей точки (угла и длины радиус-вектора) можно скопировать в буфер обмена. А с помощью команды Paste в позиции Edit главного меню можно перенести это значение в математическое выражение, в котором оно нужно

Просмотр части графика

Операция Format Zoom... позволяет просматривать выделенную часть графика в полярной системе координат Выделение производится изменением радиуса выделяющей пунктирной окружности Нажав кнопку Zoom окна просмотра, можно получить график выделенной части с увеличением (см рис 6. 24)

Рис. 6. 24 Просмотр части графика в полярной системе координат

Назначение остальных кнопок окна просмотра то же, что и у окна просмотра графиков в декартовой системе координат

6. 11. Установка форматов графиков трехмерных поверхностей (3D Plot...)

Позиция 3D Plot... (Формат 3D-графика) подменю Format служит для установки форматов представления 3D-графиков (см рис 6 25)

Панельный переключатель окна установки форматов 3D-графиков содержит следующие позиции

View (Вид) — установка опций обзора 3D-фигур, Axes (Оси) — установка опций представления осей;

Color&Lines (Цвет и линии) — установка цвета и типа линий, Title (Заголовок) — установка титульной надписи

Рассмотрим эти операции, начиная с обзора трехмерной поверхности

Обзор трехмерной поверхности

На рис 6 25 панельный переключатель показан в положении View При этом возможна установка ряда параметров обзора SD-фигур, объединенных в несколько групп

Группа View (Вид) содержит опции. Rotation (Вращение) — задание угла поворота (от 0 до 180 градусов);

Tilt (Наклон) здание угла наклона (от 0 до 90 градусов),

Vertical Scale (Верт. масштаб) — задание относительного размера по вертикали (от 1до100%).

Группа Axes (Оси) задает тип отображения осей:

Perimeter (Периметр) — по периметру;

Comer (Репер) — в углу;

None (Ничего) — без вывода осей.

Группа Black Plans (Грани) содержит опции:

Show (Показать) — отображение в цвете;

Fill Color... (Закрасить) — установка цвета координатных плоскостей;

Enge Color... (Цвет ребер) — установка цвета ребер с целью выделения контуров граней и линий сетки.

При установке цветов появляется диалоговое окно выбора цвета. Выбор цвета определяется возможностями применяемого видеоадаптера. Группа Display As... (Отобразить как) служит для задания общего типа ЗD-графиков:

Surface Plot (Поверхность) — в виде ЗD-поверхности;

Contour Plot (Линии уровня) — в виде линий равного уровня;

Data Point (ЗD-точки) — в виде отдельных точек в ЗD-пространстве;

3D Bar Chart (ЗD-гистограмма) — в виде трехмерных гистограмм.

И наконец, группа Frames (Рамки) служит для установки опций видимости ограничительных элементов графиков:

Show Border (Показать обрамление) — задает рисунок в рамке;

Show Box (Показать ящик) — задает рисунок в трехмерном параллелепипеде.

На рис. 6. 25 показан график трехмерной поверхности с функциональной цветовой окраской и построением видимых линий каркаса (невидимые линии удалены). К сожалению, цвета графика в книге не различаются, так как печать черно-белая. Вместо цветов видна раскраска серым цветом разной плотности. Рядом с графиком помещена панель форматирования, которая дает информацию о всех опциях просмотра (панели View).

Рис. 6. 25 Панель установки форматов 3D-графиков

Форматирование координатных осей

Опции форматирования координатных осей сосредоточены в полях панели Axes (Оси). Она показана на рис. 6. 26.

Рис. 6. 26 Панель Axes для 3D Plot Format

С помощью этой панели для каждой координатной оси устанавливаются следующие опции:

Grid Lines (Линии сетки) — вывод масштабных линий;

Numbered (Пронумеровать) — оцифровка линий;

Auto Grid (Автосетка) — автоматический выбор числа линий;

No. of Grids (Число интервалов) — прямое задание числа интервалов;

Min. Val (Мин.) — минимальное значение координаты;

Max. Val (Макс.) — максимальное значение координаты.

Поскольку эти опции достаточно очевидны, ограничимся лишь их упоминанием.

Форматирование цветов и линий

Панель Color&Lines (Цвета и линии), как показано на рис. 6. 27, служит для установки цветовых параметров 3D-графики.

Она устанавливает следующие опции группы Shading (Раскраска):

Color (Цветная) — цветная раскраска;

None (Нет) — отсутствие раскраски;

Grayscale (Черно-белая) — раскраска точками с разной плотности.

Если используются возможности построения фигур с интерполяцией Interpolated Mesh (Сетка интерполяции), то панель Color&Lines позволяет установить число строк (No. of Rows) и столбцов (No. of Columns) для узловых точек фигуры.

Опция Hide Mesh (Невидимые линии) группы Fill Style (Стиль заполнения) позволяет включать или выключать алгоритм удаления невидимых линий каркаса изображения. Опция Path Plot (Площадки) этой группы задает особый вид графика — площадочный. Он показан на рис. 6. 27.

Рис. 6. 27 Панель Color&Lines для 3D Plot Format

Для демонстрации отличий в виде 3D графиков на рис 6 28 показан тот же график, что на рис 6 27, но при отключенной опции Path Plot Нетрудно заметить, насколько резко изменится вид графика

Рис. 6. 28 Трехмерная поверхность при отключенной опции Path Plot

В графике на рис 6 28 применена функциональная закраска типа Gray Scale (оттенками серого цвета) Она целесообразна, если устройства вывода (например, матричные или лазерные принтеры) не способны дать изображение в цвете

Последняя группа опций — Contours (Уровни) — задает параметры построения контурных графиков Для графиков, имитирующих объемность поверхности, эта группа опций недоступна. Поэтому мы опишем их действие несколько позже, при рассмотрении контурных графиков.

Задание надписей над и под графиком поверхности

Панель.Title (Заголовок), как показано на рис. 6. 29, позволяет расположить введенную в окно Title титульную надпись. Опции Above (Сверху) и Below ( Снизу) устанавливают местоположение надписи относительно рисунка, опция Show Title (Показать заголовок) позволяет показать или скрыть титульную надпись.

Рис. 6. 29 Панель задания и вывода титульных надписей Title для 3D-графиков

Выведенные таким образом надписи органично присущи графику. Поэтому они не исчезают при перестройке графиков, что иногда случается с надписями, которые выполняются в виде текстовых блоков, наложенных на блоки графиков.

6-12. Форматирование контурных графиков

Контурные графики строятся линиями равного уровня. Такие линии получаются, если трехмерная фигура пересекается рядом параллельных плоскостей. Этот вид графики широко применяется в картографии. Полезен он и для оценки числа пиков и впадин сложных поверхностей; нередко при обычном построении графиков эти пики и впадины попросту не видны, поскольку заслоняются передним планом фигуры.

Построение таких графиков — достаточно трудоемкая задача. MathCAD же делает ее ничуть не более сложной, чем построение обычного графика трехмерной поверхности. Если контурный график построен, то позиция Graph подменю Format будет содержать операцию установки формата таких графиков — 3D Plot.

Эта операция выводит окно форматирования контурных графиков. Большинство опций в этом окне уже описывалось. Наиболее важными являются те из них, которые находятся в панели Color&Lines (см. рис. 6. 30):

Contour Lines (Линии уровня) — показать контурные линии;

Numbered (Пронумеровать) — оцифровать контурные линии;

Auto Contour (Автолинии) — автоматически установить количество контурных линий;

No. Of Contours (Число линий) — установить заданное количество контур ных линий.

Рис. 6. 30 Панель Color&lines окна форматирования контурных 3D-графиков

Интересным моментом форматирования контурных графиков является оцифровка линий уровня. Однако обычно она загромождает график. Последний на рис. 6. 30 представлен без оцифровки, но с применением функциональной закраски.

Рис. 6. 31 Построение графиков фрактальных поверхностей

Прекрасной иллюстрацией применения контурных графиков является построение фрактальных поверхностей. Эту возможность иллюстрирует рис. 6. 31, на котором приведены графики двух таких поверхностей.

Еще две фрактальные поверхности показаны на рис. 6. 32. Этот рисунок является просто продолжением рис. 6. 31. Нетрудно заметить, что комбинация двух целых ранжированных чисел (меняющихся от О до 10) и третьего числа (заданного константой) позволяет строить весьма необычные рисунки.

Рис. 6. 32 Продолжение документа, показанного на рис. 6. 31

Фракталы — это как раз тот пример, когда полезна именно контурная графика. Вы можете построить графики (см. рис. 6. 31) в виде графиков трехмерных поверхностей. Хотя они тоже выглядят необычно, но не имеют того эстетического вида, который характерен для фракталов в виде графиков с линиями равного уровня.

6. 13. Форматирование графика типа 3D Data Points

График типа 3D Data Points — разновидность ЗD-rpaфикa. Этот тип графика представляет расположение точек в пространстве, заданное матрицей М. При этом точки могут быть заданы различными фигурами, например кружками или прямоугольниками, прямыми и наклонными крестиками и т. д.

Окно форматирования таких графиков подобно уже описанному для обычных ЗD-гpaфикoв. На рис. 6. 33 оно представлено с открытой панелью выбора цветов и линий.

Результат форматирования — график типа 3D Data Points — представлен слева от окна форматирования. Графики такого типа редко бывают наглядными Их надо применять лишь по прямому назначению — для отображения облака точек (или иных фигурок) в пространстве.

Рис. 6. 33 Форматирование графика типа 3D Color&Lines

6. 14. Форматирование графиков типа 3D Ваг

Еще один вид графиков трехмерной поверхности — 3D Bar Chart — задается столбиками, высота которых определяется координатой функции z (x, у). Окно форматирования в данном случае практически такое же, как и для других видов трехмерной графики. На рис. 6. 34 оно показано при открытой панели Color&Line с заданием функциональной окраски столбиков графика.

Рис. 6. 34 Форматирование графика 3D Bar Chart

Графики этого типа довольно специфичны. Однако их удобно использовать для построения гистограмм, представляющих данные матриц.

На рис. 6. 35 представлены три типа гистограмм: Matrix, Stacked и Side By Side. Установка типа гистограмм производится в панели Color&Lines окна форматирования графика типа 3D Bar Chart.

Рис. 6. 35 Три основных типа гистограмм (график 3D Bar Chart)

Графики в виде гистограмм, показанные на рис. 6. 35, широко применяются для отображения данных экономических, статистических и финансовых расчетов.

6. 15. Примеры на применение графиков различного вида

Богатые возможности графики системы MathCAD позволяют выполнять детальный анализ сложных трехмерных поверхностей путем построения различного типа графиков одной и той же поверхности. Во многих случаях благодаря этому можно выяснить с помощью второго графика особенности, мало заметные или вообще исчезающие при построении первого графика (см. рис. 6. 36).

На рис. 6. 37 показано два графика, которые были приведены на рис. 6. 31. Здесь они переформатированы под столбиковые диаграммы (при этом матрица А на левом графике взята со знаком минус).

Хотя эти графики выглядят не столь занимательно, как исходные (рис. 6. 31), но они позволяют понять, как образуются фрактальные кривые. Позже мы еще не раз будем пользоваться мощными средствами графической визуализации результатов математических вычислений, представляемыми MathCAD.

Графики трехмерных поверхностей, а также импортируемые рисунки могут перемещаться в любом направлении в нужное место окна текущего документа. Можно также плавно менять их размеры. Все эти действия осуществляются точно так же, как в случае с 2D-гpaфикaми.

С каждой версией MathCAD графические возможности системы улучшались и в версии 7. 0 PRO достигли высокой степени совершенства. Это позволило создавать математические графики практически всех типов Особенно удачно решено построение трехмерных графиков которое можно осуществ лять с удалением и без удаления невидимых линий каркаса с монохромной и цветной функциональной закраской с различными углами поворота и т д

Рис. 6. 36 Два графика одной поверхности

Рис. 6. 37 Графики, показанные на рис б 31, но представленные теперь в виде столбиковых диаграмм

6. 16. Форматирование цвета (Color)

Для изменения цветов существует позиция Color (Форматирование цветов) подменю Format Она выводит подменю со следующими командами Background... (Фон) — выбрать цвет фона окна

Highlight... (Подсвеченное выражение) — выбрать цвет выделения выражений;

Annotation Color... (Аннотации) — выбрать цвет аннотаций.

Любая из этих команд выводит стандартное диалоговое окно, показанное на рис. 6. 38. Каждое окно обладает титульной строкой с названием соответствующей команды.

Рис. 6. 38 Диалоговое окно задания цветов

Помимо указанных опций есть еще две, которые возможны только в том случае, если видеосистема компьютера может дать 256 цветов и выше:

Use Default Pallette — задание исходной цветовой палитры;

Optimize Pallette — оптимизация цветовой палитры для BitMap-рисунков.

С помощью указанных средств графическая оболочка системы MathCAD может быть подстроена под вкус любого пользователя. Подменю Color открывает доступ к командам цветового оформления документов, позволяющим придать им наглядный и эстетически приятный вид, удовлетворяющий самым изысканным запросам. Однако если предполагается печать документов монохромным принтером или их просмотр на монохромном дисплее, то к цветовым выделениям надо относиться внимательно.

6. 17. Разделение областей (Separate Regions)

Области различных объектов в документах могут налагагься друг на друга. Это не только нарушает эстетический вид документов, но и приводит в ряде случаев к возникновению ошибочных ситуаций из-за невыполнения требуемой последовательности просмотра блоков.

Перемещение блоков в сложном и плотно заполненном блоками документе вручную — процесс весьма трудоемкий, к тому же делать это очень неудобно. Лучше воспользоваться операцией Separate Regions (Разделить области), обеспечивающей автоматическое разделение перекрывающихся областей. Эту операцию можно вводить также нажатием клавиш Ctrl+ S.

К сожалению, данная операция не всегда приводит к успеху. Проиллюстрируем это следующим примером. На рис. 6. 39 показана попытка построить график функции f (x). Она оказалась неудачной, поскольку шаблон графика налез на шаблон функции.

Можно было бы ожидать, что при выполнении операции Separate Region этот конфликт будет улажен. Но увы, как видно из рис. 6. 40, попытка разделения областей хотя и удалась (области разделились!), но область задания функции была перемещена под область с шаблоном графика. В результате

Рис. 6. 39 Попытка построить график функции

график остался непостроенным и буква f в названии функции оказалась выделенной красным цветом ошибки.

Рис. 6. 40 Разделение областей не позволило построить график функции

В подобных случаях целесообразна все же ручная коррекция положения областей в документе. Рис. 6. 41 показывает, что в этом случае проблем с построением графика нет.

Вообще надо отметить, что эта операция (увы!) в новой версии работает неустойчиво. Отмечались случаи, когда при большом числе перекрывающихся областей она отказывалась выполнить их разделение. Возможно, фирма MathSoft устранит этот недостаток при доводке версии MathCAD 7. 0 PRO. Вообще же говоря, при подготовке документов надо заранее побеспокоиться о правильном расположении блоков в них.

Рис. 6. 41 Пример построения графика функции после ручной коррекции положения областей

6. 18. Выравнивание областей (Align)

Операция Align Region служит для организации специального выравнивания областей различных блоков. Она выводит подменю с двумя позициями:

Across (Вдоль) — выровнять выделенные области вдоль горизонтальной

линии, расположенной посередине между верхними краями высшей и низшей из выделенных областей;

Down (Вниз) — выровнять выделенные области вдоль вертикальной линии, расположенной посередине между левыми краями самой правой и самой левой из выделенных областей. Эти операции применяются как элемент комбинированного форматирования документов. Подлежащие перемещению блоки должны быть предварительно выделены. На рис. 6. 42 показано произвольное расположение трех блоков документа и их выделение с помощью мыши (напоминаем, что оно выполняется перемещением мыши при нажатой левой клавише).

Если нужно расположить блоки строго друг под другом, то в данном случае надо использовать операцию Align Down. Результат выполнения этой операции представлен на рис. 6. 43: все блоки расположены друг под другом и выровнены по левому краю.

Рассматриваемые операции следует применять осторожно, поскольку иногда блоки могут перекрываться. Так, в данном примере применение операции Align Across приведет к наложению блоков. Вообще говоря, полезно при подготовке документов сразу избегать наложения блоков друг на друга.

6. 19. Создание закрытых областей в документе (Lock Regions)

В ряде случаев в документе желательно создать некоторые закрытые (т. е. недоступные для редактирования посторонними лицами) области. Это может

Рис. 6. 42 Пример документа с произвольно расположенными блоками

Рис. 6. 43 Пример выравнивания блоков по вертикали

потребоваться, например, в обучающих программах, где в такие области можно помещать примеры, запрещенные к применению учащимися.

Операция Lock Regions (Закрытые области) позволяет реализовать эту возможность. Она выводит подменю со следующими операциями по созданию и управлению такими областями:

Set Lock Area... (Область) — определить защищаемую область рабочего документа;

Lock Area... (Закрыть) — включить защиту области;

Unlock Area... (Открыть) — редактировать защищаемую область.

Первая из этих операций устанавливает на экран дисплея две горизонтальные черты — ограничители закрытой области с пиктограммой открытого замка в их начале (см рис 644) Пространство между ними и есть будущая закрытая область

Рис. 6. 44 Установка ограничителей закрытой области

Oграничители закрытой области можно, как и любые объекты, выделять и перемещать вверх или вниз по документу Таким образом можно регулировать высоту закрываемой области После установки ограничителей закрываемой области надо поместить в нее те объекты, доступ к которым закрывается После этого надо исполнить операцию Lock Arrea..., которая вызывает появление окна с предложением о вводе пароля (см рис 6 45)

Рис. 6. 45 Окно с предложением о вводе пароля

Если не ввести пароль, то область будет закрыта навсегда Ввод пароля (рис 6 46) означает, что в дальнейшем область можно будет сделать откры той Обычно стоит предусмотреть такую возможность

Рис. 6. 46 Ввод пароля закрываемой области

Учтите, что при вводе пароля вместо символов нажимаемых клавиш в поле ввода (посередине окна) выводятся звездочки Это сделано для того, чтобы никто не мог посмотреть сзади, какой вы ввели пароль Пароль надо вводить такой, чтобы его можно было запомнить (неплохо записать его в свою записную книжку)

После ввода пароля выделенная область закрывается, а пользователь лишается возможности ее модернизации (см рис 6 47)

Рис. 6. 47 Документ с закрытой областью

Как видно из рис 6 47, после изображения замков выводятся данные о времени создания закрытой области Если теперь попытаться модифицировать введенное в нее математическое выражение или перетащить его на другое место, то из этого просто ничего не выйдет

Операция Unlock Area позволяет в случае необходимости открыть Закрытую область и выводит уже описанное окно ввода пароля Если в нем вве сти ранее заданный пароль, то замки в ограничителях закрытой области откроются и она станет открытой Выделив ограничители, их можно убрать (например, нажатием клавиши F3 или с помощью операции Delete в подменю позиции Edit главного меню) Ограничители задаются сразу парой и стираются одновременно

6. 20. Форматирование колонтитулов (Headers/Footers)

При печати документов нередко требуется внести в заголовок (Header) или нижнюю строку (Footer) каждой страницы некоторую служебную информацию либо надпись, например имя файла, номер с границы, дату создания и др Такие надписи называют колонтитулами (верхними или нижними)

Эта возможность реализуется командой Headers/Footer (Колонтитулы) в позиции Edit главного меню, выводящей диалоговое окно, показанное на рис 6 48

Рис. 6. 48 Диалоговое окно обрамления документов

В основном окне можно установить, какой колонтитул создается верхний, Headers, или нижний, Footers (в нужной позиции устанавливается жир ная точка) Опция Enable (Включить), будучи введенной (знак х), обеспечи вает печать колонтитулов, в противном случае колонтитулы не печатаются

Это окно содержит три окна ввода надписей Left (Слева), Center (По центру) и Right (Справа) Соответственно и введенные надписи будут печататься в выбранном колонтитуле с выравниванием по левому краю, по центру или по правому краю.

Имеется ряд кнопок для автоматического занесения в колонтитулы следующих данных:

Filename (Файл) — имя файла;

Page # (Стр №) — номер страницы;

Date (Дата) — текущая дата;

Time (Время) — текущее время.

Эти данные заносятся по месту расположения курсора после нажатия соответствующей кнопки внизу основного окна. Клавиша Fonts (Шрифты) дает возможность выбора подходящего шрифта для текстов колонтитулов.

Кроме тот о, клавиша Fonts выводит стандартное окно выбора шрифта, которым набираются упомянутые выше надписи. Они появляются только на распечатках документов (рис. 6. 49), но не в видимом окне редактирования.

Рис. 6. 49 Документ с колонтитулами, выведенный в режиме просмотра

Четыре кнопки внизу окна Fonts служат для вставки в панель окна ввода колонтитулов следующих данных:

Filename — имя файла;

Page # — номер страницы;

Date — дата;

Time текущее время.

Указанные выше данные вставляются в колонтитулы в символической форме, но отображаются при просмотре и печати страницы в явном виде.


Глава 7 Управление вычислительными процессами

7. 1. Вычисление в пределах экрана (Calculate)

По умолчанию MathCAD работает в режиме автоматических вычислений. Однако иногда бывает удобнее работать в ручном режиме, например, если вычисления объектов при их изменении выполняются заново и долго. Ручной режим вводится операцией Calculate (Вычисления) из главного меню. Для ее выполнения надо нажать кнопку со знаком = в панели инструментов или клавишу F9. Разумеется, режим автоматических вычислений при этом должен быть отключен.

Из рис. 7. 1, иллюстрирующего работу MathCAD в режиме ручных вычислений видно, что вычислений не происходит. В частности, выражение х= не выводит, как в автоматическом режиме, вектор значений х, а в шаблоне графика нет собственно графика.

Рис. 7. 1 Документ в режиме ручных вычислений до ввода операции Calculate

Чтобы начались вычисления, надо выполнить операцию Calculate любым из описанных выше способов. Вид документа после ввода этой операции показан на рис. 7. 2. Нетрудно заметить, что теперь выведен вектор значений х и построен график функции.

Если, однако, пролистать документ дальше и перейти к ниже расположенному экрану, то можно обнаружить, что блоки в нем не выполнялись. Это иллюстрирует рис. 7. 3, в котором виден неисполненный блок построения функции tan (x).

Итак, операция Calculate исполняет только те блока, которые видны на текущем экране. Для исполнения последующих блоков надо вновь исполнять операцию Calculate. Другой способ исполнения последующих блоков описан ниже.

Рис. 7. 2 Документ в режиме ручных вычислении после ввода операции Calculate

Рис. 7. 3 Демонстрация неполного исполнения документа при вводе операции Calculate

Кстати говоря, график на рис 7 3 не отличается высокой представитель ностью" Это связано с тем, что задано слишком малое число точек Так что этот график наглядно показывает, что малое число точек может сильно иска зить графическую визуализацию функции В нашем случае это не важно, надо было лишь проиллюстрировать исполнение блоков

7. 2. Исполнение всего документа (Calculate Worksheet)

Если после подготовки документа с невычисленными блоками нужно исполнить весь документ от начала до конца, то следует использовать операцию Calculate Worksheet (Вычисление документа) На рис 7 4 показана та же часть документа, что и на рис 7 3, но после выполнения этой операции Нетрудно заметить, что теперь оба графика на ДВУХ экранах оказались построенными

Рис. 7. 4 Вид части документа после исполнения операции Calculate Worksheet

Разумеется, такой же вид имел бы приведенный фрагмент документа при повторном исполнении команды Calculate

7. 3. Вычисления в автоматическом режиме (Automatic Calculation)

Операция Automatic Calculation (Автоматические вычисления) в подменю Math обеспечивает переключение между ручным и автоматическим режимами вычислений Если против названия этой операции мышью установить "птичку", то будет работать автоматический режим вычислений, в противном случае, когда "птички" нет, — ручной.

Как правило, автоматический режим вычислений намного удобнее ручного, поэтому он установлен по умолчанию

7. 4. Оптимизация вычислений (Optimization)

Oптимизация вычислений достигается заменой сложной функции или мате матического выражения их аналитическим представлением (если оно, конечно, есть) Для иллюстрации техники оптимизации рассмотрим рис 7 5

Рис. 7. 5 Пример на оптимизацию вычислений

На рисунке вначале показано вычисление тройного интеграла обычным способом. Поскольку вычисления производятся численным методом, то они достаточно трудоемки и задержка выдачи результата заметна даже на скоростных ПК с процессором Pentium.

Во втором случае использовалась техника оптимизации. Выражение для интеграла, оформленное как функция 1 (n), было выделено, а затем исполнена операция Optimize (Оптимизация), после чего скорость вычислений увеличилась в несколько раз

Признаком оптимизации выражения является появление после него красной звездочки — знака *. Кроме того, установив в оптимизированное выражение курсор мыши и щелкнув ее левой клавишей, можно наблюдать появление окна с оптимизированным выражением; на рис. 7. 5 это окно также показано. Нетрудно заметить, что в нашем примере довольно сложный интеграл оказался замененным достаточно простым аналитическим выражением

Разумеется, вычисление по такому выражению намного проще, чем по полному интегралу. Особенно большой выигрыш оптимизация может дать при многократном вычислении сложных функций, содержащих интегралы, производные, суммы, произведения и ряды. Бывают, впрочем, случаи, когда исходное выражение превращается в не менее сложное оптимизированное выражение. Тогда оптимизация оказывается бесполезной Оптимизацию можно задать в тексте документа специальными словами — директивами, но эта возможность будет рассмотрена позже

7. 5. Установка опций (Options...)

В позиции Options... (Опции) сосредоточены различные опции вычислительных процессов Если активизировать эту позицию, то на экран будет выведено окно с панельным переключателем, показанным на рис 7. 6

Рис. 7. 6 Диалоговое окно установки опций

Это окно имеет следующие панели:

Built-in Variables... — установить значения встроенных (Встроенные переменные) (системных) переменных, Units System (Единицы — вывести подменю с позициями, Dimension (Размерность) — установить размерность величин.

Рассмотрим назначение опций в каждой из этих панелей

Установка значений системных переменных (Built-in Variables...)

В системе MathCAD имеется несколько так называемых системных переменных. У них есть свои имена и значения, присваиваемые системой по умолчанию. Действие системных переменных глобальное, т е. они доступны в любом месте программы и их значения можно изменить также в любом месте программы.

Операция Built-in Variables... (Встроенные переменные) служит для установки значений системных переменных:

TOL [0. 001] — погрешность численных расчетов;

ORIGIN [0] — нижняя граница значения индекса индексации векторов и матриц;

PRNPRECISION [4] - число столбцов для WRITEPRN, PRNCOLWIDTH [8] — число десятичных знаков, используемых для записи числовых данных в WRITEPRN

При применении этой операции появляется окошко со списком указанных переменных (в квадратных скобках указаны их заданные значения) — см. рис. 7. 6

Можно откорректировать значения системных переменных. К назначению двух последних переменных мы вернемся позднее, при описании оператора записи данных на диск WRITEPRN Значения переменных можно вывести, указав после их имени знак =

Опции установки системы единиц

System Utits выводит диалоговое окно для выбора систем единиц для размерных величин, показанное на рис. 7 7.

В этом окне можно выбрать одну из следующих систем единиц для размерных величин. SI, MKS, CGS, US и None (не используется ни одна из этих систем).

Рис. 7. 7 Диалоговое окно изменения системы единиц размерных величин

Форматирование размерных величин (Dimensions)

Для изменения формата размерных величин служит панель Dimensions (Размерности) Она выводит диалоговое окно, показанное на рис 7 8

Рис. 7. 8 Изменение формата размерных величин

Эта панель выводит перечень размерностей, который можно при необходимости редактировать Для этого надо установить "птичку" в прямоугольнике опции Display Dimensions (Просмотр размерностей)


Глава 8 Работа с символьным процессором

8. 1. Возможности символьного процессора (Symbolic)

Системы компьютерной алгебры снабжаются специальным процессором для выполнения аналитических (символьных) вычислений. Его основой является ядро, хранящее всю совокупность формул и формульных преобразований, с помощью которых производятся аналитические вычисления. Чем больше этих формул в ядре, тем надежней работа символьного процессора и тем вероятнее, что поставленная задача будет решена, разумеется, если такое решение существует в принципе (что бывает далеко не всегда).

Ядро символьного процессора системы MathCAD — несколько упрощенный вариант ядра известной системы символьной математики Maple V фирмы Waterloo Maple Software [12, 18], у которой MathSoft (разработчик MathCAD) приобрела лицензию на его применение, благодаря чему MathCAD стала (начиная с версии 3. 0) системой символьной математики.

Прямой доступ к большинству операций ядра (возможный в системе Maple V R3/R4), для пользователя MathCAD, к сожалению, закрыт. К примеру, библиотечный модуль Maple V содержит около 100 функций линейной алгебры, тогда как в модуле MathCAD 3. 0 есть только три важнейшие функции из этого раздела. Многие функции и правила преобразования в ядре используются лишь для получения промежуточных преобразований.

Тем не менее это обстоятельство нельзя считать уж слишком большим недостатком системы MathCAD. Во-первых, потому, что ее назначение иное — прежде всего решение задач в численном виде, а во-вторых, потому, что система Maple V явно избыточна (в ее ядре около 2800 функций и правил преобразования) и ориентирована на пользователей с весьма далекими от средних потребностями в решении задач компьютерной алгебры (символьной математики) [12].

Введение в систему MathCAD символьных вычислений придает ей качественно новые возможности, которые отсутствовали у прежних версий системы [5—7]. Теоретические сведения об алгоритмах компьютерной алгебры можно найти в книге [19]. Куда важней, что символьные вычисления выполняются в конечном счете столь же просто (для пользователя), как, скажем, вычисление квадрата х.

Операции, относящиеся к работе символьного процессора, содержатся в подменю позиции Symbolic (Символика) главного меню (см. рис. 8. 1).

Чтобы символьные операции выполнялись, процессору необходимо указать, над каким выражением эти операции должны производиться, т е надо выделить выражение (правила выделения неоднократно описывались выше) Для ряда операций следует не только указать выражение, к которому они относятся, но и наметить переменную, относительно которой выполняется та или иная символьная операция. Само выражение в таком случае не выделяется. ведь и так ясно, что если маркер ввода выделяет переменную какого-либо выражения, то это выражение уже отмечено наличием в нем выделяемой переменной

Рис. 8. 1 Вид экрана системы с подменю позиции Symbolic главного меню

Символьные операции разбиты на пять характерных разделов Первыми идут наиболее часто используемые операции Они могут выполняться с выра жениями, содержащими комплексные числа или имеющими решения в комплексном виде

Операции с выделенными выражениями

К операциям с выделенными выражениями относятся следующие Evaluate (Вычислить) — преобразовать выражение с выбором вида преоб разований из подменю,

Simplify (Упростить) — упростить выделенное выражение с выполнением таких операций, как сокращение подобных слагае мых, приведение к общему знаменателю, использова ние основных тригонометрических тождеств и т д, Expand (Разложить — раскрыть выражение [например, для по степеням) (Х+ Y) (Х- Y) получаем X2- Y2}, Factor (Разложить — разложить число или выражение на множи-на множители) тели [например X2-Y2 даст (X+ Y) (X-Y)], Collect (Разложить — собрать слагаемые, подобные выделенному по подвыражению) выражению, которое может быть отдельной переменной или функцией со своим аргументом (ре зультатом будет выражение, полиномиальное от носительно выбранного выражения),

Polynomial Coefficients — найти коэффициенты полинома по заданной

(Полиномиальные переменной, приближающего выражение,

коэффициенты) в котором эта переменная использована

Операции с выделенными переменными

К числу операций с выделенными переменными относятся

Solve (Решить — найти значения выделенной переменной,

относительно переменной) при которых содержащее ее выражение становится равным нулю (решить уравнение или неравенство относительно выделенной переменной);

Substitute (Заменить — заменить указанную переменную содержи-

переменную) мым буфера обмена;

Differentiate — дифференцировать все выражение, содержа- (Дифференцировать щее выделенную переменную, по отношению по переменной) к этой переменной (остальные переменные рассматриваются как константы);

Integrate (Интегрировать — интегрировать все выражение, содержащее

по переменной) выделенную переменную, по этой переменной;

Expand to Series... — найти несколько членов разложения выра- (Разложить в ряд) жения в ряд Тейлора относительно выделен ной переменной;

Convert to Partial Fraction — разложить на элементарные дроби выраже- (Разложить на элементарные ние, которое рассматривается как рацио-дроби) нальная дробь относительно выделенной пе ременной.

Операции с выделенными матрицами

Операции с выделенными матрицами представлены позицией подменю Matrix (Матричные операции), которая имеет свое подменю со следующими операциями:

Transpose (Транспонировать) — получить транспонированную матрицу;

Invert (Обратить) — создать обратную матрицу;

Determinant (Определитель) — вычислить детерминант (определитель) матрицы.

Операции преобразования

В MathCAD 7. 0 PRO в позиции Symbol содержится раздел операций преобразования, создающий подменю со следующими возможностями:

Fourier Transform — выполнить прямое преобразование Фурье

(Преобразование Фурье) относительно выделенной переменной;

Inverse Fourier Transform — выполнить обратное преобразование

(Обратное преобразование Фурье относительно выделенной

Фурье) переменной;

Laplace Transform — выполнить прямое преобразование (Преобразование Лапласа) Лапласа относительно выделенной пере менной (результат — функция от пере менной s);

Inverse Laplace Transform — выполнить обратное преобразование (Обратное преобразование Лапласа относительно выделенной Лапласа) переменной (результат — функция от переменной t);

Z Transform (Z-преобразование) — выполнить прямое Z-преобразование вы ражения относительно выделенной пере менной (результат — функция от пере менной z);

Inverse Z Transform — выполнить обратное Z-преобразование (Обратное Z-преобразование) относительно выделенной переменной (результат — функция от переменной n)

Стиль эволюции

К стилю эволюции относится одна операция-

Evaluation Style... — задать вывод результата символьной операции под

(Стиль эволюции) основным выражением, рядом с ним или вместо него

В последующих разделах этой главы каждая из упомянутых выше операций будет рассмотрена более подробно с необходимыми примерами.

8. 2. Выделение объектов символьных операций

Для проведения символьных операций нужно прежде всего выделить объект, над которым эти операции будут выполняться. Если объект отсутствует, доступа к соответствующим операциям в позиции Symbolic главного меню нет, а сами операции выделены затененным шрифтом. Объектом операции может быть самостоятельное математическое выражение, часть такого выражения или заданной пользователем функции, результат предшествующей операции и т д.

Напомним, что есть два вида выделения: пунктирными линиями и сплошными. Чтобы отметить объект пунктирной линией, достаточно установить на него курсор-крестик, нажать клавишу Ctrl или Shift и воспользоваться правой клавишей мыши.

Можно установить курсор около выбранного объекта и, нажав правую клавишу мыши, перемещать ее по столу При этом появляется пунктирный прямоугольник, который перемещением мыши можно расширять в различных направлениях. Как только этот прямоугольник захватывает один или несколько объектов, они оказываются также выделенными — обведенными пунктирной линией, отмечающей область, занимаемую объектом в окне.

Выделение пунктирной линией используется для перемещения объектов по окну. Для этого достаточно внутрь отмеченного объекта (выражения) поместить курсор мыши, нажать правую клавишу и, удерживая ее нажатой, перемещать мышь. При этом объект (или сразу несколько объектов) будет перемещаться по экрану и его можно оставить (отпустив клавишу мыши) на новом месте Напоминаем, что нажатие клавиши F3 ведет к переносу выражений в буфер обмена и стиранию их в окне. Нажатие клавиши F4 переносит выражения из буфера обмена на место, указанное курсором. Курсор можно перемещать как мышью, так и обычными клавишами управления им.

Для выполнения операций с символьным процессором нужно выделить объект (целое выражение или его часть) сплошными линиями, синими на экране цветного дисплея. Для выделения некоторой переменной в объекте нужно подвести к ее концу курсор мыши и нажать левую клавишу. Переменная будет отмечена жирной чертой (синей на экране цветного дисплея), расположенной сразу после переменной Перемещая курсор по полю объекта и нажимая левую клавишу повторно, можно выделить отдельные части выражения или выражение целиком.

Часть символьных операций производится указанием на объект как на выражение или его часть. Например, расширение или упрощение выражений требуют такого указания на объект Другие операции, такие, как вычисление производной или интеграла, требуют указания переменной, относительно которой производится операция, допустим, дифференцирования или интегрирования.

Если заданная операция невыполнима, система выводит в дополнительном окне сообщение об ошибке или просто повторяет выделенное выражение. Последнее означает, что операция задана корректно, но результат не может быть получен, например, если делается попытка разложить на множители объект, уже разложенный или не содержащий такого разложения в принципе.

При выполнении символьных операций иногда приходится сталкиваться с неприятной и трудной проблемой — "разбуханием" результатов, как промежуточных, так и конечных. Решения, которые хорошо известны профессиональному математику (и даже студенту), система обычно выдает с блеском — в виде, который описан в справочнике или учебнике. Примером может служить решение квадратного уравнения или вычисление простого неопределенного интеграла

Но даже незначительное усложнение задачи порою может породить очень сложное и громоздкое решение. Пример тому — решение кубического уравнения. В этом случае решение (по запросу системы) можно поместить в буфер обмена и использовать его для оценки пользователем (но не для дальнейших преобразований системой в автоматическом режиме).

Система MathCAD содержит пять типов символьных операций, выполняемых над объектами — выделенными математическими выражениями. При этом под математическим выражением подразумевается как полная математическая формула, так и функционально полная часть какой-либо формулы. Ниже представлено описание символьных операций над выражениями

8. 3. Выполнение символьных вычислений (Evaluate Symbolically)

Символьная операция Evaluate Symbolically [Shift+ F9] (Вычислить) обеспечивает работу с математическими выражениями, содержащими встроенные в систему функции и представленными в различном виде: полиномиальном, дробно-рациональном, в виде сумм и произведений, производных и интегралов и т. д. Операция стремится произвести все возможные численные вычисления и представить выражение в наиболее простом виде. Она возможна над матрицами с символьными элементами. Производные и определенные интегралы, символьные значения которых вычисляются, должны быть представлены в своей естественной форме.

Особо следует отметить возможность выполнения численных вычислений с повышенной точностью — 20 знаков после запятой. Для перехода в такой режим вычислений нужно числовые константы в вычисляемых объектах задавать с обязательным указанием десятичной точки, например 10. 0 или 3. 0, а не 10 или 3. Этот признак является указанием на проведение вычислений такого типа.

На рис. 8. 2 показаны типовые примеры действия операции Evaluate Symbolically.

Здесь слева показаны исходные выражения, подвергаемые символьным преобразованиям, а справа — результат этих преобразований. Так представлены и другие примеры, приведенные в этой главе.

Рис. 8. 2 Действие операции Evaluate Symbolically

Операция Evaluate Symbolically одна из самых мощных. Как видно на рис. 8. 2, она позволяет в символьном виде вычислять суммы (и произведения) рядов, производные и неопределенные интегралы, выполнять символьные и численные операции с матрицами.

Эта операция содержит подменю со следующими командами:

Evaluate Symbolically [Shift+ F9] — выполнить символьное вычисление (Вычислить в символах) выражения;

Floating Point Evaluation... — выполнить арифметические (С плавающей точкой) операции в выражении с результатом в форме числа с плавающей точкой;

Complex Evaluation — выполнить преобразование с пред- (В комплексном виде) ставлением в комплексном виде.

Команда Evaluate Symbolically тут наиболее важная. Назначение других команд очевидно: они нужны, если результат требуется получить в форме комплексного или действительного числа. К примеру, если вы хотите вместо числа л получить 3. 141..., используйте команду Floating Point Evaluation. В режиме символьных вычислений результат может превосходить машинную бесконечность системы — см. пример на вычисление ехр ( 1000. 0) на рис. 7. 2. При этом число точных значащих цифр результата практически не ограничено (или, точнее говоря, зависит от емкости ОЗУ).

8. 4. Упрощение выражений (Simplify)

Символьная операция Simplify (Упростить) — одна из самых важных. Эта операция позволяет упрощать математические выражения, содержащие алгебраические и тригонометрические функции, а также выражения со степенными многочленами (полиномами).

Упрощение означает замену более сложных фрагментов выражений на более простые. Приоритет тут отдается простоте функций. К примеру, функция tan (x) считается более сложной, чем функции sin (x) и cos (. x). Поэтому tan (x) упрощается так, что получает представление через соотношение этих функций, что несколько неожиданно, так как в некоторых пакетах символьной математики, например Derive, ситуация иная: они заменяют отношение sin (x)/cos (x) функцией tan (x).

Эта команда открывает широкие возможности для упрощения сложных и плохо упорядоченных алгебраических выражений. На рис. 8. 3 даны примеры применения операции Simplify.

Рис. 8. 3 Действие операции Simplify

Два последних примера на приведенном рисунке показывают, как с помощью операции Simplify можно выполнять символьные вычисления производных и определенных интегралов. Результатом вычислений могут быть специальные математические функции (см. последний пример, в котором символьное значение интеграла дает результат, выраженный через интегральный синус). Вполне возможно вычисление производных высшего порядка. На рис. 8. 4 показано последовательное применение операции Simplify для вычисления производных алгебраического выражения, от первой до пятой включительно.

Система MathCAD содержит встроенную функцию для вычисления значений определенных интегралов приближенным численным методом. Ею целесообразно пользоваться, когда нужно просто получить значение определенного интеграла в виде числа. Однако команда Simplify применительно к вычислениям определенных интегралов делает гораздо больше — она ищет аналитическое выражение для интеграла. Более того, она способна делать это и при вычислении кратных интегралов, пределы которых — функции. Наглядный пример этому дает рис. 8. 5.

На рис. 8. 6 показано применение операции Simplify для вычисления сумм и произведений символьных последовательностей. Результат операции, как и следовало ожидать, получается в символьной форме (если она существует).

Приведенные примеры могут создать впечатление, что MathCAD лихо справляется со всеми производными, интегралами, суммами и произведения-

Рис. 8. 4 Вычисление производных алгебраического выражения с порядком от 1 до 5

Рис. 8. 5 Вычисление двойных и тройных определенных интегралов

ми с помощью операции Simplify. К сожалению, это далеко не так. Нередко система не справляется с кажущимися простыми справочными примерами. Надо помнить, что символьный процессор системы MathCAD обладает заметно урезанной библиотекой функций и преобразований (в сравнении с библиотекой системы Maple V). Поэтому часто система не находит решение в замкнутом виде, хотя оно и приводится в справочнике. Тогда система повторяет введенное выражение или сообщает об ошибке.

Следует также отметить, что при выполнении командами меню Symbol символьных вычислений выражения необходимо указывать явно. Например, недопустимо вводить некоторую функцию пользователя F (x) и пытаться найти ее производные или интеграл. Это существенное ограничение, и котором надо всегда помнить. Однако оно преодолимо при выполнении вычислений с помощью функций системы SmartMath, которая описывается в дальнейшем;

Рис. 8. 6 Вычисление сумм и произведений символьных последовательностей

главное в том, что для вывода символьных вычислений в этом случае используется оператор —>.

В результате преобразований могут появляться специальные функции — как встроенные в систему (функции Бесселя, гамма-функция, интеграл вероятности и др.), так и ряд функций, дополнительно определенных при загрузке символьного процессора (интегральные синус и косинус, интегралы Френеля, эллиптические интегралы и др.) Последние нельзя использовать при создании математических выражений.

8. 5. Расширение выражений (Expand)

Действие операции Expand (Разложить по степеням) в известном смысле противоположно действию операции Simplify. Подвергаемое преобразованию выражение расширяется с использованием известных (и введенных в символьное ядро) соотношений, например алгебраических разложений многочленов, произведений углов и т. д Разумеется, расширение происходит только в том случае, когда его результат однозначно возможен Иначе нельзя считать, что действие этой операции противоположно действию операции Simplify. К примеру, операция Simplify преобразует сумму квадратов синуса и косинуса в 1, тогда как обратное преобразование многозначно и потому в общем виде невыполнимо

При преобразовании выражений операция Expand Expression старается более простые функции представить через более сложные, свести алгебраические выражения, представленные в сжатом виде, к выражениям в развернутом виде и т д Примеры действия операции Expand Expression даны на рис. 8 7

Последний пример на этом рисунке показывает, что результатом операции может быть специальная математическая функция, которая считаегся более сложным выражением, чем порождающее ее выражение С виду, однако, выражения со специальными математическими функциями обычно выглядят гораздо проще, чем исходные выражения

Рис. 8. 7 Действие операции Expand Expression

8. 6. Разложение выражений (Factor)

Операция Factor Expression (Разложить на множители) используется для факторизации — разложения выражений или чисел на простые множители Она способствует выявлению математической сущности выражений, к примеру, наглядно выявляет представление полинома через его действительные корни, а в том случае, когда разложение части полинома содержит комплекс-

Рис. 8. 8 Действие операции Factor Expression

но-сопряженные корни, порождающее их выражение представляется квадратичным трехчленом. Примеры действия этой операции даны на рис. 8. 8.

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

8. 7. Комплектование по выражениям (Collect)

Операция Collect (Разложить по подвыражению) обеспечивает замену указанного выражения выражением, скомплектованным по базису указанной переменной, если такое представление возможно. В противном случае появляется окно с сообщением о невозможности комплектования по указанному базису. Эта команда особенно удобна, когда заданное выражение есть функция ряда переменных и нужно представить его в виде функции заданной переменной, имеющей вид степенного многочлена. При этом другие переменные входят в сомножители указанной переменной, представленной в порядке уменьшения ее степени. На рис. 8. 9 показаны примеры действия этой операции.

Рис. 8. 9 Действие операции Collect

В том случае, когда комплектование по базису указанной переменной невозможно, система выдает сообщение об этом. Оно выводится в отдельном небольшом информационном окошке.

8. 8. Вычисление коэффициентов полиномов (Polynomial Coefficients)

Операция Polynomial Coefficients (Полиномиальные коэффициенты), в ранних версиях MathCAD отсутствующая, служит для вычисления коэффициентов полинома. Операция применяется, если заданное выражение — полином

Рис. 8. 10 Примеры применения операции Polynomial Coefficients

(степенной многочлен) или может быть представлено таковым относительно выделенной переменной На рис 810 показаны примеры применения этой операции

Результатом операции является вектор с коэффициентами полинома Операция полезна при решении задач полиномиальной аппроксимации и регрессии

8. 9. Дифференцирование по заданной переменной (Differentiate)

Следующая группа символьных операций выполняется с выражениями, требующими указания переменной, по отношению к которой выполняется операция Для этого достаточно установить на переменной курсор ввода Само выражение при этом не указывается отдельно, поскольку указание в нем на переменную является одновременно и указанием на само выражение. Если выражение содержит другие переменные, то они рассматриваются как константы Изучим операции этой группы, начиная с операции дифференцирования

Нахождение символьного значения производной — одна из самых рас пространенных задач в аналитических вычислениях. Операция Differentiate (Дифференцировать по переменной) возвращает символьное значение производной выражения по той переменной, которая указана курсором Для вычисления производных высшего порядка (свыше 1) нужно повторить вычисление необходимое число раз На рис 811 показано применение операции дифференцирования

В трех последних примерах на рис 811 показано, что в выражениях, производная которых вычисляется, могут стоять и встроенные в систему специальные математические функции Они могут появляться и в результатах вычислений

Рис. 8. 11 Примеры символьного дифференцирования

Особое внимание стоит обратить на последний пример. Попытка вычислить производную от функции Бесселя здесь ведет к тому, что результат направляется в буфер обмена, поскольку представлен в виде функций или действий, содержащихся в ядре символьных операций системы, но недоступных символьному процессору. Поэтому результат дифференцирования вызывается из буфера обмена командой Paste (Вставить). Такой результат нельзя использовать в других операциях прямо, но он вполне подходит для творческого осмысления пользователем. Тот и решает, полезен результат или нет

8. 10. Интегрирование по заданной переменной (Integrate)

Другая не менее важная операция при символьных вычислениях — вычисление интегралов (или нахождение первообразных) для аналитически заданной функции. Для этого используется операция Integrate (Интегрировать по переменной). Она возвращает символьное значение неопределенного интеграла по указанной курсором ввода переменной. Выражение, в состав которого входит переменная, является подынтегральной функцией.

На рис. 8. 12 показаны примеры символьного интегрирования по переменной х. Визуализация таких вычислений (как и описанных выше), прямо скажем, не велика если бы не поясняющие текстовые комментарии, то было бы совсем неясно, откуда берутся выражения в документе и резульгаты чего они представляют

Как и для операции дифференцирования, в состав исходных выражений и результатов символьного интегрирования могут входить встроенные в систему специальные математические функции. На это указывают два последних примера из приведенных на рис. 8. 12.

Рис. 8. 12 Примеры символьного интегрирования

8. 11. Решение уравнения относительно заданной переменной (Solve)

Если задано некоторое выражение F (x) и отмечена переменная х, то операция Solve (Решить) возвращает символьные значения указанной переменной х, при которых F (x) ==0. Это очень удобно для решения алгебраических уравнений, например квадратных и кубических, или для вычисления корней полинома. Рис. 8. 13 содержит примеры решения квадратного уравнения и нахождения комплексных корней полинома четвертой степени.

Рис. 8. 13 Примеры решения уравнений

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

С помощью операции Paste (Вставить) в позиции Edit (Правка) главного меню можно перенести решение в основное окно системы, но оно имеет уже тип текстового комментария, а не математического выражения, пригодного для дальнейших преобразований. Впрочем, часть его можно (опять-таки с помощью буфера обмена) ввести в формульные блоки для последующих преобразований и вычислений.

Более того, форма представления результата в таком случае отличается от принятой в системе MathCAD (например, в качестве знака деления используется косая черта, для возведения в степень — составной знак** и т. д.). Это сделано ради компактности представления результатов вычислений. Рис. 8. 14 показывает результат решения кубического уравнения в символьном виде.

Рис. 8. 14 Решение кубического уравнения в символьном виде

Последний пример наглядно иллюстрирует проблему "разбухания" результатов. Если при решении квадратного уравнения получены простые выражения, известные даже школьникам (рис. 8. 13 — первый пример), то при увеличении порядка уравнения всего на единицу результат оказался представленным весьма громоздкими и малопригодными для анализа формулами. Хорошо еще, что существующими!

В случаях, подобных приведенному, пользователю надо реально оценить свои силы в упрощении решения. Это придется сделать вручную. При технических расчетах специалист нередко знает, какие из параметров решения несущественны и может отбросить их. Однако для строгих математических расчетов это не всегда возможно, поэтому даже громоздкий результат может быть весьма полезным с познавательной точки зрения.

8. 12. Подстановка для заданной переменной (Substitute)

Операция Substitute (Подстановка) возвращает новое выражение, полученное путем подстановки на место указанной переменной некоторого другого выражения. Последнее должно быть подготовлено и скопировано (операциями Cut или Copy) в буфер обмена. Наряду с получением результата в символьном виде эта команда позволяет найти и числовые значения функции некоторой переменной путем замены ее на числовое значение. На рис. 8. 15 представлены примеры операций с подстановкой.

Рис. 8. 15 Примеры операций с подстановкой

Подстановки и замены переменных довольно часто встречаются в математических расчетах, что делает эту операцию весьма полезной. Кроме того, она дает возможность перейти от символьного представления результата к числовому.

8. 13. Разложение в ряд Тейлора по заданной переменной (Expand to Series...)

Операция Expand to Series... (Разложить в ряд) возвращает разложение в ряд Тейлора выражения относительно выделенной переменной с заданным по запросу числом членов ряда n (число определяется по степеням ряда). По умолчанию задано п=6. Разложение возможно для функции заданной переменной. В разложении указывается остаточная погрешность разложения. На рис. 8. 16 представлено применение этой операции для разложения функции sin (x)/x. Минимальная погрешность получается при малых х (см. графическое представление функции и ее ряда).

Символьные операции нередко можно комбинировать для решения сложных задач. Рис. 8. 17 показываег интересное решение одной из таких задач — вычисление определенного интеграла, который не берется в замкнутой форме.

Рис. 8. 16 Пример на разложение функции в ряд Тейлора

Рис. 8. 17 Взятие определенного интеграла в символьной форме с заменой подынтегральной функции ее разложением

Если пользователя (например, инженера) интересует просто числовое значение интеграла, надо лишь поставить после интеграла знак вывода = и значение интеграла будет вычислено адаптивным численным методом Симп-сона. Однако вычислить такой интеграл с помощью операции Simplify (Упростить) не удастся после долгих попыток система сообщит, что интеграл в замкнутой форме не берется.

Прием, который иллюстрирует рис. 8. 17, заключается в замене подынтегральной функции ее разложением в ряд Тейлора. Вначале получим такое разложение с избытком — для 10 членов ряда (однако учтенных нечетных членов тут нет, такова специфика функции). Далее, выделив четыре первых реальных члена и используя операции Copy (Копировать) и Paste (Вставить) в позиции Edit (Правка) главного меню, поместим это разложение на место шаблона подынтегральной функции. Теперь проблем с вычислением интеграла операцией Simplify не будет

Интеграл получен в форме числа е=ехр (1), помноженного на дробный множитель, представленный в рациональной форме (отношения целых чисел) Это обстоятельство, возможно, бесполезное для рядового пользователя, наверняка будет весьма положительно воспринято математиком, поскольку здесь напрашиваются определенные аналитические выводы (которых нельзя сделать при вычислении интеграла численными методами)

8. 14. Разложение на правильные дроби (Convert to Partial Fraction)

Операция Convert to Partial Fraction (Разложить на элементарные дроби) возвращает символьное разложение выражения, представленное относительно заданной переменной в виде суммы правильных целых дробей. На рис 8 18 даны примеры такого разложения

Рис. 8. 18 Примеры разложения на дроби

Как видно из представленных примеров, применение этой операции в большинстве случаев делает результат более длинным, чем исходное выражение Однако он более нагляден и содействует выявлению математической сущности исходного выражения

8. 15. Транспонирование матрицы (Transpose)

Символьный процессор системы MathCAD обеспечивает проведение в символьном виде трех наиболее распространенных матричных операций' транспонирование и обращение матриц, а также вычисление их детерминанта.

Эти операции в подменю Matrix обозначены так: Transpose (Транспонировать), Invert (Обратить) и Determinant (Найти определитель). Если элементы матрицы — числа, то выполняются соответствующие операции в числовой форме.

Транспонирование матрицы означает перестановку строк и столбцов. Оно реализуется операцией Transpose (Транспонировать). Подлежащая транспонированию матрица должна быть выделена.

8. 1 б. Обращение матриц (Invert)

Обращение матриц означает создание такой матрицы А-1, для которой произведение ее на исходную матрицу А дает единичную матрицу, т. е. матрицу с диагональными элементами, равными 1, и остальными — нулевыми. Обращение допустимо для квадратных матриц с размером NxN, где N> 1 — число строк и столбцов матрицы. Такую же размерность имеет и обращенная матрица.

Обращение матриц — широко распространенная математическая задача. Существует множество программ на разных языках программирования, решающих эту задачу с той или иной степенью успеха. Для MathCAD это рутинная задача. На рис. 8. 19 приведены примеры выполнения типовых матричных операций. Последняя из них — обращение матрицы в символьной форме с помощью операции Invert.

Рис. 8. 19 Примеры матричных операций в символьной форме

При выполнении матричных операций в символьной форме проблема "разбухания" результатов становится весьма серьезной. Если, к примеру, для обратной матрицы с размером 2х2 или 3х3 еще можно получить ответ, размещающийся в окне документа, то для матриц большего размера это становится невозможным. Впрочем, большинство аналитических задач очень редко оперирует такими матрицами.

8. 17. Функции преобразований Фурье, Лапласа и Z-преобразований

Для выполнения широко распространенных в технических и научных приложениях преобразований Фурье (Fourie и Inverse Fourie), Лапласа (Laplace и Inverse Laplace) и Z-преобразований (Z и Inverse Z) служат соответствующие операции в подменю позиции Symbolic главного меню

Для применения этих операций следует записать исходное выражение и отметить в нем переменную, относительно которой будет производиться преобразование Тогда указанные выше операции становятся доступными и выделяются четкими надписями

Не вдаваясь в суть перечисленных достаточно известных преобразований, приведем простейшие примеры их применения, они показаны на рис 8 20 Здесь даны примеры как прямого, так и обратного (Inverse) преобразования каждого типа

Рис. 8. 20 Примеры применения функций преобразования Фурье, Лапласа и Z-преобразований

Не следует полагать, что для всех случаев результаты преобразования будут в точности совпадать со справочными и что результат двойного преобразования (вначале прямого, а затем обратного) приведет к первоначальной функции Указанные преобразования довольно сложны, и грамотное применение их требует соответствующих математических познаний Не случайно в ранние версии MathCAD (например, 3 0) они не были включены в виде команд

8. 18. Установка стиля эволюции символьных выражений (Evolution Style...)

Последняя позиция подменю Symbolic — Evalution Style... — служит для установки стиля эволюции выражений, над которыми выполняются символьные операции Напомним, что под эволюцией математических выражений в данном случае подразумеваеюя изменение их вида в результате символьных преобразований.

Данная операция выводит окно с установками стиля эволюции, показанное на рис. 8. 21.

Рис. 8. 21 Окно установки стиля эволюции

В этом окне можно установить три тина вывода результата символьных преобразований:

Vertically, inserting lines — расположение результата под основным

(Вертикально, включая линии) выражением с включением пустых линий,

Vertically, without inserting lines — расположение результата прямо под

(Вертикально, без линий) основным выражением;

Gorizontally (По горизонтали) — расположение результата рядом (по го ризонтали) с основным выражением.

Кроме того, установкой знака "птички" в прямоугольниках можно ввести еще две опции:

Show Comments — наблюдать комментарии;

(Просмотр комментариев)

Evaluate in Place (Замещать) — заместить исходное выражение резуль татом его символьного преобразования.

Все варианты стиля вывода результатов символьных операций представлены на рис. 8. 21. В ряде случаев предпочтительно применение символьного оператора вывода —>, который делает символьные преобразования более наглядными.

8. 19. Интерпретация результатов символьных операций в буфере обмена

Необходимо отметить, что не всегда результат символьных операций выводится в окно редактирования. Иногда он оказывается настолько громоздким, что MathCAD использует специальную компактную форму его представления и помещает его в буфер обмена. Уже оттуда его можно вызвать в текстовом формате в окно редактирования, нажав клавишу F4 или клавиши Shift+ Ins. To же самое можно сделать с помощью команды Copy (Копировать) в позиции Edit (Правка) главного меню.

Записи математических выражений в буфере обмена напоминают их записи на языке Фортран:

• справедливы операторы арифметических операций+, -,* и /;

• возведение в степень обозначается как**;

• первая производная функции f (x) записывается в виде diff (f (x), x), а п-я производная в виде diff (f (x), x$n);

• частная производная обозначается как D, п-го порядка (D, n) и по п-му аргументу как (D [n]);

• интеграл с подынтегральной функцией/^) записывается как int (f (x), x);

• операторы суммы и произведения обозначаются как sum () и product ();

• композиция функций указывается символом @ [например, (exp@cos) (x) означает exp (sin (x)) \,

• кратная композиция указывается символами @@ [например, (f (@@3) (x) означает f (f (f (x)))};

• замещение любого корня уравнения указывается записью RootOf (уравнение) [например, оба корня i и -г уравнения Z** 2+ 1=0 представляются записью RootOf (Z** 2+ l)].

С помощью команды Save As... (Сохранить как) в позиции File папки обмена можно сохранить последнее содержимое буфера обмена в виде текстового файла. Это может быть полезным для осмысления и анализа полученного результата. В Windows 95 доступ к папке обмена обеспечивает приложение "Просмотр папки обмена", которое находится в папке "Стандартные" меню программ.

8. 20. Применение преобразований Лапласа для

аналитического решения дифференциальных уравнений

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

Однако это совсем не означает бесполезности таких результатов. Напротив, пользователь, владеющий приемами аналитических вычислений, может успешно использовать такие результаты для решения серьезных математических задач. Здесь мы остановимся на задаче получения аналитического решения для линейных дифференциальных уравнений. Сразу отметим, что системы компьютерной алгебры Mathematica 2. 2. 2 или Maple V R3/R4 легко решают подобные задачи встроенными средствами. Рассмотрим, как это можно сделать в системе MathCAD 6. 0 PRO, таких средств не имеющей.

Для получения решения можно воспользоваться преобразованиями Лапласа. Это иллюстрирует рис. 8. 22, на котором подробно показан процесс получения результата. Приходится вручную запускать прямое преобразование Лапласа, по его результатам составлять алгебраическое уравнение и после решения запускать обратное преобразование Лапласа — оно дает решение в виде временной зависимости

Рис. 8. 22 Пример решения дифференциального уравнения второго порядка с применением преобразований Лапласа

На рис 8. 23 приведено решение другого дифференциального уравнения Используется тот же метод решения, что и в предыдущем примере.

Оба примера наглядно показывают, что помещаемый в буфер обмена результат символьных операций может быть очень полезным и порой предоставлять возможности, которые нельзя получить прямым образом. Это расширяет области применения системы MathCAD

Рис. 8. 23 Пример решения другого дифференциального уравнения


Глава 9 Работа с окнами

9. 1. Подменю для работы с окнами (Window)

Как и большинство программ, работающих в среде Windows, система MathCAD унаследовала от нее многооконный и удобный пользовательский интерфейс. Мы уже видели, что после загрузки системы появляется окно, содержащее полосы прокрутки для скроллинга изображения и средства управления для свертывания окна в пиктограмму и развертывания его на часть экрана или на весь экран. Окна появляются при выборе соответствующих опций меню или подменю, а также при выводе сообщений об ошибках. Традиционны для Windows и средства перемещения окон и плавного изменения их размеров.

Система MathCAD позволяет одновременно работать со многими задачами. Под каждую задачу она отводит свое окно. Одно из них обычно является активным — то, с которым происходит работа в настоящий момент. Состояние других документов "замораживается", но их можно пустить в работу в любое время без новой загрузки и без исполнения связанной с окном программы.

Основные операции с окнами сосредоточены в позиции Window (Окно) главного меню (см. рис. 9. 1).

Рис. 9. 1 Вид экрана MathCAD с подменю Window главного меню

Ниже указаны эти операции:

Cascade (Каскад) — расположить окна документов друг под дру гом так, чтобы были видны заголовки;

Horizontal (По горизонтали) расположить окна документов горизонтально;

Vertical (По вертикали) — расположить окна документов вертикально;

Arrange Icons — упорядочить размещение пиктограмм (Упорядочить пиктограммы) рабочих документов вдоль нижней границы окна приложения.

Кроме этих операций в подменю позиции Window имеется список окон, которые в данный момент открыты. Он позволяет быстро сделать активным указанное окно.

Рассмотрим действие основных команд управления окнами. Они позволяют пользователю подстроить графический интерфейс системы под свои вкусы и привычные возможности.

9. 2. Каскадное расположение окон (Cascade)

Операция Cascade (Каскад) задает каскадное расположение окон. При этом окна располагаются последовательно, частично закрывая друг друга. У закрытых окон обычно видна лишь титульная строка с именем окна, повторяющим имя загруженного на исполнение документа. Окно, расположенное поверх остальных, видно полностью.

Верхнее окно можно закрыть, указав курсором мыши на квадратик с треугольником, обращенным вершиной вниз. Окно при этом свертывается в пиктограмму, а следующее за ним выходит на передний план. Указание на квадратик с треугольником, обращенным вершиной вверх, развертывает окно почти во весь экран. На рис. 9. 2 показано каскадное расположение окон.

Рис. 9. 2 Расположение окон после выполнения операции Cascade

Каскадное расположение окон удобно для их переключения. Оно позволяет видеть имена сразу всех файлов, документы которых загружены в окна, и дает достаточно места для обзора активного окна. Однако при таком расположении окон затруднен перенос объектов из одного окна в другое.

9. 3. Расположение окон по горизонтали (Horizontal)

Операция Horizontal выводит на экран сразу все окна, причем они имеют одинаковый размер и расположены по горизонтали. Размер окон тем меньше, чем больше окон выведено. В каждом окне видна лишь часть загруженного в

нею документа Рис. 9. 3 показывает вид экрана после выполнения этой операции. В нашем случае использованы оба варианта разделения экрана — и по горизонтали, и по вертикали.

Рис. 9. 3 Расположение окон после выполнения операции Gorizontal

Равномерное расположение окон может оказаться наиболее удобным, если требуется скопировать блок из одного окна в другое. Однако здесь есть некоторая трудность: в уменьшенном по размеру окне видны не все блоки Поэтому не следует увлекаться одновременным выводом большого числа окон. Практика показывает, что чаще всего достаточно работать с двумя-тремя окнами И наконец, надо помнить, что в каждом окне возможен свой скроллинг изображений, поэтому несложно найти нужный объект, даже если он вначале не попал в видимую область окна.

9. 4. Расположение окон по вертикали (Vertical)

Операция Vertical выводит на экран сразу все окна, причем они имеют одинаковый размер и расположены вертикально Размер окон тем меньше, чем больше окон выведено. В каждом окне видна лишь часть загруженного в него документа. Рис. 9. 4 показывает вид экрана после выполнения этой операции

Строго горизонтальное или вертикальное расположение окон получается, если окон немного, например два или три. При большем числе окон деление экрана происходит как по горизонтали, так и по вертикали (см рис 9 5)

Выбор оптимального расположения окон зависит от характера работы с MathCAD Система позволяет перетаскивать мышью объекты из одного окна в другое Для такого перетаскивания достаточно выделить объект (или группу объектов — блок) и, удерживая нажатой левую клавишу мыши, перетащить объект (или блок) в другое окно. Для этой операции, облегчающей компоновку сложных документов, удобное расположение окон имеет важное значение.

Рис. 9. 4 Расположение окон после выполнения операции Vertical

Рис. 9. 5 Расположение большого числа окон после выполнения операции Vertical

9. 5. Приведение в порядок пиктограмм (Arrange Icon)

Если перевести часть окон в неактивное состояние, то они будут представлены на экране своими пиктограммами. Эти пиктограммы можно перемещать куда угодно, что нередко ведет к "захламлению" экрана (см. рис. 9. 6).

Операция Arrange Icon (Упорядочить значки) означает наведение порядка с пиктограммами. При ее выполнении пиктограммы размещаются строго в нижней части экрана, как показано на рис. 9. 7.

Рис. 9. 6 Экран,"захламленный" пиктограммами неактивных окон

Рис. 9. 7 Экран после выполнения операции Arrange Icon

Если в результате ваших действий пиктограммы оказались разбросанными по текущему окну, применение этой операции позволит собрать их вместе в левом нижнем углу текущего окна системы Такая операция типична для всех программных систем, работающих в среде операционной системы Windows Она избавляет нас от ручного перетаскивания пиктограмм и точной установки их в нужном месте

9. 6. Переключение окон и управление ими

Помимо перечисленных операции в позиции Window главного меню предусмотрена возможность переключения текущего окна Все введенные в систему документы регистрируются в специальном каталоге, который помещается в нижней части подменю позиции Window. Из каталога можно легко выбрать любое нужное сейчас окно и переключиться в режим редактирования и исполнения содержащегося в нем документа.

Каждое окно системы MathCAD содержит характерный для приложений под Windows квадратик с жирной короткой чертой (такой квадратик, но с длинной чертой содержит главное окно системы). Если активизировать эту область, указав ее курсором мыши и нажав левую клавишу, то из квадратика выпадет Windows-меню, содержащее следующие операции:

Restore (Восстановить) — восстановление обычного вида окна;

Move (Переместить) — перемещение окна по экрану;

Size (Размер) — изменение размеров окна;

Minimize (Свернуть) — свертывание окна в пиктограмму;

Maximize (Развернуть) — развертывание окна;

Close [Ctrl+ F4] (Закрыть) — закрытие текущего окна;

Next [Ctrl+ F6] (Следующее) — переход к следующему окну.

Эти операции характерны почти для всех прикладных программ, работающих в среде Windows, и на них не стоит останавливаться. Русскоязычная система Windows имеет это окно, естественно, с надписями на русском языке.

Если окон оказалось слишком много (ограничение в виде восьми окон в новой версии снято), то система откажется от ввода дополнительных документов и сообщит то этом в информационном окне. Для продолжения работы нужно очистить текущее окно командой New (Создать) в позиции File (Файл) главного меню или закрыть часть ставших ненужными окон. Для этого используется команда Close (Закрыть) из Windows-меню каждого окна. Вообще говоря, держать открытыми слишком много окон не рекомендуется в любом случае, так как это загромождает экран и уменьшает ресурсы ПК (прежде всего объем доступной памяти).


Глава 10 Работа с информационными ресурсами

10. 1. Информационные ресурсы системы MathCAD 7. 0 PRO

К информационным ресурсам системы MathCAD 7. 0 PRO относятся подсказка начального уровня Tip of the Day, электронный справочник по системе обучающая программа по ней, примеры применения (шпаргалки), электронные книги, справочные таблицы, доступ в Internet и др. Доступ ко всем этим ресурсам сосредоточен в подменю позиции Help (Справка) главного меню (рис. 10. 1).

Рис. 10. 1 Экран системы MathCAD 7. 0 PRO с открытым подменю позиции Help главного меню

Как видно из рис. 10. 1, подменю Help имеет следующие позиции:

Mathcad Help [Fl] — вызов справочной системы MathCAD;

(Справка по MathCAD)

Resource Center (Центр ресурсов) — вызов центра информационных ресурсов;

Tip of the Day — вызов оперативной подсказки;

(Оперативная подсказка)

Open Book... (Открыть книгу) — вызов окна оперативной справки;

Using Help (Использование — вызов информации о справочной

справочной системы) системе;

About Matchcad... — краткая информация о системе

(О системе MathCAD) MathCAD.

10. 2. Работа со справочной системой (MathCAD Help)

Справочная система MathCAD 7. 0 PRO — это большая база данных, объем которой намного превосходит объем данной книги (хотя она также является справочником). Однако назначение обычных справочных книг и назначение электронного справочника по системе принципиально различны.

Вначале в большинстве программных средств электронная справочная система была сокращенным вариантом обычного описания. Сейчас ситуация стала прямо противоположной — электронные справочные системы современных программных средств настолько разрослись, что публикация их содержания в обычном виде стала нецелесообразной.

Теперь обычный справочник является "выжимкой" наиболее важных сведений о системе, а электронный содержит детальную и полную информацию о ней.

Несмотря на удобство пользования обычной книгой электронная справочная система имеет свои явные достоинства:

• большой (и почти не ограниченный) объем информации;

• быстрый поиск информации;

• прекрасное оформление (в том числе цветовое);

• возможность немедленного исполнения примеров и их переноса в документы;

• естественное совмещение с системой.

Тем не менее такая система имеет и существенные недостатки:

• требует для применения компьютера;

• неудобна для систематического начального знакомства с системой;

• закрывает документ, с которым работает пользователь;

• требует обновления вызова после получения очередной справки;

• написана на языке оригинала (в нашем случае — на английском).

Последний недостаток особенно неудобен для русскоязычных пользователей. Многие считают, что это перечеркивает все достоинства электронной справочной системы и делает ее, по существу, бесполезной. К сожалению, это в основном так: большинство наших пользователей просто не пользуются электронным справочником системы MathCAD. Однако опытные пользователи, даже плохо владеющие английским языком, все же нередко обращаются к электронной справочной системе, поскольку она дает ответ на ряд редких и второстепенных вопросов, которые могут не попасть в обычные книги вследствие ограничения их объема (настоящая книга исключением не является)

Для вызова справочной системы можно:

• исполнить операцию Mathcad Help в подменю позиции Help главного меню;

• нажать клавишу F1;

• активизировать кнопку со знаком "?" в конце панели инструментов.

При этом появляется окно справочной системы, показанное на рис. 10. 2. Следует отметить, что справочная система является самостоятельным приложением и ее можно запускать независимо от собственно системы MathCAD.

Как видно из рис. 10. 2, окно справочной системы имеет три панели, которые вводят три вида справок: Содержание, Предметный указатель и Поиск. О причинах, по которым эти (и некоторые другие) надписи даны на русском языке, уже говорилось: окна справочной системы MathCAD заимствует из

Рис. 10. 2 Окно справочной системы

русскоязычной версии операционной системы Windows 95 Само же содержание справок, естественно, дано на английском языке (см рис 10 3, например)

Рис. 10. 3 Пример получения справки

Вторая панель окна справки (рис 104) дает доступ к индексному указателю справочной системы Достаточно в поле 1 ввести хотя бы часть наименования темы справки, как в поле 2 появится перечень ближайших ее разделов

После выбора нужного раздела его просмотр выполняется так, как это было описано выше Индексный указатель — мощное средство поиска нужных сведений

Рис. 10. 4 Панель индексного указателя справочной системы

10. 3. Построение и применение профессиональной справочной базы данных

Третья панель, Поиск, позволяет создать профессиональную справочную базу данных но системе MathCAD 7. 0 PRO. Эта база данных дает возможность найти все разделы справочной системы, в которых упоминается заданное слово или хотя бы его начальная часть. Поскольку для базы данных нужна дополнительная память на диске, она при инсталляции обычно не создается. Открытие панели Поиск ведет к выводу окна установки профессиональной справочной базы данных о сисгеме, показанного на рис. 10. 5.

Рис. 10. 5 Окно создания профессиональной справочной базы данных

Это окно является первым окном мастера подготовки профессиональной базы данных. Выбрав вид создаваемой базы и пройдя по этапам ее подготовки, можно получить окно поиска этой базы, показанное на рис 10. 6

Рис. 10. 6 Окно поиска темы профессиональной справочной базы данных

Найденная тема отображается подобно тому, как показано на рис 103. К сожалению, выйдя на показ интересующей пользователя темы, справочное окно закрывается вместе с окном справочной базы данных.

10. 4. Работа с центром информационных ресурсов (Resource Center)

Позиция Resource Center подменю Help открывает доступ к новой возможности системы MathCAD 7 О PRO центру информационных ресурсов. Центр ресурсов представляет собой мощную базу данных, объединяющую встроенные в систему введение, электронные книги, обучающую систему, быстрые примеры (шпаргалки), средства общения с фирмой — разработчиком системы и сетью Internet, средства регистрации и доступа к Web-библиотеке MathCAD и т. д.

При активизации позиции Resource Center открывается окно с перечнем (в виде красочных пиктограмм) входящих в центр ресурсов средств Это окно показано на рис. 10. 7.

Доступ к тому или иному средству центра ресурсов выполняется активизацией его пиктограммы курсором мыши и двойным щелчком левой ее клавиши В качестве примера на рис 10. 8 представлена титульная заставка раздела центра, относящегося к быстрым примерам — шпаргалкам Quicksheets Стоит выбрать нужный пример — и к вашим услугам появится документ с соответствующей шпаргалкой.

Окна со шпаргалками имеют обычный для Windows-приложений вид. На рис. 10. 9 показано полноэкранное окно одной из шпаргалок; она посвящена применению при программировании условного оператора IF

Рис. 10. 7 Окно центра ресурсов

Рис. 10. 8 Титульная заставка центра ресурсов, относящаяся к шпаргалкам

Тут надо отметить, что шпаргалки содержат сотни интересных (как простейших, так и сложных) примеров на применение системы MathCAD в практике математических и научно-технических расчетов

Большой интерес (даже у наших пользователей) вызовут справочные таблицы Reference Tables Они заменяют обычные таблицы физико химических и иных свойств различных веществ В качестве примера на рис 10 10 показана периодическая система элементов с данными об одном из элементов

Большой материал по применению системы MathCAD содержится в трех встроенных в центр ресурсов электронных книгах

Рис. 10. 9 Окно одной из шпаргалок

Рис. 10. 10 Пример применения периодической системы элементов

Solving — пособие по технике вычислений;

Practical Statistics — руководство по статистическим вычислениям;

Programming — руководство по программированию в среде

MathCAD 7. 0 PRO.

Следует отметить, что приведенные в данной книге многочисленные примеры в основном оригинальны. Так что примеры из упомянутых книг могут существенно расширить кругозор пользователя и лучше подготовить его к профессиональному применению системы. Хотя эти книги написаны (как и все в центре ресурсов) на английском языке, многие примеры достаточно понятны, тем более что комментарии к ним довольно кратки.

Тексты, формулы, графики (словом, любые объекты) можно легко перетаскивать из электронных таблиц и книг в документы MathCAD, что облегчает пользователю составление своих документов и обучающих программ.

10. 5. Электронная подсказка (Tip of the Day)

Весьма полезной для начального освоения системы является электронная подсказка Tip of the Day. Она вводится соответствующей операцией в подменю позиции Help главного меню. Эта подсказка построена по принципу ответа на вопрос "А знаете ли вы, что...".

Окно электронной подсказки было показано на рис. 1. 3. Работа с подсказкой настолько проста, что не нуждается в более полном описании, чем то, что было дано выше.

10. 6. Открытие электронных книг (Open Book...)

Отдельных электронных книг в типовом комплекте поставки системы MathCAD 7. 0 уже нет. Точнее, они вошли в центр ресурсов вместе с иными информационными средствами. Однако фирма MathSoft продолжает создавать электронные книги по самым различным вопросам. Поэтому возможность работы с электронными книгами сохранена и о них стоит упомянуть.

Электронными книгами в системе MathCAD называются взаимосвязанные наборы объединенных в тематические разделы документов, относящихся к самым различным сферам применения системы. Документы вызываются друг из друга, обеспечивая гипертекстовые перекрестные ссылки. Количество взаимосвязанных документов в одной книге может быть большим, до несколько сотен. В конечном счете оно определяется объемом дисковой памяти ПК.

Электронной книгой можно пользоваться, как обычной, для получения нужной информации. Конечно, для этого необходим компьютер с установленной на нем системой MathCAD. Однако преимущества электронных книг перед обычными весьма существенны:

• электронные книги имеют значительно улучшенное оформление материала по сравнению обычными (цветные графика и текст, различные приемы выделения математических выражений и т. д.);

• поиск информации в электронных книгах облегчен гипертекстовыми ссылками;

• электронные книги — действующие (работающие) объекты, т. е. вы можете изменить любые данные в них и примеры расчетов и тут же получить новые результаты;

• электронные книги допускают их модификацию пользователем (например, замену текстов, ввод новых комментариев и т. д.);

• статьи из электронных книг можно распечатать на принтере:

• электронные книги занимают мало места — на одном CD-ROM можно разместить информацию, эквивалентную размещенной в десятках обычных книг крупного формата;

• электронные книги могут посылаться по электронной почте и по сети Internet.

Для загрузки электронных книг служит операция Open Book (Открыть книгу). Она открывает окно загрузки и поиска файлов с электронными книгами, имеющих расширение. hbk. Это окно показано на рис. 10. 11.

Рис. 10. 11 Окно поиска и загрузки файлов с электронными книгами

MathCAD позволяет пользователю создавать свои книги или использовать уже готовые В частности, с русифицированной версией системы MathCAD 6 0 поставляется набор из трех встроенных книг на русском языке Desktop Reference — справочник по математическим расчетам, Book Sampler — примеры применений системы, Tutorial — самоучитель по правилам работы с системой MathCAD

Указанные книги содержат обширный материал Так, книга Desktop Reference — довольно полный справочник по математическим формулам и таблицам, в том числе относящимся к физике, химии, механике, электротехнике, радиотехнике и т д Использование этой книги избавляет пользователя от необходимости часто обращаться к обычной справочной литературе

Книга Book Sampler содержит сотни примеров применения системы в практике математических расчетов А книга Tutorial является небольшим самоучителем по системе, использующим мультимедийные возможности MathCAD, она содержит элементы динамической графики, поясняющие в какой последовательности пользователь должен выполнять действия в ходе проведения математических расчетов В основном книга учит элементам пользовательского интерфейса системы

Все эти книги могут пригодиться и пользователям версии системы MathCAD 7 О PRO, поскольку на уровне файлов новая и прежняя версии системы совместимы Это наглядно демонстрирует рис 10 12, на котором показана титульная страница русскоязычной книги Book Sampler

Кроме указанных, имеются десятки книг по самым различным областям применения системы MathCAD

• математические вычисления общего характера,

• реализация численных методов,

• расчеты в физике, механике, оптике, электро- и радиотехнике,

• статистические и экономические вычисления и т д

После инсталляции (ее процедура ничем не отличается от инсталляции в среде Windows любых приложений) указанные книги пополняют набор книг,

Рис. 10. 12 Титульная страница книги Book Sampler

входящих в систему, и с ними можно работать так же, как со встроенными книгами Это обеспечивает обширные возможности расширения системы и ее адаптации к интересующим пользователя задачам и проблемам Начат выпуск и отдельных книг на русском языке Пример работы с такой книгой приведен на рис 1013

Рис. 10. 13 Пример работы с русскоязычной книгой по экономическим расчетам

К сожалению, с точки зрения наших пользователей, у большинства книг есть существенный недостаток — они подготовлены на английском языке Учитывая, что в книгах используются многие специальные термины, перевод и понимание их достаточно сложны Однако в русифицированной версии MathCAD встроенные электронные книги имеют тексты на русском языке

Даже беглый обзор встроенных электронных книг и пакетов применений систем MathCAD требует большого места и выходит за рамки настоящей книги. Поэтому тут описываются лишь основные приемы работы с такими книгами.

Иллюстрации в книгах и содержащиеся в них математические формулы и тексты можно перенести в текст документа. Для этого надо просто активизировать специальную метку (звездочка с двумя точками под ней) около рисунка или формулы. Рисунок или формула будут перенесены на место, соответствующее местоположению курсора (не забудьте передвинуть его при очередном сеансе переноса рисунка или формулы).

Поскольку книги, в сущности, представляют собою обычные документы MathCAD, они просматриваются в окне редактирования этой системы и их можно редактировать, пополнять и модифицировать. Например, не выходя из системы, можно перевести тексты книг на русский язык. При этом система сохранит как измененную книгу, так и исходную. Так что оригинал всегда можно восстановить после модернизации.

10. 7. Использование справочной системы (Using Help...)

Сама по себе справочная система MathCAD достаточно сложна, хотя работа с нею интуитивно предсказуема. Тем не менее благодаря операции Using Help... (Использование справки) можно получить справку об использовании самой справочной системы (рис. 10. 14).

Рис. 10. 14 Окно с информацией о применении справочной системы

Уже говорилось, что кое-где надписи в окнах справочной системы англоязычных версий MathCAD появляются на русском языке. Окно, показанное на рис. 10. 14, вообще может озадачить: в нем абсолютно все надписи даны на русском языке, хотя использовалась оригинальная англоязычная версия системы MathCAD 7. 0 PRO.

Причина этого нового казуса тоже в том, что операция Using Help... запускает стандартную справочную систему Windows. В данном случае использовалась русифицированная версия Windows 95. Поэтому на рис. 10. 14 окно справочной системы MathCAD содержит все надписи на русском языке.

10. 8. Общие сведения о системе (About MathCAD)

Операция About MathCAD (0 программе MathCAD) мало что прибавляет к знаниям о системе MathCAD, она лишь выводит красочную заставку с указанием фирмы-разработчика и названия программного продукта (см. рис. 10. 15).

Рис. 10. 15 Заставка MathCAD 7. 0 PRO, выведенная при выполнении операции About MathCAD

Впрочем, кое-что любопытное в этой заставке есть; из нее, например, можно узнать, что MathSoft начала работу в 1986 г. и что разработка данного программного продукта выполнена уже в 1997 г.


Глава 11 Входной язык системы MathCAD 7. 0

11. 1. Базовые понятия входного языка системы

Система MathCAD практически избавляет нас от необходимости программировать решение многих задач. Уходит в прошлое подход, когда пользователь, прежде чем вычислить определенный интеграл или производную заданной функции либо просто рассчитать ряд ее значений, был вынужден изучать основы программирования на Фортране, Бейсике или Паскале, а затем составлять свои простенькие и не очень надежные программы или же разыскивать их в статьях и книгах, подобных [2], и самостоятельно загружать эти программы в ПК.

Впрочем, нельзя не отметить, что такие программы (если они составлены корректно и профессионально) обеспечивают существенно большую скорость проведения вычислений, чем MathCAD. Однако время, необходимое на их создание, намного превышает время на подготовку задач к решению в системе MathCAD.

MathCAD прежде всего требует от пользователя корректного описания алгоритма решения математической задачи на входном языке, очень напоминающем общепринятый язык описания математических и научно-технических расчетов. Естественно, это описание должно быть исчерпывающе полным и абсолютно точным. Тем не менее сказанное не означает, что решение задач в системе MathCAD нельзя назвать программированием. Просто MathCAD обладает специализированным входным языком программирования очень высокого уровня, ориентированным на математические расчеты.

Поэтому, рассматривая входной язык системы как язык программирования, мы можем выделить в нем типичные понятия и объекты, такие, как идентификаторы, константы, переменные, массивы и другие типы данных, операторы и функции, управляющие структуры и т. д. Четкое представление об их возможностях и правилах применения (синтаксисе) весьма полезно при решении задач умеренной и высокой сложности.

Ниже описан входной язык системы MathCAD PLUS 7. 0. Он содержит все операторы и функции, которые были во всех предшествующих версиях системы - MathCAD 3. 0/4. 0/5. 0/ PLUS 5. 0/6. 0/PLUS 6. 0 PRO, что позволяет использовать материал этой главы пользователям, работающим с любой из указанных версий. Для этого в приведенных ниже изображениях экрана, как правило, удалены элементы интерфейса, характерные для MathCAD 7. 0 PRO. Функции, имеющиеся только в профессиональных версиях (с приставкой PRO в названии), выделены символом Ф.

Алфавит MathCAD 7. 0 PRO

Алфавит входного языка системы определяет совокупность символов и слов, которые используются при задании команд, необходимых для решения интересующего пользователя класса задач. Алфавит системы MathCAD содержит:

• строчные и прописные латинские буквы;

• строчные и прописные греческие буквы;

арабские цифры от 0 до 9;

системные переменные;

операторы;

имена встроенных функций;

спецзнаки;

строчные и прописные буквы кириллицы (при работе с русифицированными документами).

К укрупненным элементам языка относятся типы данных, операторы, функции пользователя и управляющие структуры. Все эти элементы присущи и любому другому языку программирования.

К типам данных относятся числовые константы, обычные и системные переменные, массивы (векторы и матрицы) и данные файлового типа. По числу типов данных система MathCAD несколько уступает современным языкам программирования (к примеру, в ней нет данных типа записей, множеств и др.). Это связано с определенной специализацией языка, направленной на математические расчеты общего характера. Впрочем, тенденция расширения типов данных в MathCAD налицо; в конце этой главы описан новый тип данных (строковые), которые появились в MathCAD 7. 0 PRO.

Числовые константы

Константами называют поименованные объекты, хранящие некоторые значения, которые не могут быть изменены. В качестве имени числовых констант используются их числовые значения (к примеру, значения констант 0 и 1 есть соответственно ноль и единица). В системе MathCAD используются и числовые константы, значениями которых являются числа с разной системой исчисления: десятичные, восьмеричные или шестнадцатеричные.

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

123 — целочисленная десятичная константа;

12. 3 — десятичная константа с дробной частью;

12. 3* 10-5 —десятичная константа с мантиссой (12. 3) и порядком-5.

Эти формы представления числовых констант естественны, и их не стоит обсуждать, за исключением двух важных аспектов. Порядок числа вводится умножением мантиссы на 10 в степени, определяющей порядок. Во многих языках программирования принят ввод чисел в виде 12. 3е-5, где разделительный символ е указывает на порядок. Этот не вполне естественный для математики ввод числа в системе MathCAD устранен.

Далее надо отметить, что знак умножения* при выводе числа на экран меняется на привычную математикам точку, а операция возведения в степень (с применением спецзнака ^) отображается путем представления порядка в виде надстрочного элемента. Десятичные числа имеют основание 10. Диапазон их возможных значений лежит в пределах от 10^07 до 10^307 (это машинная бесконечность и машинный ноль).

Восьмеричные и шестнадцатеричные числа

Система MathCAD может работать с восьмеричными и шестнадцатеричными числами. Восьмеричные числа имеют основание 8, так что один их разряд может иметь значения от 0 до 7. Такие числа в конце отмечаются латинской буквой О (от слова octal — восьмеричное).

Шестнадцатеричные числа имеют основание 16, и их разряд может иметь значения:

HEX 0123456789ABCDEF DEC О 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Шестнадцатеричные числа имеют в конце отличительный признак в виде буквы h или Н (от слова hexagonal — шестнадцатеричное). Под сокращенным названием этих чисел HEX приведены их десятичные значения DEC (от decimal — десятичное).

Применение восьмеричных и шестнадцатеричных чисел в обычной математике ограничено, и в дальнейшем мы эти числа (а также константы на их основе) использовать не будем. Однако отметим, что если шестнадцатеричное число начинается с буквы (например, АВС0), то система будет путать его с возможным именем переменной. Для устранения потенциальных ошибок такие числа надо начинать с цифры 0 (ноль). В математических выражениях можно комбинировать числа различного типа (например, 10+ 0eh = 18H).

Комплексные числа

Большинство вычислений система выполняет как с действительными, так и с комплексными числами, которые обычно представляются в алгебраическом виде:

Z = ReZ+ i* ImZ или Z = ReZ+ j* ImZ

Здесь ReZ — действительная часть комплексного числа Z, ImZ — его мнимая часть, а символы i или j обозначают мнимую единицу, т. е. корень квадратный из -1. Такое представление характерно и для системы MathCAD (за исключением того, что знак равенства не есть знак присваивания). Итак, если ReZ = 2, а ImZ = 3, то комплексная числовая константа в системе MathCAD должна быть задана в виде 2+ г* 3 или 2+ j* 3.

Однако система не всегда знает, какой символ применить для обозначения мнимой единицы. Поэтому перед использованием любых операций с комплексными числами полезно вначале определить i или,/' как мнимую единицу (т. е. присвоить им значение квадратного корня из -1).

Единицы измерения

В системе может применяться особый вид констант — единицы измерения размерных величин. Помимо своего числового значения они характеризуются еще и указанием на то, к какой физической величине они относятся. Для этого указания используется символ умножения. В системе MathCAD заданы следующие основные типы физических величин: time (время), length (длина), mass (масса) charge (заряд) и др. При необходимости их можно изменить на другие.

Строковые константы

В описываемую версию MathCAD включены данные строкового типа. Как обычно, строковая константа — это строка, заключенная в кавычки, например:

"My_name" или "My first example". В строковую константу могут входить один или несколько символов либо слов.

Переменные

Переменные являются поименованными объектами, имеющими некоторое значение, которое может изменяться по ходу выполнения программы. Имена констант, переменных и иных объектов называют идентификаторами. Тип переменной определяется ее значением; переменные могут быть числовыми, строковыми, символьными и т. д.

Идентификаторы в системе MathCAD могут иметь практически любую длину, и в них могут входить любые латинские и греческие буквы, а также цифры. Однако начинаться идентификатор может только с буквы, например:

х, xl, alfa, X_coordinate. Кроме того, идентификатор не должен содержать пробелов. Некоторые спецсимволы (например, знак объединения _) могут входить в состав идентификаторов, другие (например, знаки операторов арифметических действии) — недопустимы. Нельзя использовать для идентификаторов буквы русского языка. Строчные и прописные буквы в идентификаторах различаются. Идентификаторы должны быть уникальными, т. е. они не могут совпадать с именами встроенных или определенных пользователем функций.

Переменные могут также быть строкового типа, например N: ="My_name". Для обработки строковых констант и переменных в MathCAD 7. 0 PRO введен ряд строковых функций, которые мы рассмотрим в дальнейшем. Заметим, что этот вид данных в прежних версиях системы MathCAD отсутствовал.

Системные переменные

В MathCAD содержится небольшая группа особых объектов, которые нельзя отнести ни к классу констант, ни к классу переменных. Их правильнее считать системными переменными, имеющими предопределенные системой начальные значения. Ниже указаны эти объекты и приведены их начальные значения (в скобках):

Объект Ввод Назначение

л Ctrl+ P Число "пи" (3.14..)

е е Основание натурального

логарифма (2. 71..)

Ctrl+ Z Системная бесконечность (1 (^307)

% % Процент (0. 01)

TOL Погрешность численных методов (0. 001)

ORIGIN Нижняя граница индексации массивов (0)

PRNCOLWIDTH Число столбцов оператора WRITEPRN (8)

PRNPRECISSION Число десятичных знаков, используемых оператором WRITEPRN (4)

FRAME Переменная счетчика кадров при работе с анимационными рисунками (0)

Пять последних переменных вводятся набором их имен. Значения системных переменных, как и обычных, могут быть в дальнейшем изменены путем присваивания им новых значений. К примеру, значение е можно изменить так, что эта переменная будет означать заряд электрона, а вовсе не основание натурального логарифма. Однако рекомендуется этого не делать во избежание двойного истолкования таких переменных.

Операторы

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

Функции встроенные и задаваемые пользователем

MathCAD имеет множество встроенных функций, которые обладают особым свойством: в ответ на обращение к ним по имени с указанием аргумента (или списка аргументов) они возвращают некоторое значение — символьное, числовое, вектор или матрицу. В систему встроен ряд функций, например функция вычисления синуса sin (x) аргумента х, логарифма \п (х) и т. д. Наряду со встроенными функциями могут задаваться и функции пользователя, отсутствующие в MathCAD. Благодаря встроенным функциям обеспечивается расширение входного языка системы и его адаптация к задачам пользователя.

Математические выражения

Функции (наряду с операторами) могут входить в математические выражения. Например, в выражении

У := 2* ln (x)+ i

Y — переменная, 1 и 2 — числовые константы,* и+ — операторы, ln (x) — встроенная функция с аргументом х. Напоминаем, что встроенные функции в данной книге выделяются полужирным шрифтом (за исключением примеров их записей в документах, где специальных выделений нет).

При выполнении символьных операций переменные р и е используются только в символьном виде. Это значит, что их числовые значения не вычисляются при выводе результатов вычислений. К примеру, число 2л=6. 141... выводится как 2п, а не как приближенное численное значение.

Присваивание переменным значений

Обычные переменные отличаются от системных тем, что они должны быть предварительно определены пользователем, т. е. им необходимо хотя бы однажды присвоить значение. В качестве оператора присваивания используется знак: =, тогда как знак = отведен для вывода значения константы или переменной. Попытка использовать неопределенную переменную ведет к выводу сообщения об ошибке — переменная окрашивается в ярко-красный цвет. Существует также жирный знак равенства, который используется либо как признак неравенства в операциях сравнения, либо как оператор приближенного равенства (в прежних версиях этот знак имел вид =).

В версии MathCAD 7. 0 допустимо при первом присваивании вводить знак = (например, х=123). Система сама заменит его на знак: =. Эта возможность скорее исключение, чем правило; знаком присваивания все же является знак: =.

Если переменной присваивается начальное значение с помощью оператора: =, такое присваивание называется локальным. До этого присваивания переменная не определена и ее нельзя использовать. Однако с помощью знака = (три горизонтальные черточки) можно обеспечить глобальное присваивание, т. е. оно может производиться в любом месте документа. К примеру, если переменной присвоено таким образом значение в самом конце документа, то она будет иметь это же значение и в начале документа. Разумеется, в дальнейшем значение можно изменить и с помощью операции локального присваивания (см. рис. 11. 1).

Рис. 11. 1 Особенности локального и глобального присваивания переменным их числовых значений

Переменные могут использоваться в математических выражениях, быть аргументами функций или операндом операторов. Далее мы рассмотрим особые виды переменных, в частности индексированные (элементы векторов и матриц), а также переменные с заданными пределами их изменения (ранжированные переменные).

Статус присваивания не следует путать со статусом самих переменных. Все переменные, описанные выше, являются глобальными, поскольку можно определять их в любом месте документа и также в любом месте изменять их значение. Локальные переменные в системе MathCAD содержатся в телах функций пользователя. Эти функции будут рассмотрены ниже.

Переменные могут быть и размерными, т. е. характеризоваться не только своим значением, но и указанием физической величины, значение которой они хранят. Для присваивания значений таким переменным используется знак =. На рис. 11. 2 представлены примеры работы с размерными переменными.

Проведение расчетов с размерными величинами и переменными особенно удобно при решении различных физических задач. При этом правильная

Рис. 11. 2 Примеры задания и применения размерных переменных

размерность результата является дополнительным фактором, свидетельствующим о корректности таких расчетов

Использование незаданной переменной ошибочно Такая переменная отмечается красным цветом (в предшествующих версиях MathCAD — черным фоном) Использование несуществующих переменных в математических выражениях может привести к различным ошибкам Все они диагностируются и требуют исправления для продолжения вычислений

11. 2. Ранжированные переменные и таблицы вывода

Задание ранжированных переменных

Ранжированные переменные — особый класс переменных, который в системе MathCAD зачастую заменяет управляющие структуры, называемые циклами (однако полноценной такая замена не является) Эти переменные имеют ряд фиксированных значений (либо целочисленных, либо в виде чисел), с определенным шагом меняющихся от начального значения до конечного.

Ранжированные переменные характеризуются именем и индексом каждого своего элемента Для создания ранжированной переменной целочисленного типа используется выражение

Name Nbegin Nend

где Name — имя переменной, Nbegin — ее начальное значение, Nend — конечное значение, — символ, указывающий на изменение переменной в заданных пределах (он вводится знаком точки с запятой,). Если Nbegin < Nend, то шаг изменения переменной будет равен+ 1, в противном случае -1

Для создания ранжированной переменной общего вида используется выражение

Name = Nbegin, (Nbegin+ Step) Nend

Здесь Step — заданный шаг изменения переменной (он может быть положительным, если Nbegin < Nend или отрицательным в противном случае).

Таблицы вывода

Ранжированные переменные широко применяются для представления числовых значений функций в виде таблиц, а также для построения их графиков. Любое выражение с ранжированными переменными после знака равенства инициирует таблицу вывода. Несколько таких таблиц показано на рис. 11. 3.

Рис. 11. 3 Примеры типового применения ранжированных переменных

Полезно учитывать некоторые свойства таблиц вывода:

• число строк в них не может быть больше 50 (большие таблицы придется составлять из нескольких малых);

• числа в таблицах можно задавать в требуемом формате с помощью операций задания формата чисел;

• при использовании в таблице единиц размерности все данные таблицы будут содержать единицы размерности (поделите результат с размерными переменными на размерность для указания ее только в заголовке таблицы вывода);

Есть три способа показать значения векторов:

Х, = выводится обычная таблица вывода;

Х= выводится вектор, если число его элементов меньше 10;

Х= выводится таблица вывода со слайдером, если число элементов вектора больше 10.

В таблицы вывода можно и вставлять числовые значения, и корректировать их. Естественно, это меняет значения элементов соответствующего вектора.

Применение ранжированных переменных

Важно отметить, что в сущности задание ранжированных переменных эквивалентно заданию конечных циклов. Сами ранжированные переменные являются векторами, что видно из выдачи их значений (столбец со всеми значениями переменных). Это означает, что объем памяти, занимаемый такими переменными, больше занимаемого обычными переменными.

Индексированные переменные, образующиеся в результате задания ранжированных переменных, могут применяться в последующих фор-мульных блоках. Однако в этих блоках необходимо соблюдать соответствие результатов (конечных и промежуточных) векторному типу этих переменных.

Привыкшие к обычному программированию пользователи часто забывают, что ранжированная переменная — вектор. Поэтому они пытаются выполнять с такими операциями действия, корректные лишь для обычных (скалярных) переменных. Например, задают выражение вроде f: =i* 2, используя обычную переменную f, что приведет к явной ошибке — система укажет (красным цветом), что f не соответствует векторному типу. Однако если использовать выражение, например, вида

f,: = i^2

то будет получен новый вектор с именем f, элементы которого в нашем случае являются квадратами значений элементов вектора i. Более подробно особенности задания и применения векторов рассматриваются далее.

Ранжированные переменные широко применяются при построении графиков. Например, для построения графика некоторой функции f (x) прежде всего надо позаботиться о создании ряда значений переменной х, для этого она должна быть ранжированной.

11. 3. Массивы, векторы и матрицы

Понятие о массивах

Важным типом данных в системе MathCAD являются массивы. Массив — имеющая уникальное имя совокупность конечного числа числовых или символьных элементов, упорядоченных заданным образом и имеющих определенные адреса. В системе MathCAD используются массивы двух наиболее распространенных типов: одномерные (векторы) и двумерные (матрицы).

Массивы-векторы

Ниже представлено три пятиэлементных массива-вектора:

Номер элемента 0 1 2 3 4 Значение О 1 4 9 16 Значение а Ь с d e Значение 0 х 2* x^2 3*x^3 4* х4

Первый из представленных массивов — числовой, два других — символьные.

Индексация элементов массивов

Порядковый номер элемента, который является его адресом, называется индексом. Напоминаем, что нижняя граница индексации задается значением системной переменной ORIGIN, которая может принимать значение 0 или 1.

Имя массива естественно увязать с именами индексированных переменных, значениями которых являются элементы массива. Для этого достаточно в виде подстрочного индекса указать индекс элемента. Например, если третий из представленных массивов имеет имя V, то его элементами при ORIGIN=0 будут индексированные переменные:

Vo=0 V1=x V2=2x2 Vз-Зх3 V4=4x4

Векторы могут быть двух типов: векторы-строки и векторы-столбцы. Например:

Несмотря на то что два этих вектора имеют одни и те же числовые значения элементов, они различны по типу и дадут разные результаты при векторных и матричных операциях, чувствительных к типу векторов.

Матрицы

Матрица может рассматриваться как совокупность ряда векторов одинаковой длины, например:

Элементы матриц являются индексированными переменными, имена которых совпадают с именами матриц. Но в этом случае для каждой индексированной переменной указываются два индекса: один — для номера строки, другой — для номера столбца. Например, для указанной матрицы М средний элемент обозначается как М1,1, а последний как М;2,2

Для задания векторов и матриц можно воспользоваться операцией Matrix... (Матрицы...) в позиции Math (Математика) основного меню, нажав клавиши Ctrl+V или введя пиктограмму с изображением шаблона матрицы. Это вызывает вначале появление диалогового окна, в котором надо указать размерность матрицы, т. е. количество ее строк т и столбцов п. Для векторов один из этих параметров должен быть равен 1. При m=1 получим вектор-столбец, а при п=\ — вектор-строку. Матрица является двумерным массивом с числом элементов тхп. Элементы векторов и матриц помещаются между большими квадратными скобками.

Ввод элементов векторов и матриц

Для указания подстрочных индексов после имени переменной вводится знак открывающей квадратной скобки:

Ввод Изображение в окне

V3 [ 2 : V32 :=

Для элементов матрицы подстрочные индексы вводятся в круглых скобках с разделением их запятыми:

Ввод Изображение в окне редактирования

М [ ( 1, 2 ) : M1,2 : =

Индексы могут иметь только целочисленные значения Они могут начинаться с нуля или с целого числа, например с единицы, в соответствии со значением системной переменной ORIGIN

Задание векторов и матриц

В отношении индексированных переменных действуют те же правила присваивания и вывода, что и для обычных В частности, с помощью операций присваивания можно создать вектор или матрицу заданной размерности и заданного типа без ручного вывода их шаблоном и без их заполнения. Это иллюстрирует рис. 11. 4, на котором показано задание нулевой, единичной и специальной матриц путем поэлементного их формирования.

Рис. 11. 4 Задание матриц без применения их шаблонов

Такой способ задания матриц очень напоминает применяемый в обычных программах метод, при котором значения элементам матриц присваиваются в двух вложенных циклах с управляющими переменными и г. Однако это сходство чисто внешнее, так как в нашем случае ранжированные переменные i и j — векторы.

11 .4. Данные файлового типа

Еще один важный тип данных системы MathCAD — файловые данные В сущности, это те же векторы и матрицы, но с элементами, которые могут записываться в виде файлов, имеющих свои имена. Файлы данных в системе представляет собою запись матриц в их естественной форме как последовательных текстовых файлов. Это простейший тип файлов, который легко обрабатывается в программах на различных языках программирования и может создаваться такими программами, благодаря чему возможен обмен данными между системой MathCAD и другими программами.

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

Существует семь файловых операций, рассматриваемых ниже. Создаваемые или используемые ими файлы легко просмотреть любым текстовым редактором, воспринимающим тексты в виде ASCII-кодов. При считывании файлов система обеспечивает обратное преобразование символьных представлений значений элементов в их числовые значения. Начнем рассмотрение этих операций с операции считывания файла, содержащего данные векторы.

1. READ (Имя_файла)

Эта операция-функция считывает данные из файла с указанным именем Имя_файла и возвращает значение — вектор. Обычно она используется для присваивания значений векторам, например:

V: = READ (DATA)

Здесь элементы вектора V получают значения, считанные из файла с именем DATA. Естественно, что такой файл должен существовать на диске, иначе ситуация будет считаться ошибочной. Для указания полного имени файла (если он не в текущем каталоге системы) следует использовать общеупотребительные для MS-DOS составные имена, например D: \EXPER\DATA, если файл DATA расположен на диске D в каталоге EXPER.

2. WRITE (Имя_файла)

Эта операция записывает данные в файл и присваивает ему указанное имя. Данные могут порождаться математическим выражением, например:

WRITE (Имя_файла): = Выражение

Разумеется, выражение должно создавать данные векторного типа.

3. APPEND (Имя_файла)

Эта операция подобна операции WRITE, но она дописывает данные в конец уже существующего файла. Нельзя использовать другие функции для до-писывания данных, поскольку эти функции уничтожают прежние данные в файле и заносят новые.

4. READPRN (Имя_файла)

Эта операция подобна READ, но считывает данные в виде двумерного массива — матрицы. Функция READPRN возвращает матрицу, значения элементов которой однозначно связаны со значениями элементов файла. Точнее, каждая строка или столбец возвращаемой матрицы подобны соответствующим строкам или столбцам текстового представления файла.

5. WRITEPRN (Имя_файла)

Эта операция подобна WRITE, но применяется для записи матричного выражения (или матрицы) в файл с указанным именем. Структура файла подобна структуре матрицы.

6. APPENDPRN (Имя_фaйлa)


Глава 11 Входной язык системы MathCAD 7. 0

Эта операция дописывает данные в уже существующий матричный файл. Следует особо отметить, что при работе с векторами и матрицами, имеющими комплексные элементы, она использует расширенные векторы или матрицы, элементы которых — действительные числа.

Рис. 11.5 демонстрирует типовые операции с данными файлового типа.

Рис. 11. 5 Основные операции с данными файлового типа

Этот рисунок показывает эффективные возможности занесения данных в файл и последующего их вызова. Полезно просмотреть текстовым редактором создаваемый файл данных Нетрудно заметить, что он представляет данные довольно наглядно и естественно Поэтому такой файл можно обрабатывать, а также модифицировать с применением программ на обычных языках программирования или иных программ, что создает предпосылки для обеспечения легкого обмена данными через файлы.

READRGB (Имя_файла)

Эта операция стоит явно в стороне от других и скорее относится к системным операциям Она используется вместе с графическими файлами и возвращает массив из трех подмассивов, несущих данные о разложении цветного изображения на три основных цвета- красный, зеленый и синий Таким образом, операция выполняет функции цветоделения, используемого в полиграфии для цветной печати графиков и рисунков

Благодаря введению данных файлового типа возможности системы MathCAD существенно расширяются. Она может использоваться в сложных программных комплексах. Например, некоторая специализированная программа может управлять экспериментальной установкой и формировать файлы данных, которые в дальнейшем обрабатываются системой MathCAD с использованием ее мощных и гибких математических возможностей При этом предусмотрена обработка множества пакетов данных

11 .5. Арифметические и логические операторы

Арифметические операторы

Арифметические операторы предназначены для выполнения арифметических действий над численными величинами и конструирования математических выражений. Система MathCAD содержит следующие арифметические операторы (приводится их форма ввода, последовательность нажатия клавиш для ввода и условное наименование операндов Х и Y):

Оператор

X: =Y X=Y Х--X X+ Y X-Y X. Y

Х

Y

XY

Vx"

X!

¦Z¦

z

(-) ( )

Клавиши

X: Y X-Y

X Ctrl = -X X+ Y X-Y

X* Y

X/Y X^

x\

X!

¦Z

z"

( )

Назначение оператора

Локальное присваивание X значения Y Глобальное присваивание Х значения Y Вывод значения Х Смена знака Х Суммирование Х с Y Вычитание из Х значения Y Умножение Х на Y

Деление Х на Y Возведение Х в степень Y

Вычисление квадратного корня из Х Вычисление факториала Вычисление модуля комплексного Z Вычисление комплексно-сопряженного с Z числа Ввод пары круглых скобок с шаблоном Ввод открывающей скобки Ввод закрывающей скобки

Рис. 11. 6 Примеры применения арифметических операторов

Х N X [ п Ввод нижнего индекса п X<N> Х Ctrl n Ввод верхнего индекса п На рис. 11.6 показаны примеры использования арифметических операторов Из приведенных примеров видно, что MathCAD оперирует как с действительными, так и комплексными величинами.

В дальнейшем будут рассмотрены дополнительные функции комплексного аргумента.

Расширенные арифметические операторы

Система MathCAD содержит ряд расширенных арифметических операторов:

вычисления суммы ($) и произведения (#) ряда, вычисление производной (?) и определенного интеграла (&). Здесь в скобках даны символы, ввод которых задает вывод шаблона соответствующей операции. Шаблон содержит места, подлежащие заполнению числовыми или символьными значениями. Разумеется, для вызова шаблона можно использовать и соответствующую панель набора математических спецсимволов.

На рис. 11.7 показано применение этих операторов. Заметим, что выражения с ними ведут себя как функции, т. е возвращают вычисленные значения. Поэтому их можно использовать в составе математических выражений.

Рис.11.7 Примеры применения расширенных операторов

Применение расширенных операторов значительно облегчает решение математических задач. Раньше для того, чтобы они выполняли определенные действия, приходилось писать отдельные программы

Операторы отношения (логические операторы)

Ряд операторов предназначен для сравнения двух величин. Они называются операторами отношения, или логическими операторами.

Оператор Клавиши Наименование операции

Х > Y Х > Y Х больше Y Х < Y Х < Y Х меньше Y

X > Y X Ctrl) Y X больше или равно Y

X < Y X Ctrl ( Y X меньше или равно Y

X >< Y X Ctrl# Y X не равно Y

X = Y X Ctrl = Y X равно Y

He следует путать оператор сравнения (знак равенства) с похожим знаком вывода значений переменных. В системе MathCAD знак равенства как оператор отношения имеет больший размер и более жирное написание (=), чем обычный знак равенства (=) — оператор вывода. Все операторы отношения могут вводиться самостоятельно в место расположения курсора. В этом случае по обе стороны от них появляются маленькие темные прямоугольники. Они являются шаблонами для указания подлежащих сравнению выражений. Например, если ввести знак "меньше", то на экране дисплея появится блок вида' • < •. Знак вывода при этом будет появляться с сообщением об ошибке — Missing operand (пропущенный операнд)

Необходимо отметить, что выражения с логическими операторами возвращают логическое значение, соответствующее выполнению или невыполнению условия, заданного оператором. Эти значения в системе MathCAD являются логической единицей (1), если условие выполнено, и логическим нулем (0), если оно не выполнено Математически значения логической единицы и нуля совпадают со значениями числовых констант 1 и 0. Например'

2 > 1 = 1 — условие выполнено, результат 1;

1 > 2 = 0 — условие не выполнено, результат^).

Указанное свойство логических операторов позволяет строить не совсем обычные выражения, содержащие в себе логические операторы, например.

2* (5 > 0) = 2

Нетрудно понять, что выражение (5 > 0) возвращает единицу, поэтому результат вычисления такого выражения даст число 2. Логические операторы часто используются совместно с условными функциями, которые будут описаны далее.

11.6. Встроенные элементарные функции

Система MathCAD содержит расширенный набор встроенных элементарных функций Функции задаются своим именем и значением аргумента в круглых скобках В ответ на обращения к ним функции возвращают вычисленные значения. Аргумент и значение функций могут быть действительными или комплексными числами г. Ниже представлены эти функции, разбитые на шесть групп

Тригонометрические функции sin (z) — синус cos (z) — косинус tan (z) — тангенс sec (z) — секанс csc (z) — косеканс cot (z) — котангенс

Гиперболические функции sinh (z) — гиперболический синус cosh (z) — гиперболический косинус tanh (z) — гиперболический тангенс sech (z) — гиперболический секанс

csch (z) — гиперболический косеканс coth (z) — гиперболический котангенс

Обратные тригонометрические функции asin (2) — обратный тригонометрический синус асов (г) — обратный тригонометрический косинус atan (z) — обратный тригонометрический тангенс

Обратные гиперболические функции asinh (2) — обратный гиперболический синус acosh (2) — обратный гиперболический косинус atanh (z) — обратный гиперболический тангенс

Показательные и логарифмические функции ехр (г) — экспоненциальная функция 1п (г) — натуральный логарифм (по основанию е) log (2) — десятичный логарифм (по основанию 10)

Функции комплексного аргумента Ке (г) выделение действительной части г Im (z) — выделение мнимой части г arg (z) вычисление аргумента (фазы)

Обратите внимание, что большинство из этих функций набирается строчными латинскими буквами Рис 118 иллюстрирует работу с элементарными функциями как при действительном, так и при комплексном аргументе

Рис. 11. 8 Примеры вычислений с элементарными функциями

Набор элементарных функций в системе MathCAD функционально полон, точнее, он даже несколько избыточен Например, гиперболические функции можно вычислить через алгебраические, функции тангенса и котангенса легко вычисляются через функции синуса и косинуса и т д Соответствующие формулы общеизвестны и потому здесь не приводятся Однако расширенный набор функций создает заметные удобства при проведении вычислений, избавляя пользователя от необходимости определения многих распространенных функций.

11.7. Встроенные специальные математические функции

Наряду с элементарными функциями в системе MathCAD содержится ряд встроенных специальных математических функций. Их применение расширяет возможности системы в решении сложных математических задач.

Функции Бесселя

К важнейшим встроенным специальным математическим функциям принадлежат функции Бесселя, являющиеся решениями дифференциального уравнения второго порядка:

Здесь п — порядок функции (рассматриваются функции только целого порядка при действительном х). Функции Бесселя описывают колебательные процессы и широко используются в физике и электро- и радиотехнике. Приведенное уравнение имеет решения в виде функций Бесселя Jn(x) первого рода и Yn(:c) второго рода.

Существуют также модифицированные функции Бесселя, которые являются решениями следующего дифференциального уравнения:

Эти функции также представлены функциями первого рода 1п(x) и второго рода Кп(х).

Функции Бесселя используются с вещественным аргументом. Ниже приведен список функций Бесселя, вычисление которых реализовано в системе MathCAD:

j0(х) — функция Бесселя первого рода нулевого порядка;

I0(х) — модифицированная функция Бесселя первого рода нулевого порядка;

Y0(x) — функция Бесселя второго рода нулевого порядка;

К0(х) — модифицированная функция Бесселя второго рода нулевого порядка;

J1(x) — функция Бесселя первого рода первого порядка;

I1(x) — модифицированная функция Бесселя первого рода первого порядка;

Y1(x) — функция Бесселя второго рода первого порядка;

К1(х) — модифицированная функция Бесселя второго рода первого порядка;

Jn(n,x) — функция Бесселя первого рода п-го порядка;

1п(п,к) — модифицированная функция Бесселя первого рода п-го порядка;

Yn(n,c) — функция Бесселя второго рода п-го порядка;

Кп(n,x) — модифицированная функция Бесселя второго рода п-го порядка.

Гамма-функция

Другой широко распространенной специальной функцией, вычисление которой (причем как при действительном, так и комплексном аргументе z) предусмотрено в системе MahCAD, является гамма-функция G(z). Она широко применяется и в статистических расчетах. В них используется также функция ошибок erf(x), называемая еще интегралом вероятности.

На рис. 11.9 представлены примеры вычисления ряда специальных математических функций и их графики.

Рис.11.9 Вычисление специальных математических функций

Наличие встроенных в систему наиболее распространенных математических функций расширяет ее возможности. Многие другие специальные математические функции могут быть определены через перечисленные встроенные функции или заданы своим интегральным либо дифференциальным представлением.

Дополнительные неактивные функции

При загрузке символьного процессора система распознает ряд дополнительных специальных функций, например:

FresnelC(x) — интеграл Френеля С(х);

FresnelS(x) — интеграл Френеля S(x);

Ci(x) — интегральный косинус;

Si(x) — интегральный синус;

Ег(х) — интегральная показательная функция;

dilog(x) — дилогарифм;

erf(z) — интеграл ошибок для комплексного аргумент z;

Psi(x) := , In(Go(x)) — "пси"-функция;

Psi(n,x) — п-я производная "пси"-функции.

К сожалению, статус этих функций необычен, они могут фигурировать в результатах символьных операций, но недоступны для обычных операций. Эти функции не обладают свойством эволюции, т. е. они не активны. Например, невозможно вычислить значения функций при подстановке в них числового значения аргумента и применении знака = для вывода результата вычислений. Однако, используя известные (в основном интегральные) представления для этих функций, их можно определить как функции пользователя. Выражения с неактивными функциями MathCAD размещает в буфере обмена, и их можно извлечь оттуда для обозрения.

Здесь не приводятся представления для этих функций, поскольку их легко найти в справочной системе помощи MathCAD либо в литературе, например в [14, 21]. В связи с особым статусом данного класса функций их имена не выделены жирным шрифтом.

11.8. Функции с условиями сравнения

Существует ряд встроенных функций, у которых возвращаемый ими результат зависит от знака или значения аргумента. Так, при их вычислении производится сравнение аргумента с некоторыми числовыми константами, например с нулем или целыми числами. Ниже представлены такие функции.

Числовые функции с условиями сравнения

К числовым функциям с условиями сравнения относятся:

ceil(x) — наименьшее целое, большее или равное x,, floor(x) — наибольшее целое, меньшее или равное х;

mod(x,y) — остаток от деления х/у со знаком х;

angle(a,y) — положительный угол с осью х для точки с координатами (х,у)', Ф(х) — функция Хевисайда — единичного скачка (дает 0 при х<0 и 1 в

противном случае);

d(m,n) — функция, именуемая символом Кронекера, возвращающая 1

при т=п и 0 в противном случае. Назначение этих функций довольно очевидно. К примеру, функция Хевисайда может использоваться для задания импульса с шириной w.

pulse(t.w) := Ф(t) - Ф(t-w)

Функцию Хевисайда можно также использовать для создания указанных ниже логических функций, которых нет в системе MathCAD:

not(a):=Ф(.5-l) — функция логического отрицания NOT;

and(a,b):= Ф(а*Ь-.5) — функция логического перемножения AND;

or(a,b):= Ф(а+Ь-.5) — функция логического сложения OR.

Эти функции используются с параметрами а и Ь, которые имеют логические значения 0 (FALSE) и 1 (TRUE). Функции возвращают результат (О или 1) в соответствии с таблицами истинности логических функций NOT, AND и OR. Аналогичным образом можно задать и другие логические функции.

Функция условных выражений if

Более широкие возможности дает функция if для создания условных выражений:

if (Условие, Выражение 1, Выражение 2)

Если в этой функции условие выполняется, то будет вычисляться выражение 1, в противном случае — выражение 2 Заметим, что эта функция широко распространена в языках программирования.

На рис 11. 10 приведены примеры применения функции if для моделирования процессов однополупериодного и двухполупериодного выпрямления синусоиды (используется в электротехнике для преобразования переменного тока в пульсирующий одной полярности) Этот процесс иллюстрируется наглядной графикой

Рис. 11. 10 Применение функции if

С помощью функций с элементами сравнения можно моделировать и другие функции, например логические или описывающие импульсные сигналы различного вида

11. 9. Функции пользователя

Задание функций пользователя

Несмотря на довольно широкий набор встроенных функций, всегда возникает необходимость расширить систему новыми функциями, представляющими интерес для пользователя Функции пользователя вводятся с применением следующего выражения:

Имя_функции (Список_параметров): = Выражение

Имя функции задается как любой идентификатор, например имя переменной В скобках указывается список параметров функции, это перечень ис пользуемых в выражении переменных, разделяемых запятыми Выражение — любое выражение, содержащее доступные системе операторы и функции с операндами и аргументами, указанными в списке параметров

Примеры задания функций одной и двух переменных

fun (x): - 10. (1 - ехр (х)) module (x, y): - ^ х2+ у2

Локальные переменные в теле функций пользователя

Следует отметить особый статус переменных, указанных в списке параметров функций пользователя. Это локальные переменные, поэтому они могут не определяться до задания функций. Фактически их указание в списке параметров и является заданием определенного статуса этих переменных. Естественно, что локальные переменные могут использоваться только в выражении, описывающем функцию. Их имена могут совпадать с именами глобальных переменных, введенных ранее. Но при этом по выходе из блока задания функции значения этих переменных будут сохранять ранее заданные (для глобальных переменных) значения.

Следует с осторожностью относиться к применению глобальных переменных в теле выражения функции пользователя, хотя в принципе это возможно, но, конечно, только в том случае, когда глобальная переменная определена ранее. Например, вполне приемлемо задание следующей функции пользователя:

А: =10 fun (x): =A* (l-exp (x))

поскольку переменная А определена до задания функции. Однако, если убрать строку с ее определением, задание функции fun (x) станет невозможным, точнее, в введенном выражении переменная А будет выделена как несуществующая. Разумеется, эту переменную можно определить глобально и после задания функции пользователя, используя для этого символ глобального присваивания =:

fun (x): = А* (1 - ехр (х)) А =10

Примеры задания функций пользователя

Функции пользователя можно вводить для задания новых специальных математических функций. Ряд таких примеров содержится в справочнике системы и приведен на рис. 11. 11.

Заданные с применением знака: = функции являются определенными локально. Поэтому они должны быть заданы в документе до того, как будут использованы. С помощью знака = можно определить функции пользователя как глобальные. Тогда это можно сделать в любом месте документа, в том числе в конце. Если же функция нигде и никак не задана, то применять ее, естественно, нельзя. Попытки такого применения будут сопровождаться сообщениями об ошибке: имя функции окажется выделенным черным фоном.

Функции пользователя — мощный аппарат расширения системы. Они облегчают адаптацию системы к решению специфических задач пользователя. Напоминаем еще раз, что, к сожалению, функции пользователя нельзя применять в составе выражений, над которыми осуществляются символьные операции из меню (но преобразования с применением оператора -> могут выполняться и без этого ограничения).

Рис. 11. 11 Примеры задания и применения функций пользователя

11. 10. Операторы и функции для работы с векторами и матрицами

Векторные и матричные операторы

Для работы с векторами и матрицами система MathCAD содержит ряд операторов и функций. Вначале рассмотрим операторы, введя следующие обозначения: для векторов — V, для матриц —Ми для скалярных величин — Z. Ниже представлены операторы для работы с векторами и матрицами:

Оператор V1+ V2 VI-V2 -V

-м

V-Z

z* v, v* z

Z* M, M* Z V1* V2 M* V M1* M2 V

z

M

z

м-1

M" IV]

Ввод

V1+ V2 V1-V2 -V -M V-Z

z* v, v* z

Z* M, M* Z

V1* V2 M* V M1* M2

v/z

M/Z

ivr-i

M^

IV

Назначение оператора

Сложение двух векторов VI и V2 Вычитание двух векторов VI и V2 Смена знака у элементов вектора V Смена знака у элементов матрицы Вычитание из вектора V скаляра Z Умножение вектора V на скаляр Z Умножение матрицы М на вектор Z Умножение двух векторов VI и V2 Умножение матрицы М на вектор V Умножение двух матриц Ml и М2

Деление вектора V на скаляр Z

Деление матрицы М на скаляр Z

Обращение матрицы М Возведение матрицы М в степень п

Вычисление квадратного корня из ^V

¦М¦ ¦М Вычисление определителя матрицы

VT V Ctrl! Транспонирование вектора V

МT М Ctrl! Транспонирование матрицы М

VlxV2 VI Ctrl * V2 Кросс-умножение двух векторов VI и V2

V V" Получение комплексно-сопряженного

вектора М М" Получение комплексно-сопряженной

матрицы ZV Alt $ V Вычисление суммы элементов вектора V

V V Ctrl - Векторизация вектора V

М М Ctrl - Векторизация матрицы М

М<n> М Ctrl л п Выделение п-го столбца матрицы М

Vn V [ п Выделение п-го элемента вектора V

Мm,n М [(m,п) Выделение элемента (т,п) матрицы М

Следует отметить, что в некоторых операторах для ввода используется клавиша Ctrl, тогда как в ранних версиях системы MathCAD для этого предназначалась клавиша Alt (в последней версии Alt используется для начала активизации главною меню)

Операция векторизации

Большинство приведенных операторов достаточно известны из математического аппарата матричных вычислений. Под необычным для нашей математической литературы понятием "векторизация" подразумевается одновременное проведение математических операций в их скалярном значении над всеми элементами вектора или матрицы, помеченными знаками векторизации. Это можно понимать и как возможность параллельных вычислений.

Векторизация может изменить смысл математических выражений и даже превратить недопустимое выражение во вполне допустимое. Например, если V — вектор, то выражение cos(V) будет недопустимым, поскольку аргументом функции cos может быть только скалярная величина или переменная. Однако со знаком векторизации функция cos(V) возвращает вектор, каждый элемент которого есть косинус значения соответствующего исходного вектора V.

Если А и В — векторы, то АЧВ дает скалярное произведение этих векторов. Но то же произведение под знаком векторизации создает новый вектор, каждый 7-й элемент которого есть произведение J-X элементов векторов А и В

Итак, векторизация позволяет использовать скалярные операторы и функции с массивами. Нередко это заметно упрощает запись математических алгоритмов, особенно для обеспечения параллельных вычислений. Впрочем, параллельность относится не к самим вычислениям, а лишь к их алгоритмической записи.

Векторные функции

Существует также ряд встроенных векторных и матричных функций. Они облегчают решение задач линейной алгебры и других сфер приложения векторов и матриц. Приведем векторные функции, входящие в систему MathCAD-

length(V) — возвращает длину вектора;

last(V) — возвращает индекс последнего элемента;

max(V) — возвращает максимальный по значению элемент;

min(V) — возвращает минимальный по значению элемент;

Re(V) — возвращает вектор действительных частей вектора с комплекс ными элементами;

Im(V) — возвращает вектор мнимых частей вектора с комплексными элементами;

e(i,j, k) — полностью асимметричный тензор размерности три. г, j и k

должны быть целыми числами от 0 до 2 (или между ORIGIN и ORIGIN+2, если ORIGINS). Результат равен 0, если любые два аргумента равны, 1 — если три аргумента являются четной перестановкой (0, 1, 2), и минус 1, если три аргумента являются перестановкой (0, 1, 2), кратной 2 и некратной 4.

Матричные функции

Для работы с матрицами также существует ряд встроенных функций. Они перечислены ниже:

augment(Ml,M2) — объединяет в одну матрицы Ml и М2, имеющие одинаковое число строк (объединение идет "бок о бок");

identity(n) — создает единичную квадратную матрицу размером п*п;

stack(Ml,M2) — объединяет две матрицы Ml и М2, имеющие одинаковое число столбцов, располагая Ml над М2;

submatrix(A,ir,jr,ic,jc) — возвращает субматрицу, состоящую из всех элементов, содержащихся в строках от ir no jr и столбцов с ic по JC (irfjr и icfjc);

diag(V) — создает диагональную матрицу, элемент главной диагонали которой — вектор V;

matrix(ff2,n,f) — матрицу, в
которой (i,j)-vi элемент содержит f(i,j), где г=0,
1,... т uj=0, 1,... п;

Re(M) — возвращает матрицу действительных частей матрицы М с комплексными элементами;

Im(M) — возвращает матрицу мнимых частей матрицы М с комплексными элементами.

Функции, возвращающие специальные характеристики матриц

Специальные характеристики матриц возвращаются следующими функциями:

cols(M) — возвращает число столбцов матрицы М;

rows(M) — возвращает число строк матрицы М;

rank(M) — возвращает ранг матрицы М;

tr(M) — возвращает след (сумму диагональных элементов) квадратной

матрицы М;

mean(M) — возвращает среднее значение элементов массива М;

median(M) — возвращает медиану элементов массива М;

condl(M) — возвращает число обусловленности матрицы, вычисленное в

норме L1;

cond2(M) — возвращает число обусловленности матрицы, вычисленное в

норме L2;

conde(M) — возвращает число обусловленности матрицы, вычисленное

в норме евклидова пространства;

condi(M) — возвращает число обусловленности матрицы, основанное на

равномерной норме;

norml(M) — возвращает L1, норму матрицы М;

norm2(M) — возвращает L2, норма матрицы М;

поппе(М) — возвращает евклидову норму матрицы М;

normi(M) — возвращает неопределенную норму матрицы М.

Примеры применения векторных и матричных операций

На рис. 11.12 приведены примеры использования наиболее распространенных векторных операторов, описанных выше.

Рис. 11.12 Применение операторов для работы с векторами

РИС.11.13 Примеры матричных операций (начало)

MathCAD делает работу с векторами и матрицами столь же простой, как и с обычными числами и переменными Это, безусловно, способствует проникновению векторных и матричных методов математических вычислений в практику научно-технических и иных расчетов

Применение операторов для работы с матрицами показано на рис 11 13 Поскольку не все матричные операции поместились в окне документа, представленного на рис 1113, конец документа с другими матричными операциями показан на рис 11 14

Рис. 11.14 Примеры матричных операций (конец)

На рис 1115 приведен ряд примеров применения наиболее распространенных матричных функций

Рис.11.15 Примеры применения матричных функций (начало)

Конец документа с примерами матричных функций показан на рис 11.16 Заметим, что раньше для задания таких функций приходилось готовить довольно сложные программы

Рис. 11.16 Примеры применения матричных функций (конец)

Дополнительные матричные функции

В профессиональные версии MathCAD включен ряд дополнительных матричных функций Они перечислены ниже.

eigenvals(M) — возвращает вектор, содержащий собственные значения матрицы М,

eigenvec(M,Z) для указанной матрицы М и заданного собственного значения Z возвращает принадлежащий этому собственному значению вектор,

eigenvecs(M) — возвращает матрицу, столбцами которой являются собственные векторы матрицы М (порядок расположения собственных векторов соответствует порядку собственных значений, возвращаемых функцией eigenvals),

genvals(M,N) — возвращает вектор обобщенных собственных значений v1 соответствующий решению уравнения M-x=v,-N-x (матрицы М и N должны быть вещественными),

genvals(M,N) — возвращает матрицу, столбцы которой содержат нормированные обобщенные собственные векторы,

Ф1и(М) — выполняет треугольное разложение матрицы М- P-M=L-U, L и U — соответственно нижняя и верхняя треугольные матрицы Все четыре матрицы квадратные, одного порядка;

Фqr(A) — дает разложение матрицы A, A=Q-R, где Q, — ортогональная матрица и R — верхняя треугольная матрица,

(Bsvd(A) — дает сингулярное разложение матрицы А размером n m A*S*VТ где U и V — ортогональные матрицы размером m m и n n соответственно, S - диагональная матрица, на диагонали которой расположены сингулярные числа матрицы А,

Фsvds(A) — возвращает вектор, содержащий сингулярные числа матрицы А размером т-п, где т>п;

Egeninv(A) - возвращает матрицу левую обратную к матрице А.

L-A=E, где Е — единичная матрица размером п* п, L — прямоугольная матрица размером n-rn, A — прямоугольная матрица размером п*п.

Функции сортировки для векторов и матриц

Начиная с третьей версии в системе MathCAD появились некоторые дополнительные функции сортировки — перестановки элементов векторов и матриц:

sort(V) — сортировка элементов векторов в порядке возрастания их значений;

reverse(V) — перестановка элементов (после sort) в обратном порядке;

csort(M,n) — перестановка строк матрицы М таким образом, чтобы отсортированным оказался п-й столбец;

rsort(M,n) — перестановка столбцов матрицы М таким образом, чтобы отсортированной оказалась п-я строка.

Примеры применения дополнительных векторных и матричных функций

На рис. 11.17 представлены примеры, иллюстрирующие работу некоторых дополнительных векторных и матричных функций.

Рис. 11.17 Работа дополнительных векторных и матричных функций

Решение систем линейных уравнений

В целом векторные и матричные операторы и функции системы MathCAD позволяют решать широкий круг задач линейной алгебры. К примеру, если задана матрица А и вектор В для системы линейных уравнений в матричной форме АхХ:=В, то вектор решения можно получить из очевидного выражения Х:=А-1*В. На рис. 11.18 приведен пример решения системы линейных уравнений.

Рис. 11.18 Решение системы линейных уравнений

Для решения систем линейных уравнений в MathCAD PLUS введена встроенная функция

Isolve(A.B),

которая возвращает вектор Х для системы линейных уравнений А-Х=В при заданной матрице коэффициентов А и векторе свободных членов В. Если уравнений п, размерность вектора В должна быть п, а матрицы А — п-п. Пример применения этой функции также дан на рис. 11.18.

11.11. Функции линейной и сплайновой аппроксимаций

Одномерная линейная аппроксимация

При проведении научно-технических расчетов часто используются зависимости вида у(х), причем число точек этих зависимостей ограничено. Неизбежно возникает задача получения приемлемой представительности функций в промежутках между узловыми точками (интерполяция) и за их пределами (экстраполяция). Эта задача решается аппроксимацией исходной зависимости, т. е. ее подменой какой-либо достаточно простой функцией. Система MathCAD предоставляет возможность аппроксимации двух типов: кусочно-линейной и сплайновой.

При кусочно-линейной интерполяции, или аппроксимации, вычисления дополнительных точек выполняются по линейной зависимости. Графически это означает просто соединение узловых точек отрезками прямых, для чего используется следующая функция:

linterp(VX, VY, х)

Для заданных векторов VX и VY узловых точек и заданного аргумента х эта функция возвращает значение функции при ее линейной аппроксимации. При экстраполяции используются отрезки прямых с наклоном, соответствующим наклону крайних отрезков при линейной интерполяции.

Одномерная сплайн-интерполяция и сплайн-аппроксимация

При небольшом числе узловых точек (менее 10) линейная интерполяция оказывается довольно грубой. При ней даже первая производная функции аппроксимации испытывает резкие скачки в узловых точках. Для целей экстраполяции функция linterp не предназначена и за пределами области определения может вести себя непредсказуемо.

Гораздо лучшие результаты дает сплайн-аппроксимация. При ней исходная функция заменяется отрезками кубических полиномов, проходящих через три смежные узловые точки. Коэффициенты полиномов рассчитываются так, чтобы непрерывными были первая и вторая производные. Линия, которую описывает сплайн-функция, напоминает по форме гибкую линейку, закрепленную в узловых точках (отсюда и название аппроксимации: splain — гибкая линейка).

Для осуществления сплайновой аппроксимации система MathCAD предлагает четыре встроенные функции. Три из них служат для получения векторов вторых производных сплайн-функций при различном виде интерполяции:

cspline(VX, VY) — возвращает вектор VS вторых производных при приближении в опорных точках к кубическому полиному;

pspline(VX, VY) — возвращает вектор VS вторых производных при приближении к опорным точкам параболической кривой;

lspline(VX, VY) — возвращает вектор VS вторых производных при приближении к опорным точкам прямой. Наконец, четвертая функция

interp(VS, VX, VY, x)

возвращает значение у(х) для заданных векторов VS, VX, VY и заданного значения x.

Таким образом, сплайн-аппроксимация проводится в два этапа. На первом с помощью функций cspline, pspline или Ispline отыскивается вектор вторых производных функции у(х), заданной векторами VX и VY ее значений (абсцисс и ординат). Затем, на втором этапе для каждой искомой точки вычисляется значение у(х) с помощью функции interp.

Примеры линейной и сплайновой аппроксимаций

На рис. 11.19 показано применение описанных функций для линейной и сплайновой аппроксимаций.

Нетрудно заметить, что график при линейной аппроксимации оказывается слишком грубым — отчетливо видны точки перегибов. В то же время сплайн-аппроксимация, несмотря на малое число точек в этом примере (их всего 6), дает прекрасные результаты: график функции оказывается плавным и точки его перегиба вообще незаметны.

Двумерная линейная сплайн-интерполяция и сплайн-аппроксимация

Для повышения качества построения 3D-графиков имеется возможность осуществления двумерной сплайн-интерполяции. Это позволяет существенно повысить представительность сложных графиков 3D-функций, в том числе контурных (см. рис. 11.20).

На этом рисунке слева показан контурный график после проведения двумерной сплайн-интерполяции, а справа — без нее (с применением линейной


Глава 11 Входной язык системы MathCAD 7. 0

Рис.11.19 Линейная и сплайновая аппроксимации функции

Рис. 11.20 Пример двумерной сплайн-интерполяции для построения контурного графика 3D-функ-ции, имеющей сложную поверхность

интерполяции). Сразу бросается в глаза гораздо большая информативность левого графика.

11.12. Статистические функции

Типовые статистические функции

С помощью системы MathCAD можно проводить наиболее распространенные статистические расчеты с данными, представленными векторами их значений. Существует также ряд статистических функций для скалярного аргумента. С них и начнем.

Помимо уже упомянутой гамма-функции, широко применяемой в статистических расчетах, существуют следующие встроенные статистические функции скалярного аргумента х cnorm(x) — кумулятивная нормальная функция;

erf(x) — функция ошибок (или интеграл вероятности), md(x) — функция генерации случайных чисел, corr(VX,VY) — коэффициент корреляции двух векторов — VX и VY, cvar(X,Y) — коэффициент ковариации Х и Y

Через функцию erf(x) легко вычисляется дополнительная функция ошибок.

cerf(x) := 1- erf(x).

Функция rnd(x) при каждом обращении к ней возвращает случайное число с равномерным распределением на отрезке [0, 1] Эта функция широко применяется при статистическом моделировании различных физических процессов Числа являются не строго случайными — в действительности это повторяющиеся последовательности из большого количества чисел, распределение которых близко к равномерному

Статистические функции для векторов

Следующая группа функций относится к вычислению основных статистических параметров одномерного массива данных — вектора:

mean(V) — возвращает среднее значение элементов вектора V;

var(V) — возвращает дисперсию (вариацию) для элементов вектора V;

side(V) — возвращает среднеквадратичную погрешность, т. е квадратный корень из дисперсии, stdev(V) — задает стандартное отклонение элементов вектора V;

hist(int,V) — возвращает вектор частот попадания данных V в заданные интервалы int (служит для построения гистограмм) В функции hist(int,V) вектор int должен содержать значения границ, число попаданий данных из вектора V должно подсчитываться Если строится гистограмма из N элементов, то вектор int должен содержать N+1 элементов. Функция возвращает вектор из N элементов, числовые значения которых можно использовать для графического построения гистограмм.

Рис. 11.21 Работа со случайными числами

На рис. 11.21 представлен документ, в котором организована генерация вектора Х из 1000 случайных чисел, представлено их распределение и вычислены основные статистические параметры массива случайных чисел — вектора X. Этот документ демонстрирует и применение функции hist.

В MathCAD содержится множество различных статистических функций, возможности которых интересны специалистам по обработке статистической информации. Приведем сводку таких функций.

Функции вычисления плотности вероятности распределения

Функции вычисления плотности вероятности распределения представлены

следующим набором:

Ф dbeta(x, s1, s2) —B-распределение (s1, s2>0 — параметры формы, 0<x<1);

dbinom(k, п, р) — биномиальное распределение (возвращает значение вероятности P(x=k), где п и k целые числа, причем 0<k<n и0<р<1);

Ф dcauchy(x, L, s) — распределения Коши (L — параметр разложения, s>0 — параметр масштаба);

dchisq(x, d) — Хи-квадрат-распределение (х, d>0, причем d — число степеней свободы);

Ф dexp(x, r) — экспоненциальное распределение (г, х>0);

dF(x, d1, d2) — распределение Фишера (d1, d2>0 — числа степеней свободы, х>0)',

Ф dgamma(x, s) — гамма-распределение (s>0 — параметр формы, х>0);

Ф dgeom(k, р) — геометрическое распределение (0<p<^i — вероятность успеха в отдельном испытании, k — целое неотрицательное число);

Ф dlnorm(x, р., о") — логнормальное распределение (р. — натуральный логарифм среднего значения, о">0 — натуральный логарифм среднеквадратичного отклонения, х>0)',

Ф dlogis(x, /, s) — логистическое распределение (/ — параметр разложения, s>0 — параметр масштаба);

Ф dnbinom(^, п, р) — отрицательное биномиальное распределение (и>0 и k>0 — целые числа, 0<p<i);

dnorm(x, р., а) — нормальное распределение (^ — среднее значение,

++ о>0 — среднеквадратичное отклонение);

dpois(k. Л) — распределение Пуассона (А>0, k — целое неотрицательное число);

dt(a', d) — распределение Стьюдента (d>0 — число степеней свободы, х — вещественное число);

dunif(-c, а, Ь) — равномерное распределение (а и b — граничные точки интервала, причем а<Ь и а<х<Ь);

Ф dweibull(x, s) — распределение Вейбулла (s>0 — параметр формы).

Функции распределения

Эти функции дают вероятность того, что случайная величина будет иметь значения, меньшие или равные определенной величине. Они представлены ниже (смысл и значения параметров были указаны ранее):

Ф pbeta(x, s1, s2) — значение в точке х функции стандартного нормального распределения;

pbinom(^, п, р) — значение функции распределения биномиального закона для k успехов в серии п испытаний;

Ф pcauchy(x, /, s) — значение в точке х функции распределения Коши со шкалой параметров / и s;

pchisq(x, d) — значение в точке х кумулятивного {Хи-квадрат-распре-деления, в котором d - степень свободы;

Ф рехр(х, r) — значение в точке х функции экспоненциального распределения;

pf(x, d1, d2) — значение в точке х функции распределения Фишера;

Ф pgamma(x, s) — значение в точке х функции гамма-распределения;

Ф pgeom(k, р) — значение в точке х функции геометрического распределения;

Ф plnonn(x, m, о) — значение в точке х функции логнормального распределения;

Ф plogis(;c, /, s) — значение в точке х функции последовательного распределения;

plnonn(:c, jU, о) — значение в точке х функции нормального распределения;

Ф pnbinom(k, п, р) — значение в точке х функции отрицательного биномиального распределения;

ppois(k, Л) — значение для k функции распределения Пуассона;

pt(x, d) — значение в точке х функции распределения Стьюдента;

punif(x, a, b) — значение в точке х функции равномерного распределения;

Ф pweibull(x, s) — значение в точке х функции распределения Вейбулла.

Квантили распределения

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

Ф qbeta(p, s1, s2) — квантили обратного бетта-распределения с параметрами формы s1 и s2;

qbinom(p, n, q) — количество успешных определений при п-м количестве испытаний при решении уравнения Бернулли при условии, что вероятность этого количества успешных определений есть р (q - вероятность успеха при однократном испытании (0<<7<1 и 0<=р<1);

Ф qcauchy(p, /, q) — квантили обратного распределения Коши со шкалой параметров 1 и s (s>0 и 0<p<i);

qchisq(p, d) — квантили обратного Хи-квадрат-распределения;

Ф qexp(p, r) — квантили обратного экспоненциального распределения, при котором г>0, определяет частоту (0<=р<1);

qF(p, d1, d2) — квантили обратного распределения Фишера, в котором d1 и d2 — степени свободы);

Ф qgamma(j0, s) — квантили обратного гамма-распределения;

Ф qgeomQo, q) — квантили обратного геометрического распределения;

Ф qlnorm(p, p., <т) — квантили обратного логнормального распределения;

Ф qlogis(p, /, s) — квантили обратного последовательного распределения;

Ф qnbinom(p, n, q) — квантили обратного отрицательного биномиального

распределения с размером п и вероятностью ошибки q;

qnorm(p, m, о) — квантили обратного нормального распределения со

средним значением р. и стандартным отклонением (г, qpois(p, Я) — квантили обратного распределения Пуассона;

qt(p, d) — квантили обратного распределения Стьюдента

((^определяет степени свободы, d>0 и 0<р<1);

qunif(p, a, b) — квантили обратного равномерного распределения;

Ф qweibull(q, s) — квантили обратного распределения Вейбулла.

Функции создания векторов m различными законами распределения

Последняя группа статистических функций служит для создания векторов с определенными законами распределения значений их элементов:

Ф rbeta(m, s1, s2) — бетта-распределение;

rbinom(m, n, p) — биномиальное распределение;

Ф rcauchy(m, /, s) — распределение Коши;

rchisq(m, d) — Хи-квадрат-распределение;

Ф rexp(m, r) —
экспоненциальное распределение, rF(m, d1, d2) —
распределение Фишера;

Ф rgamma(m, s) — гамма-распределение;

Ф rgeom(m, p) — геометрическое распределение;

Ф rlnorm(m, /л, сг) — логарифмическое нормальное распределение;

Ф rlogis(m, /, s) — последовательное распределение;

Ф mbinom(m, n, p) — негативное биномиальное распределение;

morm(m, m, о) — нормальное распределение;

rpois(m, Я) — распределение Пуассона;

rt(m, d) — распределение Стьюдента;

rumf(m, а, b) — равномерное распределение;

Ф rweibull(m, s) — распределение Вейбулла.

Рис. 11.22 Примеры применения статистических функций

На рис. 11.22 показаны примеры построения графиков для различных статистических функций и задания векторов чисел с различным распределением.

Обилие статистических функций, включенных в систему MathCAD, позволяет ей выполнять достаточно сложные статистические расчеты. Однако все же надо отметить, что существуют специализированные мощные пакеты для выполнения статистических расчетов, например Statistica.

11.13. Функции для проведения регрессии

Функции для линейной регрессии

Другой широко распространенной задачей обработки данных является представление их совокупности некоторой функцией у(х). Задача регрессии заключается в получении параметров этой функции такими, чтобы функция приближала облако исходных точек (заданных векторами VX и VY) с наименьшей среднеквадратичной погрешностью. Чаще всего используется линейная регрессия, при которой функция у(х) имеет вид

у(х) =а+ Ь*х

и описывает отрезок прямой. К линейной регрессии можно свести многие виды нелинейной регрессии при двупараметрических зависимостях у(х).

Для проведения линейной регрессии в систему встроен ряд приведенных ниже функций:

corr(VX, VY) — возвращает скаляр — коэффициент корреляции Пирсона;

intercrpt(VX, VY) — возвращает значение параметра а (смещение линии регрессии по вертикали);

slope(VX, VY) — возвращает значение параметра b (наклона линии регрессии).

На рис. 11.23 показан пример проведения линейной регрессии для данных, представленных значениями элементов в векторах VX и VY.

Рис.11.23 Линейная регрессия

Как видно на рис 11 23, прямая регрессии проходит в «облаке» исходных точек с максимальным среднеквадратичным приближением к ним Чем ближе коэффициент корреляции к 1, тем точнее представленная исходными точками зависимость приближается к линейной

Функция для линейной регрессии общего вида

В MathCAD реализована возможность выполнения линейной регрессии общего вида При ней заданная совокупность точек приближается функцией вида

F(x, К1 ,К2, ., Kn)= K1, F1(x)+K2 F2(x)+ +КnFn(x)

Таким образом, функция регрессии является линейной комбинацией функций F1(x), F2(x), ., Fn(x), причем сами эти функции могут быть нелинейными, что резко расширяет возможности такой аппроксимации и распространяет ее на нелинейные функции

Для реализации линейной регрессии общего вида используется функция linfit(VX,VY,F) Эта функция возвращает вектор коэффициентов линейной регрессии общего вида К, при котором среднеквадратичная погрешность приближения облака исходных точек, если их координаты хранятся в векторах VX и VY, оказывается минимальной Вектор F должен содержать функции F1(x), F2(x), , Fn(x), записанные в символьном виде

Рис 11 24 поясняет проведение линейной регрессии общего вида с применением функции Unfit Процедура проведения вычислений настолько проста, что не нуждается в особых комментариях

Рис. 11.24 Пример проведения линейной регрессии общего вида

Расположение координат точек исходного массива может быть любым, но вектор VX должен содержать координаты, упорядоченные в порядке их возрастания, а вектор VY ординаты, соответствующие абсциссам в векторе VX

Функции для одномерной и многомерной полиномиальной регрессии

Введена в новую версию MathCAD и функция для обеспечения полиномиальной регрессии при произвольной степени полинома регрессии

regress(VX,VY, n)

Она возвращает вектор VS, запрашиваемый функцией interp(VS,VX,VY,x), содержащий коэффициенты многочлена п-й степени, который наилучшим образом приближает «облако» точек с координатами, хранящимися в векторах VX и VY

На рис 11 25 показан пример выполнения полиномиальной регрессии Для вычисления коэффициентов полинома регрессии используется функция submatrix

Рис. 11.25 Полиномиальная регрессия

На практике не рекомендуется делать степень аппроксимирующего поли нома выше четвертой — шестой, поскольку погрешности реализации регрессии сильно возрастают

Функция regress создает единственный приближающий полином, коэффициенты которого вычисляются по всей совокупности заданных точек, т е глобально Иногда полезна другая функция полиномиальной регрессии, дающая локальные приближения отрезками полиномов второй степени, — loess(VX, VY, span). Эта функция возвращает используемый функцией interp(VS,VX,VY,x) вектор VS, дающий наилучшее приближение данных (с координатами точек в векторах VX и VY) отрезками полиномов второй степени Аргумент span>0 указывает размер локальной области приближаемых данных (рекомендуемое начальное значение — 0,75) Чем больше span, тем сильнее сказывается сглаживание данных При больших span эта функция приближается к regress(VX,VY,2)

На рис 11 26 показан пример приближения сложной функции со случайным разбросом ее ординат с помощью совокупности отрезков полиномов вто рой степени (функция loess) для двух значений параметра span

На рис 11 26 нетрудно заметить, что при малом значении span, равном 0 05, отслеживаются характерные случайные колебания значений функции, тогда как уже при span=0,5 кривая регрессии становится практически гладкой К сожалению, из-за отсутствия простого описания аппроксимирующей

Рис. 11.26 Пример регрессии отрезками полиномов второй степени

функции в виде отрезков полиномов этот вид регрессии широкого применения не нашел.

Выполнение многомерной регрессии

MathCAD позволяет выполнять также многомерную регрессию, самый типичный случай которой — приближение трехмерных поверхностей. Их можно характеризовать массивом значений высот z, соответствующих двумерному массиву Мху координат точек (х, у) на горизонтальной плоскости.

Новых функций для этого не задано. Используются уже описанные функции в несколько иной форме:

regress(Mxy, Vz, n) — возвращает вектор, запрашиваемый функцией

interp (VS,Mxy,Vz,V) для вычисления многочлена n-v. степени, который наилучшим образом приближает точки множества Мху и Vz. Мху — матрица т-2, содержащая координаты х и у. Vz — т-мерный вектор, содержащий z-координат, соответствующих т точкам, указанным в Мху;

loes(Mxy,Vz,span) —
аналогична loes(VX,VY, span), но в многомерном
случае;

interp(VS, Mxy,Vz,V) — возвращает значение z по заданным векторам VS (создается функциями regress или loess) и Мху, Vz и V (вектор координат х и у заданной точки, для которой находится z).

Пример многомерной интерполяции был приведен выше. В целом многомерная регрессия применяется сравнительно редко из-за сложности сбора исходных данных.

Функция для нелинейной регрессии общего вида

Под нелинейной регрессией общего вида подразумевается нахождение вектора К параметров произвольной фучнкции F(x,K1,K2,...,Kn), при котором обеспечивается минимальная среднеквадратичная погрешность приближения облака исходных точек.

Для проведения нелинейной регрессии общего вида используется функция genfit(VX, VY, VS, F). Эта функция возвращает вектор К параметров функции F, дающий минимальную среднеквадратичную погрешность приближения функцией Р(х,К1,К2,...,Кп) исходных данных.

F должен быть вектором с символьными элементами, содержащими уравнение исходной функции и ее производных по всем параметрам. Вектор VS должен содержать начальные значения элементов вектора К, необходимые для решения системы нелинейных уравнений регрессии итерационным методом.

На рис. 11.27 показан пример выполнения нелинейной регрессии общего вида для нелинейной функции F(x,a,b)=a-exp(-b-x)+a-b.

Рис. 11.27 Пример выполнения нелинейной регрессии общего вида

При решении этой задачи возникают две проблемы. Во-первых, надо вычислить значения производных по переменным а и Ь. В документе на рис. 11.27 это сделано с помощью символьных операций (первая строка документа после титульной надписи), что наглядно показывает пользу от таких операций.

Вторая проблема связана с необходимостью применения функции genfit в ее стандартном виде. Поэтому пришлось заменить параметр а на k1 а параметр b на k2. В остальном операции в примере на рис. 11.27 достаточно очевидны.

11.14. Функции сглаживания данных

Данные большинства экспериментов имеют случайные составляющие погрешности. Поэтому часто возникает необходимость статистического сглаживания данных. Ряд функций MathCAD предназначен для выполнения операций сглаживания данных различными методами (в их названии имеется слово smooth - гладкий). Вот перечень этих функций:

medsmooth(VY,n) — для вектора с т действительными числами возвращает т-мерный вектор сглаженных данных по методу скользящей медианы, параметр п задает ширину окна сглаживания (п должно быть нечетным числом, меньшим т),

Ф ksmooth(VX, VY, b) — возвращает n-мерный вектор сглаженных VY, вычисленных на основе распределения Гаусса. VX и VY — п-мерные векторы действительных чисел Параметр b (полоса пропускания) задает ширину окна сглаживания (b должно в несколько раз превышать интервал между точками по оси х),

Ф supsmooth(VX, VY) — возвращает и-мерный вектор сглаженных VY, вычисленных на основе использования процедуры линейного сглаживания методом наименьших квадратов по правилу k-ближайших соседей с адаптивным выбором k. VX и VY — и-мерные векторы действительных чисел Элементы вектора VX должны идти в порядке возраст ания На рис 11 28 показан пример применения функции subsmooth(X,Y), ко

торая выполняет сглаживание функции Y(X), представленной векторами Х и

Y координат ее точек Обратите внимание на применение и другой функции —

sort(Y), сортирующей данные векторов, что иногда уменьшает погрешности

численного алгоритма сгтаживания

Рис. 11.28 Сглаживание данных, представленных рядом значений XnY

В примере на рис 11 28 для получения исходного массива точек используется генератор случайных чисел Поэтому как расположение точек, так и вид кривой сглаживания могут отличаться от приведенных при иной настройке генератора случайных чисел Но в любом случае хорошо будет видно, что кривая сглаживания намного более гладкая, чем кусочно-линейная линия, соединяющая точки друг с другом в последовательном порядке

11.15. Функция предсказания

Весьма интересной является функция предсказания predikt(datai,k,N), где data — вектор данных, k — степень полинома регрессии и N — число точек. Она по ряду заданных равномерно расположенных точек позволяет рассчитать некоторое число N последующих точек, т. е. по существу выполняет жстраполяцию произвольной (но достаточно гладкой и предсказуемой) зависимости. На рис. 11.29 показано применение функции предсказания — экстраполяции.

Рис. 11.29 Применение функции предсказания — экстраполяции

Функция предсказания обеспечивает высокую точность при монотонных исходных функциях или функциях, представляемых полиномом невысокой степени. Но рис. 11.29 показывает, что она неплохо предсказывает и функции, содержащие явную колебательную компоненту.

11.16. Функции для решения нелинейных уравнений и систем

Функция поиска корня нелинейного уравнения root

Многие уравнения, например трансцендентные, и системы из них не имеют аналитических решений. Однако они могут решаться численными методами с )аданной погрешностью (не более значения, заданного системной переменной TOL). Для простейших уравнений вида F(x)=0 решение находится с помощью функции

гооt (Выражение, Имя_переменной)

Эта функция возвращает значение переменной с указанным уровнем, при котором выражение дает 0. Функция реализует вычисления итерационным методом, причем можно задать начальное значение переменной. Это особенно полезно, если возможно несколько решений. Тогда выбор решения определяется выбором начального значения переменной. Рис. 11.30 иллюстрирует технику применения функции root для вычисления корней кубического полинома.

Рис. 11.30 Вычисление корней кубического полинома

Как известно, кубическое уравнение обязательно имеет хотя бы один кубический корень х1. Он найден вначале функцией root. Два других корня могут оказаться и комплексными. Функция root может отыскивать и такие корни. Для поиска второго корня, х2, первый исключается делением F(x) на (х-х1). Соответственно для поиска третьего корня, х3, F(X) делится еще и на (х-х2). Эту процедуру можно распространить и на поиск корней полиномов более высокой степени, однако надо помнить, что найти корни полинома можно гораздо более изящным и простым способом — используя операцию символьных вычислений.

Функция поиска корней многочлена polyroots

Для поиска корней обычного полинома р(х) степени п MathCAD содержит очень удобную функцию:

polyroots(V)

Она возвращает вектор корней многочлена (полинома) степени п, коэффициенты которого находятся в векторе V, имеющем длину равную п+1.

Заметим, что корни полинома могут быть как вещественными, так и комплексными числами. Не рекомендуется пользоваться этой функцией, если степень полинома выше пятой-шестой, так как тогда трудно получить малую погрешность вычисления корней. На рис. 11.30 в конце документа приведен пример вычисления корней кубического полинома с применением функции polyroots.

Функция root в составе функции пользователя

Функцию root можно использовать и в составе функций пользователя, что нередко позволяет получать довольно простые решения для нетривиальных задач. Примером может служить вычисление неполной гамма-функции G(a,x), показанное на рис. 11.31.

Рис. 11.31 Вычисление функции G(a,x) с помощью функции root в составе функции пользователя

Директива Given для подготовки блока решения системы уравнений

При решении систем нелинейных уравнений используется специальный вычислительный блок, открываемый служебным словом — директивой Given — и имеющий следующую структуру:

Given

Уравнения

Ограничительные условия Выражения с функциями find и minerr

Рекомендуется дополнить блок проверкой решения системы.

Функции find и minerr для решения систем нелинейных уравнений

В блоке используется одна из следующих двух функций:

find(vl, v2, ..., vn) — возвращает значение одной или ряда переменных

для точного решения;

minerr(vl, v2, ..., vn) — возвращает значение одной или ряда переменных

для приближенного решения. Между этими функциями существуют принципиальные различия. Первая функция используется, когда решение реально существует (хотя и не является аналитическим). Вторая функция пытается найти максимальное приближение даже к несуществующему решению путем минимизации среднеквадратичной погрешности решения.

Ввод ограничений при решении систем нелинейных уравнений

Ограничительные условия задаются обычно с помощью операторов — знаков отношения величин. Особо следует отметить знак приближенного равенства (в версиях MathCAD под Windows это жирный знак равенства, тогда как в более ранних версиях под MS-DOS это был знак приближенного равенства), который используется для указания начального значения переменных при итерационных вычислениях.

Оператор Клавиши Значение оператора

е1>е2 е1>е2 е1 больше е2 е1 < е2 е1<е2 е1 меньше е2 е1 > е2 el Ctrl ) е2 е1 больше или равно е2 е1 < е2 Ctrl ( е2 е1 меньше или равно е2 е1у:е2 el Ctrl # е2 е1 не равно е2 el=e2 elCtrl=e2 el равно е2

Примеры решения нелинейных уравнений

Функции find и minerr могут использоваться для решения одного или ряда уравнений. Рис. 11.32 показывает решение некорректно поставленной задачи. Фактически решается система взаимно несовместимых уравнений x=i0 и х^З. Поэтому MathCAD реагирует на попытку решения сообщением об ошибке.

Рис. 11.32 Пример решения простой некорректной задачи

Более правомерной является постановка вопроса о приближенном решении уравнения х2 =3 при приближенном задании x=10 в качестве начального приближения к решению. При этом для записи уравнения используется особый (жирный) знак равенства. Как видно на рис. 11.32, здесь обе функции (find и minerr) дают одинаковое решение.

Рис. 11.33 иллюстрирует решение другой задачи — поиск точек пересечения параболы отрезком прямой. В нашем случае с помощью функции Find решается система из двух уравнений (одно из них нелинейное) с ограничительными условиями, задающими область поиска корня (x<0 для отрицательного корня и х>0 для положительного).

Рис. 11.33 Вычисление координат точек пересечения параболы прямой

Еще один пример решения системы нелинейных уравнений (на этот раз с помощью функции minerr) показан на рис. 11.34.

Рис. 11.34 Решение системы из двух уравнений с помощью функции minerr

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

11.17. Реализация итерационных вычислений с помощью функции until

Рекуррентное вычисление чисел Фибоначчи

Система MathCAD позволяет реализовать итерационные вычисления, обычно осуществляемые по рекуррентным выражениям. Это такие выражения, при которых значение некоторой функции ищется по одному или нескольким предшествующим ее значениям. Классическим примером рекуррентных вычислений является создание чисел Фибоначчи. Как известно, два первых числа Фибоначчи определены как 1, а последующие есть сумма двух предыдущих.

Рис. 11.35 иллюстрирует подготовку вектора, содержащего десять чисел Фибоначчи. Этот пример соответствует вычислениям по рекуррентной формуле заданное число раз.

Рис. 11.35 Вычисление десяти чисел Фибоначчи

Функция until и ее применение

Более актуальна задача реализации итерационных вычислений с их окончанием по некоторому заданному условию. Для этого система MathCAD содержит специальную операцию

until(Выражение_1, Выражение_2)

Эта операция-функция реализует итерационные вычисления и возвращает значение выражения 2, если выражение 1 больше или равно 0. В противном случае итерационные вычисления прекращаются.

На рис. 11.36 показано действие этой функции на другом классическом примере — вычислении квадратного корня из числа N итерационным методом Ньютона.

Этот пример позволяет наглядно проследить динамику схождения к точному результату результатов вычислений по итерационной формуле Ньютона.

Рис. 11.36 Вычисление квадратного корня итерационным методом Ньютона

Пример решения системы рекуррентных уравнений

В общем случае итерационные вычисления могут осуществляться по нескольким формулам, причем возможно перекрестное применение в них переменных. Такого рода вычисления в системе MathCAD необходимо выполнять в векторной форме. Рис. 11.37 показывает решение подобной задачи — вычисляются параметры, характеризующие развитие эпидемии. По существу, здесь конечно-разностным методом решается система дифференциальных уравнений, описывающих развитие и угасание эпидемии.

Рис. 11.37 Динамика протекания процесса эпидемии

Возможны и более сложные реализации итерационных вычислений. Например, к ним сводится решение систем дифференциальных уравнений численными методами Эйлера, Рунге — Кутта и др.

11.18. Функции прямого и обратного преобразований Фурье

К фундаментальным положениям математики относится возможность представления периодических (а при определенных условиях и непериодических) функций совокупностью их гармонических составляющих в виде так называемого ряда Фурье [14]. Эта возможность используется во множестве прикладных сфер применения. Достаточно отметить, что на ее основе реализуется передача через каналы связи практически любой информации, например речи или музыки.

Прямое преобразование Фурье

Если некоторая временная функция f(t) задана рядом отсчетов, переход от нее к параметрам ряда Фурье (амплитудам и фазам гармоник) называется прямым преобразованием Фурье, а обратный переход — обратным преобразованием Фурье. К сожалению, эти переходы связаны с вычислениями интегралов, подынтегральные функции которых быстро осциллируют (т. е. приобретают колебательный характер), что существенно затрудняет вычисление таких интегралов с заданной точностью и ведет к значительным затратам времени.

Поэтому были разработаны специальные методы быстрого преобразования Фурье — БПФ (Fast Fourier Transform). К сожалению, сложность этого процесса не позволяет детально описать эти методы в настоящей книге. Отослав читателя к специальной литературе [10, 14], займемся описанием функций, реализующих прямое и обратное БПФ в системе MathCAD. Они предоставляют возможность проводить указанные преобразования для данных в виде векторов с действительными и комплексными числами.

Функция fft(V) выполняет прямое БПФ для данных, представленных действительными числами — значениями исходного вектора V. Однако при этом вектор V должен иметь 2" составляющих, где п — целое число. Если число составляющих иное, функция отказывается от быстрого преобразования и вычисляет прямое преобразование Фурье гораздо медленнее.

Функция cfft(A) аналогична предыдущей, но реализует прямое преобразование Фурье для вектора А с комплексными элементами. Если А — матрица, реализуется двумерное преобразование. Введение функции fft(V) обусловлено тем, что преобразование для векторов с действительными элементами реализуется по более быстрому алгоритму (БПФ) и занимает меньше времени (при числе отсчетов, соответствующем 2", где п — целое число). В этом случае более прост и ввод исходных данных.

Обратное преобразование Фурье

Перейдем к обратному БПФ. Функция ifft(V) реализует обратное (инверсное) преобразование Фурье для вектора V с комплексными элементами. Вектор V здесь имеет 2m+l элементов. Функция возвращает вектор D с действительными элементами.

Функция cifft(B) выполняет обратное преобразование Фурье по полному алгоритму, при котором как исходный, так и результирующий векторы или матрицы содержат элементы с комплексными значениями. Если задана матрица В, реализуется двумерное обратное преобразование Фурье. Заметим, что в ранних версиях эта возможность отсутствовала, но могла быть реализована (хотя и более сложным путем) с помощью одномерного БПФ.

Примеры на преобразование Фурье

На рис. 11.38 показано в комплексном виде прямое преобразование Фурье, а затем обратное. При этом преобразованный вектор полностью совпадает с исходным.

Рис. 11.38 Прямое и обратное преобразования Фурье для векторов с комплексными коэффициентами

Рис. 11.39 Применение БПФ для спектрального разложения и синтеза прямоугольного импульса

Техника проведения БПФ на примере разложения прямоугольного импульса и последующего его синтеза с помощью ряда Фурье с ограниченным (k-10) числом гармоник показана на рис. 11.39. Здесь исходный вектор задан с элементами действительного типа и используются функции fft и ifft.

БПФ широко применяется при решении задач фильтрации сигналов или аппроксимации функций. При ограниченном числе гармоник приближение функции тригонометрическим рядом Фурье обеспечивает наименьшую среднеквадратичную погрешность, если при этом используется БПФ.

Функции альтернативного преобразования Фурье

Помимо описанных функций MathCAD содержит ряд функций альтернативного преобразования Фурье. Они записываются прописными буквами: FFT, IFFT, CFFT и ICFFT. При альтернативном преобразовании используются иные нормирующие множители. Выражения, определяющие суть преобразований Фурье, можно легко найти в справочной базе данных системы (поэтому здесь они не приводятся).

Функции волновых дискретных преобразований

В системы MathCAD 6.0/7.0 включены еще две функции дискретных волновых преобразований:

Ф wave(V) — дискретное волновое преобразование действительных чисел с использованием четырехкоэффициентного волнового базиса Даубечи. Вектор V должен содержать 2" действительных значений, где п - целое число;

Ф iwave(V) — обратное преобразование относительно преобразования wave

(V — вектор размером 2").

Это довольно редкие функции, представляющие интерес для специалистов — разработчиков электронных фильтров.

11.19. Функции для решения дифференциальных уравнений

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

Нелинейные дифференциальные уравнения и системы с такими уравнениями, как правило, не имеют аналитических методов решения, и здесь особенно важна возможность их решения численными методами. В большинстве случаев желательно представление решений в графическом виде, что и позволяет MathCAD.

В прежних версиях MathCAD пользователю приходилось самостоятельно составлять документы с решением таких уравнений, например, методом Эйлера или Рунге — Кутта, что было делом не очень простым. К тому же решение загромождало текст документа. Теперь эта проблема решена, и довольно изящно.

Функции для решения обыкновенных дифференциальных уравнений

Для решения задач такого класса в MathCAD введен ряд функций. Вначале остановимся на функциях, дающих решения для систем обыкновенных дифференциальных уравнений:

rkadapt — возвращает матрицу, содержащую таблицу (у, х1, х2, асc, п, F, k, s) значений решения задачи Коши на интервале от х1 до х2 для системы обыкновенных дифференциальных уравнений, вычисленную методом Рунге — Кутта с переменным шагом и начальными условиями в векторе у (правые части системы записаны в векторе F, n — число шагов, k — максимальное число промежуточных точек решения и s — минимально допустимый интервал между точками);

Rkadapt(y, х1, х2, п, F) — возвращает матрицу решений методом Рунге — Кутта с переменным шагом для системы обыкновенных дифференциальных уравнений с начальными условиями в векторе у, правые части которых записаны в символьном векторе F, на интервале от х1 до х2', п - число шагов;

rkfixed(y, х1, х2, п, F) — возвращает матрицу решений методом Рунге —

Кутта системы обыкновенных дифференциальных уравнений с начальными условиями в векторе у, правые части которых записаны в символьном векторе F, на интервале от х1 до х2 при фиксированном числе шагов п.

Рис. 11.40 иллюстрирует технику решения системы из двух дифференциальных уравнений и построение решения в виде фазового портрета колебаний, которые описываются решением заданной системы уравнений.

Рис. 11.40 Решение системы дифференциальных уравнений с применением функции rkfixed

На рис. 11.41 показано решение той же системы с применением функции Rkadapt. Обычно она, благодаря автоматическому изменению шага решения,

Рис. 11.41 Решение системы из двух дифференциальных уравнений с применением функции Rkadapt

дает более точный результат. Естественно, по скорости вычислений она проигрывает функции rkfixed, хотя и не всегда: если решение меняется медленно, это может привести к заметному уменьшению числа шагов. Таким образом, функция Rkadapt наиболее привлекательна для решения систем дифференциальных уравнений, дающих медленно изменяющиеся решения.

В последнем примере решение представлено в виде временных зависимостей. Много других примеров решения дифференциальных уравнений можно найти в электронных книгах системы.

Если решение системы дифференциальных уравнений имеет вид гладких функций, то вместо функции rkfixed, описанной ранее, целесообразно применять новую функцию:

Bulstoer(y, x1, x2, n, F)

Она возвращает матрицу решения системы обыкновенных дифференциальных уравнений, правая часть которых (в виде первых производных неизвестных функций) записана в векторе F(x, у) при заданных в векторе у начальных условиях и при решении на интервале от x1 до x2 для n точек решения, не считая начальной точки. Вы можете заменить функцию Rkadapt в примере, показанном на рис. 11.40, на Bulstoer и опробовать последнюю в работе.

Функции для решения жестких систем дифференциальных уравнений

Система дифференциальных уравнений, записанная в матричной форме у=А-х, где А — почти вырожденная матрица, называется жесткой. Для решения жестких дифференциальных уравнений в последние версии MathCAD введен ряд функций:

Фbulstoer (у, x1, x2, — возвращает матрицу решения системы обыкновен-асс, n, F, k, s) ных дифференциальных уравнений, правая часть которых записана в символьном векторе F с заданными начальными условиями в векторе у, на интервале от x1 до x2. Используется Bulirsch-Stoer-метод решения с переменным шагом. Параметры k и s задают максимальное число промежуточных точек, на которых ищется решение и минимально допустимый интервал между ними;

Ф Stiffb — возвращает матрицу решений жесткого дифферен-(у, х1, х2, п, F, J) циального уравнения, записанного в F и функции

Якобиана J; у - вектор начальных значений на интервале от х1 до х2. Для решения используется Bulirsch-Stoer-метод;

Ф stiffb (у, х1, х2, — возвращает матрицу решений только в конечной асc, п, F, J, k, s) точке жесткого дифференциального уравнения, записанного в F и функции Якобиана J; у — вектор начальных значений на интервале от х1 до х2. Для решения используется метод Bulirsch-Stoer с переменным шагом;

Ф Stiffr(y, х1, х2, — возвращает матрицу решений дифференциального п, F, J) уравнения, записанного в F и функции Якобиана

J; у — вектор начальных значений на интервале от х1 до х2. Для решения используется метод Розенброка;

Ф stiffr(y, х1, х2, — матрица решений только в конечной форме жест-асе,n, F, J, k, s) кого дифференциального уравнения, записанного в F и функции Якобиана J; у — вектор начальных значений на интервале от х1 до х2. Для решения используется метод Розенброка с переменным шагом. В приведенных функциях: асc — погрешность решения (рекомендуется порядка 0.001), k — максимальное число промежуточных точек ид— минимально допустимый интервал между точками, в которых ищется решение. Обратите внимание, что функции, начинающиеся со строчной буквы, дают решения только для конечной точки. Различаются функции также и методом решения.

Функции для решения дифференциальных уравнений Пуассона и Лапласа

Для решения дифференциальных уравнений Пуассона (в частных производных второго порядка) и уравнений Лапласа в систему введены следующие функции:

Фbvalfit(vl, v2, х1, х2, xi, — устанавливает начальные условия для F, LI, L2, score) краевой задачи, заданной в векторах F, vl и v2

на интервале от х1 до х2, где решение известно в некоторой промежуточной точке xi;

Фге1ах(М1, М2, МЗ, — возвращает квадратную матрицу решения М4, М5, A, U, г) уравнения Пуассона для спектрального радиуса г, Фmultigrid(M, п) — возвращает матрицу решения уравнения Пуассона, у которого решение равно нулю на границах;

sbval(y, х1, х2, F, L.,score) — дает установку начальных условий для краевой задачи, определенной в символьном векторе F; вектор у — начальные условия на интервале от х1 до х2.

Функции для решения краевых задач

Для решения двухточечных краевых задач предназначены функции

shval(v^c1,x2,D,load,score)

bvalfit(vl,v2,x1,x2,xf,S,loadl,load2,score)

В них векторы v, vl, v2 задают начальные условия; х, х1, х2 — граничные точки интервала решений; D(х,у) — функция, возвращающая п-компонент-ный вектор с первыми производными неизвестных функций, \oad(x1,v), \oadi(x1,vi), load2(;c2,v2) — векторзначные функции, возвращающие значения начальных условий в точках х1 (х2); score(xf,y) — векторзначная функция, возвращающая п-элементный вектор соответствия. Вектор указывает, насколько значения решений, начинающихся из точек х1 и х2, должны соответствовать xf. Например, если нужно совпадение решений, то score(xf, у):=у.

Большое число примеров на решение дифференциальных уравнений с описанными функциями дается в подсказках QuickSheets, размещенных в центре ресурсов.

11. 20. Строковые функции

В версию MathCAD 7.0 PRO включен новый тип данных — строковые функции. Напоминаем, что они задаются как символьные строки в кавычках. Имеется также ряд строковых функций, указанных в документе, показанном на рис. 11.42.

Как видно из рис. 11.42, строковые значения могут быть присвоены переменным и над ними можно выполнять различные операции: объединять строки, выделять из них подстроки, преобразовывать строки в числа и в ASCII-коды (и наоборот), вычислять длину строки и т. д. Строковые функции можно применять и в программных конструкциях.

Рис.11.42 Примеры применения строковых функций

В состав системных переменных добавлена еще одна — строковая переменная CWD. Она возвращает путь к текущему каталогу, где хранится документ, с которым в данный момент происходит работа.


Глава 12 Оптимизация вычислений и программирование

12. 1. Система SmartMath и ее возможности

Назначение системы SmartMath

Начиная с версии 4. 0 система MathCAD обзавелась новым средством оптимизации вычислений — SmartMath. Это фактически экспертная система, ускоряющая вычисления в тех случаях, когда это возможно. При запущенной системе SmartMath процессор численных операций, приступая к вычислению формульного блока, запрашивает символьный процессор о том, может ли тот произвести упрощение или иное преобразование исходной формулы. Если это возможно, то вычисления производятся уже по упрощенной формуле.

Помимо оптимизации вычислений второе важное назначение системы SmartMath заключается в визуализации символьных вычислений и преобразований. Тут дело в том, что символьные вычисления, выполняемые из позиции главного меню Symbolics не наглядны: результат их помещается рядом или под исходным выражением либо замещает его. Откуда он взялся и что именно делается для получения этого результата, в данном случае неясно. К примеру, при вычислении производной некоторого выражения из результата не видно, что вычисляется именно производная, и непонятно, какого она порядка.

Хотя при выполнении символьных операций можно задать опцию вывода комментариев, лишь с применением системы SmartMath процесс символьных преобразований стал очевидным даже в том случае, когда он имеет несколько стадий и выполняется с рядом специальных указаний — директив, которые при этом отображаются в документе.

Система SmartMath более полно использует ядро символьных операций, чем символьные вычисления из подменю позиции Symbolics главного меню, и снимает некоторые ограничения на их выполнение. Например, возможно использование в преобразуемых выражениях функций пользователя. Еще важнее то, что результаты символьных преобразований, выполняемых системой SmartMath, автоматически меняются при изменении исходных символьных данных. Этого, увы, не происходит при символьных вычислениях с помощью команд в позиции Symbolics главного меню.

Описание системы SmartMath не случайно включено в эту главу вместе с разделами по программированию. Она в сущности и является частью программных средств MathCAD, реализующих линейные программы символьных вычислений. При этом блоки символьных вычислений по своей конструкции и идеология их построения очень напоминают программные блоки.

Оператор символьного вывода

Вначале для визуализации результатов символьных преобразований был введен специальный символ — удлиненная горизонтальная стрелка —>. Ее можно вызвать нажатием клавиш Ctrl+. (точка) или вызовом из палитр математических символов (для ввода отношений и символьных операций). Шаблон этого знака имеет вид • —>, где на месте черного прямоугольника вводится подвергаемое символьному преобразованию исходное выражение.

Указанный символ можно рассматривать как простой оператор символьного вывода. Если задать исходное выражение и вывести курсор из формуль-ного блока с ним, то система помещает результат его символьных преобразований после стрелки (оператора символьного вывода). Это и есть первый этап работы с системой SmartMath.

Оператор расширенного символьного вывода

В версию системы MathCAD 7. 0 PRO введен еще один расширенный оператор символьного вывода. Он задается нажатием клавиш Ctrl+ Shift+. (точка) или выбором из палитры символьных операций. Этот оператор имеет вид • • —>. В первый шаблон-прямоугольник вводится исходное выражение, а во второй — директивы символьных преобразований. Они будут описаны чуть позже; задаются эти директивы или вводом соответствующих ключевых слов, или из палитры символьных операций.

Кроме того, в один такой оператор можно ввести другой, с тем чтобы получить составной расширенный оператор символьного вывода и место для записи нескольких директив. Это позволяет намечать заданный путь символьных преобразований. На рис. 12. 1 приведены простейшие примеры применения символьных операций без использования системы SmarthMath и с ее использованием.

Несмотря на простоту примеров, приведенных на рис. 12. 1, они дают наглядное представление об отличительных особенностях реализации символьных операций с помощью операторов символьного вывода, которые были указаны выше.

Рис. 12. 1 Простейшие примеры применения символьных операций

12. 2. Директивы системы SmartMath и их применение

Состав директив

При вводе стрелки —> после выражения фактически (по умолчанию) над ним исполняется операция Simplify (Упростить). Но что подразумевается под этим, ясно далеко не всегда, даже несмотря на то, что многие символьные операции система выполняет вполне очевидно, например вычисление интеграла или производной в символьном виде.

При необходимости выполняемую операцию можно изменить с помощью ряда ключевых слов:

simplify — упрощение выражений;

expand — разложение выражения по степеням;

factor — разложение выражения на простые дроби;

complex — преобразования в комплексной форме;

assume — присваивание переменным неопределенного значения, даже если до этого им были присвоены значения и заданы ограничения на значения переменных;

series — разложение в ряд по заданным переменным;

float — преобразование в формат чисел с плавающей точкой;

literally — запрет символьного преобразования для последующего выражения;

ФBparfac — разложение на элементарные дроби;

Фcoeffs — возвращает коэффициенты полинома;

ФBfourier — прямое преобразование Фурье;

Фlaplace — прямое преобразование Лапласа;

Фztrans — прямое Z-преобразование;

ФBinvfourier — обратное преобразование Фурье;

Фinvlaplace — обратное преобразование Лапласа;

Фinvztrans — обратное Z-преобразование;

ФMT ---> — транспонирование матрицы;

ФМ-1—» — инвертирование матрицы;

Ф¦М¦-> — вычисление детерминанта матрицы;

ФModifier — модифицированные команды:

* assume — вводное слово для приведенных ниже определений;

* real — для var=real означает вещественное значение var;

* RealRange — для var=RealRange(a,b) означает принадлежность вещественной var к интервалу [а,Ь];

» trig — задает направление тригонометрических преобразований.

Ключевые слова допустимо набирать только строчными буквами (кроме Modifier — первая буква в этом слове должна быть прописной). В новой версии MathCAD директивы охватывают все возможные символьные преобразования. При этом их даже больше, чем при использовании операций позиции Symbolics главного меню.

Примеры применения символьных директив

Простейшие примеры на символьные операции даны на рис. 12.2. В этих примерах полезно обратить внимание на множественность применения директив, особенно в примере на применение директивы подстановки substitute.

Рис. 12. 2 Примеры символьных преобразований с помощью системы SmartMath

Как видно из рис. 12. 1 и 12. 2, блоки системы SmartMath имеют следующие отличительные свойства:

дают хорошее визуальное представление операций;

имеют шаблоны для задания параметров и опций;

обеспечивают работу с функциями пользователя;

обеспечивают передачу данных от формулы к формуле;

допускают расширение, позволяющее использовать сразу несколько директив;

имеют конструкцию, схожую с конструкцией программных блоков.

На рис. 12. 3 показано еще несколько примеров применения символьных вычислений. Здесь особенно полезно присмотреться к технике применения разложения в ряд Тейлора и преобразования Лапласа.

Рис. 12. 3 Примеры применения символьных вычислений

Рис. 12. 4 Примеры на применение директив complex, assume и coeffs

Как нетрудно заметить, директива упрощения simplify не имеет параметров Директива разложения в ряд Тейлора series требует указания двух параметров задания начального значения переменной х и указания числа членов ряда Директивы преобразования Лапласа laplace и решения уравнений solve требуют одного параметра — указания имени переменной (в нашем случае х) С помощью директивы solve можно решать и системы уравнений — тогда ее параметр будет вектором неизвестных

Применение директив complex, assume и coeffs поясняет рис 124 Тут важно обратить внимание на двойственность применения ключевого слова assume Оно может применяться для отмены значений переменных (берется

Рис. 12. 5 Символьные операции с матрицами

Рис. 12. 6 Символьное вычисления интегралов

прямо из палитры символьных директив) и для указания статуса и ограничении переменных (берется из дополнительной палитры Modifiers)

Выполнение матричных операций в символьной форме особой специфики не имеет На рис 125 показаны основные операции с матрицами, включая их транспонирование и вычисления обратной матрицы и детерминанта матрицы. Для наглядности взята матрица небольшого (2х2) порядка

Рис. 12. 6 показывает применение символьных директив для вычисления интегралов Здесь, пожалуй, полезно обратить внимание на применение директивы float, позволяющей вычислить значение интеграла в виде обычного вещественного числа

Итак, мы рассмотрели большую часть символьных директив С оставшимися читатель может поработать самостоятельно, тем более что правила их применения уже были описаны

12. 3. Операторы вычисления пределов функций

Для вычисления пределов функций начиная с версии MathCAD PLUS 5 0 в систему введен символьный оператор limit Помимо ввода с наборной панели Calculus Pallete его в трех формах можно ввести нажатием следующих комбинаций клавиш

Ctrl+ L — ввод шаблона оператора вычисления предела функции при х, стремящемся к заданному значению,

Ctrl+ A — ввод шаблона вычисления предела функции слева от заданной точки, Ctrl+ B — ввод шаблона вычисления предела функции справа от заданной точки

На рис. 127 показаны примеры вычисления пределов При вычислении пределов нужно заполнить шаблоны, входящие в главный шаблон для вычисления пределов, а затем ввести функцию, имя переменной, по которой ищется предел, и значение переменной — аргумента функции

Рис. 12. 7 Примеры вычисления пределов функций

Для получения результата установите после блока вычисления предела стрелку с острием, направленным вправо. Предел (если он существует) будет вычислен и появится в шаблоне у острия стрелки. Если функция не имеет предела, вместо результата появится надпись Undefine

12. 4. Задание операторов пользователя

Еще одна экзотическая возможность, присущая новым версиям системы MathCAD, — задание новых операторов пользователя Такой оператор задается практически так же, как функция пользователя, но вместо имени выбирается какой-либо подходящий знак Например, можно задать оператор деления

в виде:

/(А,В):= A/B задание нового оператора деления;

/(6,2) =3 — применение функции деления;

6/2 = 3 — применение нового оператора деления.

При кажущейся простоте такого задания здесь есть проблемы. Встроенные в систему операторы нельзя переопределить. Поэтому набор доступных знаков для обозначения новых операторов ограничен. К примеру, нельзя задать новый оператор деления знаком / (он уже использован), но можно взять знак /поскольку этот символ системой не используется.

Вторая проблема связана с вводом символа нового оператора. Скорее всего, его напрямую ввести нельзя. Придется воспользоваться типовыми приемами ввода новых символов в документы Windows. Один из этих приемов — использование приложения, выдающего таблицу символов, с возможностью его экспорта из этой таблицы в документ другого приложения (в нашем случае — в документ MathCAD).

Можно также воспользоваться подходящим знаком из набора Extra Math Symbol, имеющегося в составе шпаргалок QuickSheet, доступ к которым дает центр ресурсов На рис 12. 8 показан такой вариант задания нового оператора

пользователя Для перетаскивания знака можно скопировать его в буфер об мена с помощью операции Copy, а затем ввести в документ, используя операцию Paste

Рис. 12. 8 Задание оператора пользователя с выбором имени из набора знаков

После того как оператор задан, его можно использовать как функцию и как оператор Примеры показаны на рис 12. 8. Для применения нового оператора надо вывести его шаблон с помощью панели математических знаков (она также показана на рис 12 8) В нашем случае следует нажать кнопку xfy этой панели — она выводит особый шаблон вида • • • Введите операнды, например 6 и 2, в крайние прямоугольники, а символ оператора — в средний. Поставив после этой конструкции знак равенства, увидите результат — число 3.

Разумеется, можно задать и другие операторы, например для работы с одним операндом Так, вы можете задать оператор для пересчета значения температуры по шкале Цельсия, с тем чтобы определить соответствующее ему значение по шкале Фаренгейта, следующим образом

°С (х) =9/5 х+32 °F.=1

Затем, используя кнопку xf наборной панели символов отношения, можно выполнять операцию пересчета в виде.

37°С-986 °F

Большинство пользователей MathCAD вправе спросить и зачем только нужны эти сложности? И в самом деле, проще и естественней задать нужную операцию с помощью функции пользователя Однако есть области математики и физики, где задание новых операторов необходимо, поскольку является частью специфического языка их описания Те, кто работает в этих областях, по достоинству оценят предоставляемую возможность, несмотря на определенные неудобства, связанные с назначением новых операторов и их использованием

12. 5. Задание программных модулей

Программные операторы

Вплоть до появления последних версий системы MathCAD возможности программирования в них были крайне ограниченными. Фактически MathCAD позволяла реализовать лишь линейные программы, в основе которых лежит понятие функции. Функция if и ранжированные переменные в отдельных случаях могли заменить условные выражения и циклы, но с серьезными ограничениями. Отсутствовала возможность задания завершенных программных модулей.

Эти возможности наконец появились в версии MathCAD PLUS 6. 0 PRO и в расширенном варианте имеются в описываемой версии MathCAD 7. 0 PRO. Они сосредоточены в наборной панели программных элементов, показанной на рис. 12. 9.

Рис. 12. 9 Задание программных блоков

Как видно из рис. 12. 9, программный модуль в системе MathCAD превратился в самостоятельный модуль, выделяемый в тексте документа жирной вертикальной чертой. Он может вести себя как безымянная функция, не имеющая параметров, но возвращающая результат — первый пример на вычисление квадратного корня из числа 12. Программный модуль может выполнять и роль тела функции пользователя с именем и параметрами — второй пример.

Обзор программных операторов

Нетрудно заметить, что набор программных элементов для создания программных модулей весьма ограничен. Ниже приводится их перечень. Add Line — создает и при необходимости расширяет жирную вертикальную линию, справа от которой в шаблонах задается запись программного блока;

<— — символ локального присваивания (в теле модуля);

if — оператор условного выражения;

for — оператор задания цикла с фиксированным числом повторении;

while — оператор задания цикла типа "пока" (цикл выполняется, пока выполняется некоторое условие);

otherwise — оператор иного выбора (обычно применяется с if);

break — оператор прерывания;

Фcontinue — оператор продолжения;

Фreturn — оператор возврата;

Фоn error — оператор обработки ошибок.

Оператор Add Line

Оператор Add Line выполняет функции расширения программного блока. Расширение фиксируется удлинением вертикальной черты программных блоков или их древовидным расширением. Благодаря этому в принципе можно создавать сколь угодно большие программы.

Оператор <-

Оператор <— выполняет функции внутреннего локального присваивания. Например, выражение х <— 123 присваивает переменной х значение 123. Локальный характер присваивания означает, что такое значение х сохраняет только в теле программы. За пределами тела программы значение переменной х может быть неопределенным либо равным значению, которое задается операторами локального: = и глобального = присваивания вне программного блока.

Оператор if

Оператор if является оператором условного выражения. Он задается в виде:

Выражение if Условие

Если Условие выполняется, то возвращается значение Выражения. Совместно с этим оператором часто используются оператор прерывания break и оператор иного выбора otherwise.

Оператор for

Оператор for служит для организации циклов с заданным числом повторений. Он записывается в виде:

for Var e Nmin.. Nmax

•

Эта запись означает, что если переменная Var меняется с шагом+ 1 от значения Nmin до значения Nmax, то выражение, помещенное в шаблон, будет выполняться. Переменную счетчика Var можно использовать в выражениях программы.

Оператор while

Оператор while служит для организации циклов, действующих до тех пор, пока выполняется некоторое Условие. Этот оператор записывается в виде:

while Условие

•

Выполняемое выражение записывается на место шаблона.

Оператор otherwise

Оператор иного выбора otherwise обычно используется совместно с оператором if. Это поясняет следующая программная конструкция:

f (x): = 1 if х>0 возвращает 1, если х > О

-1 otherwise возвращает -1 во всех иных случаях

Оператор break

Оператор break вызывает прерывание работы программы всякий раз, когда он встречается. Чаще всего он используется совместно с оператором условного выражения if и операторами циклов while и for, обеспечивая переход в конец тела цикла.

Оператор continue

Оператор continue используется для продолжения работы после прерывания программы. Обычно он применяется совместно с операторами задания циклов while и for, обеспечивая после прерывания возврат в начало цикла.

Оператор return

Оператор return прерывает выполнение программы и возвращает значение своего операнда, стоящего следом за ним. Например, в приведенном ниже случае

return 0 if x<0

будет возвращаться значение 0 при любом х < 0.

Оператор on error

Оператор on error является оператором обработки ошибок, позволяющим создавать конструкции обработчиков ошибок. Этот оператор задается в виде:

Выражение_1 on error Выражение_2

Если при выполнении Выражения_1 возникает ошибка, то выполняется Выражение_2. С оператором on error связана функция error, которая обычно используется для возврата текстового сообщения об ошибке.

12. 6. Примеры программирования

Несмотря на столь скромный набор программных средств, они дают системе MathCAD именно те возможности, которые ранее попросту отсутствовали: задание функций с аппаратом локальных переменных, задание различных видов циклов (в том числе вложенных), упрощение алгоритмов с помощью операций присваивания и реализация по классическим алгоритмам итерационных и рекурсивных процедур. Рекомендуется внимательно изучить рис. 12. 10, на котором показана часть этих возможностей.

Обратите особое внимание на второй пример вычисления факториала. Здесь использовано задание одного программного модуля внутри другого. Вообще говоря, для нескольких подмодулей, которые должны выполняться в составе циклов, надо использовать их объединение в виде жирной вертикальной черты. Для этого, как и для исходного задания блока, служит

Рис. 12. 10 Примеры задания программных блоков

команда Add Line, добавляющая в модуль дополнительную вертикальную черту для подмодуля.

Программный модуль в сущности является функцией, но описанной с применением упомянутых сугубо программных средств. Эта функция может возвращать значение, определяемое последним оператором. Это значит, что после такого модуля, выделенного как целый блок, можно поставить знак равенства для вывода значения функции. В блоке могут содержаться любые операторы и функции входного языка системы. Для передачи в блок значений переменных можно использовать переменные документа, которые ведут себя в блоке как глобальные переменные.

Обычно модулю присваивается имя со списком переменных, после которого идет знак присваивания: =. Переменные в списке являются локальными,

Рис. 12. 11 Применение директив on error и return

и им можно присваивать значения при вызове функции, заданной модулем Локальный характер таких переменных позволяет присваивать им те же имена, что и глобальным переменным документа. Однако лучше этого не делать и использовать разные имена для локальных переменных программных модулей и переменных документа.

На рис. 12. 11 показано применение операторов on error и return, а также действие функции error, задающей вывод надписи в желтом прямоугольнике при активизации мышью выражения, содержащего ошибку.

В этих примерах надо обратить внимание на два момента. Первый — возможность применения оператора on error вне программного блока для задания функции y (x) =sin (x)/x с исключительным значением 1 при х=0. Второй — применение этого оператора для решения уравнения, имеющего комплексные корни. Когда при таком решении задается действительное начальное приближение для х, то функция root (f, x) дает ошибку. Она исправляется с помощью оператора on error при задании функции RF (f, x), имеющей обработчик ошибок.

Задание программных модулей позволяет реализовать любые специальные приемы программирования и может служить мощным средством расширения системы путем задания новых функций.

Теперь рассмотрим достаточно сложный и поучительный пример применения программного блока. На рис. 12. 12 показан документ, в котором программный модуль вычисляет коэффициенты Фурье для заданной функции — пилообразного импульса (его можно менять).

Рис. 12. 12 Вычисление коэффициентов А и В разложения функции в ряд Фурье

Тут вычисление коэффициентов ряда Фурье выполнено по их классическим интегральным представлениям. Это хорошо иллюстрирует возможность применения в программных блоках весьма мощных средств входного языка системы. Продолжение этого документа, реализующее гармонический синтез, представлено на рис. 12. 13.

На рис. 12. 13 показаны векторы коэффициентов, приведена формула гармонического синтеза исходной функции по ее гармоническому ряду и на графике проведено сопоставление исходной функции с ее представлением рядом Фурье с ограниченным числом гармоник N

Рис. 12. 13 Реализация гармонического синтеза

Еще один пример применения программного модуля для задания точек некоторой функции в трехмерном пространстве показан на рис 12 14 Там же представлено построение этих точек внутри параллелепипеда

Рис. 12. 14 Применение программного модуля для построения точек заданной функции в пространстве

Разумеется, подобные задачи могут в системе MathCAD решаться и без использования в явном виде программных средств Однако эти средства облегчают решение сложных задач, особенно когда имеется описание их программной реализации на каком-либо языке программирования Тогда несложно перевести реализацию решения задачи с этого языка на язык программирования системы MathCAD

Вообще, надо отметить, что проблема включения в документы программных блоков в MathCAD решена изящно и красиво, такие блоки подчас просто украшают документы и позволяют пользоваться всеми средствами не только математически ориентированного входного языка MathCAD, но и классического программирования.

Много интересного и поучительного можно найти в примерах задания и применения программных модулей раздела QuickSheet (Шпаргалки), доступного из центра ресурсов системы. Нельзя не отметить, что характер задания программных модулей в MathCAD весьма удачен: модули прекрасно вписываются в документы, выглядят просто и естественно.

Следует также отметить, что система MathCAD PLUS 7. 0 допускает расширение путем включения в нее новых функций, написанных на языке Си или Си++. Впрочем, возможности системы настолько широки, что трудно себе представить необходимость в таком кардинальном шаге. Это расширение скорее может оказаться полезным для разработчиков системы, чем для подавляющего большинства ее пользователей.

Интересующиеся этой возможностью могут воспользоваться описанием ее в [14].

12. 7. Погрешности вычислений и сообщения об ошибках

Большинство вычислений в системе реализовано с помощью численных методов, принципиально имеющих конечную погрешность вычислений. Так, для вычислений производной используется конечно-разностный метод с изменением шага между узлами и его подстройкой под заданную погрешность. Интегралы вычисляются методом Симпсона с заданной погрешностью, а для вычисления корней функций применяется метод секущих.

Для всех методов погрешность вычислений задается с помощью специальной системной переменной TOL. Хотя истинная погрешность может

Рис. 12. 15 Влияние переменной TOL на погрешности вычисления производных и интегралов

оказаться значительно меньше значения TOL, ее влияние на результаты вычислений все же заметно (см. рис. 12. 15).

При выполнении вычислений возможны ошибки. Система выводит сообщения об ошибках, закрашивая ошибочные имена идентификаторов в ярко-красный цвет. В прежних версиях MathCAD сообщения об ошибках появлялись в красных прямоугольниках с линией, отходящей от места ошибки к прямоугольнику с сообщением о ней. Однако это загромождало документ, и от такого способа в новой версии отошли. В новой версии MathCAD подробное сообщение об ошибке можно получить также, установив на выражение с ошибкой курсор мыши и нажав ее левую клавишу.

Ниже представлен список основных сообщений об ошибках:

array size mismatch — несоответствие размера массива;

cannot be defined — не может быть определено;

cannot take subscript — не содержит верхних (нижних) индексов, definition stack overflow — переполнение стека определений;

did not find solution — решение не найдено;

dimension to non real power — размерность массива — не целое число;

domain error — ошибка области определения;

duplicate — дублирование;

equation too large — слишком большое выражение;

error in constant — ошибка в константе;

error in list — ошибка в списке;

error in solve block — ошибка в блоке;

file error — ошибка в файле;

file not found — файл не найден;

illegal array operation — неверная операция с массивом;

illegal context — неверный контекст;

illegal factor — неверный множитель;

illegal function name — неверное имя функции;

illegal ORIGIN — неверное употребление ORIGIN;

illegal range — неправильный диапазон;

illegal tolerance — некорректная точность аппроксимации;

incompatible units — несовместимые единицы;

index out of bounds — индекс вне границ;

interrupted — решение прервано;

invalid order — неверный порядок;

list too long — длинный входной список;

misplased comma — неуместная запятая;

missing operand — пропущенный операнд;

missing operator — пропущенный знак операции;

must be 3-vector — должен быть трехмерный вектор;

must be array — должен быть массив;

must be dimensionless — должен быть безразмерным;

must be increasing — должен быть возрастающим;

must be integer — должен быть целым;

must be nonzero — должен быть ненулевым;

must be positive — должен быть положительным;

must be range — должен быть диапазон;

must be real — должен быть вещественным;

must be scalar — должен быть скаляром;

must be vector — должен быть вектором;

nested solve block — следующий блок решения;

no matching Given — нет соответствующего Given;

no scalar value — нескалярная величина;

not a name — не является именем;

not converging — не конвертируется;

only one array allowed — допустим только один массив;

overflow — переполнение;

significance lost — потеряны значащие цифры;

singularity — деление на нуль;

stack overflow — переполнение стека;

subscript too large — слишком большой нижний индекс;

too few arguments — слишком мало аргументов;

too few constraints — слишком мало ограничений;

too few elements — слишком мало элементов;

too few subscripts — мало нижних индексов;

too large to display — слишком велико, чтобы быть отображенным;

too many arguments — слишком много аргументов;

too many constraints — слишком много ограничений;

too many points — слишком много точек;

too many subscripts — слишком много индексов;

undefindet — не определено;

unmatched parenthesis — дисбаланс скобок;

wrong size vector — неверный размер вектора.

Сообщения об ошибках кратки, но их анализ не вызывает особых затруднений. Заметим, что приведенный список содержит далеко не все ошибки, а лишь наиболее распространенные.

12. 8. Реализация численных методов в MathCAD 7. 0 PRO

Серьезные пользователи, работающие с математическими системами, зачастую бывают недовольны отсутствием информации о реализованных в таких системах численных методах. Связано это с тем, что нередко от этих методов зависит успех решения особых задач, с которыми может столкнуться каждый пользователь. Поэтому немного остановимся на сути численных методов, реализованных в системе MathCAD 7. 0 PRO.

Прежде всего отметим, что выражения 0*x, 0/х и 0/0 система вычисляет как 0. Точнее говоря, встречая 0 в числителе любого выражения, она не вычисляет это выражение, а просто полагает его значение равным 0. При реализации численных методов MathCAD дает точными 15 десятичных цифр для результатов вычислений, но при выводе задает число знаков в соответствии с выбранным форматом чисел.

Определенные интегралы система вычисляет методом Ромберга. Этот метод широко описан в нашей литературе (см., например, [1, 2]). Поэтому, не описывая его подробно, отметим лишь, что он является вариантом метода трапеций с делением на два интервала интегрирования с итерационным уточнением решения до достижения заданной точности (она определяется значением системной переменной TOL).

Если за заданное число итераций точность не достигнута, используется более точный метод Ромберга с открытыми концами. При нем число интервалов утраивается на каждом шаге интегрирования. Этот метод увеличивает число шагов интегрирования там, где подынтегральная функция меняется более резко (например, если она имеет разрыв).

К достоинствам метода можно отнести то, что он делает все возможное, чтобы вычислить интеграл даже при сложной функции. Но для простых функций это ведет к увеличению времени вычислений. При наличии у подынтегральной функции особенностей время вычисления может резко возрастать из-за перехода от одной реализации метода Ромберга к другой. Поэтому нередко бывает оправданным применение достаточно точных формул интегрирования, например формул Ньютона — Котесса с легко предсказуемыми узлами, которые можно выбрать вдали от особых точек подынтегральной функции. Примеры такого подхода даны в Главе 14.

Для вычисления производных порядка от 0 до 5 система использует метод Риддера. Подробности о нем можно найти в [14]. Главное то, что метод вычисляет первую производную с погрешностью до 7—8 верных цифр результата, а с повышением производной на порядок число верных цифр уменьшается на единицу. Метод Риддера — итерационный (на каждой итерации шаг дифференцирования уменьшается), но число итераций ограничено. Если при реализации этого метода указанная точность не достигается, MathCAD сообщает об отсутствии сходимости.

При решении систем уравнений и неравенств используется итерационный метод Левенберга — Маркардта, содержащийся в известном и свободно распространяемом пакете алгоритмов численных методов MINPACK. Этот метод пытается найти нули или минимум среднеквадратичной погрешности при решении заданной системы уравнений или системы неравенств. При решении с применением аппарата комплексных чисел раздельно решаются действительная и мнимая части уравнений.

При решении вычисляется также вектор невязки. Если его величина меньше TOL, система возвращает вектор переменных-неизвестных. Если для решения используется функция find, при величине вектора невязки больше TOL система сообщает, что решение не найдено. Когда используется функция minerr, вектор неизвестных возвращается даже в том случае, когда значение вектора невязки больше TOL. Наконец, если не обнаружено схождение за заданное число итераций, выдается сообщение об отсутствии сходимости (как при применении функции find, так и minerr). В любых случаях величина вектора невязки определяется значением переменной ERR.

Для вычисления определителей матрицы и ее инвертирования используется LU-разложение. При этом матрица М разлагается в произведение нижней треугольной матрицы L и верхней U (т. е. M=L-U). Такой метод хорошо известен. В частности, он позволяет:

• вычислить определитель исходной матрицы как произведение диагональных элементов матриц L и U;

• вычислить обратную матрицу из решения матричного уравнения M*Vj=ej, где е — вектор с единицей на j-м месте и нулями в остальных позициях, V— вектор решения, который образует столбцы обратной матрицы для каждогоj;


Глава 13 Интегратор приложений MathConnex

13. 1. Что такое MathConnex?

MathConnex — новое средство, примененное в системе MathCAD 7. 0 PRO. Оно выполняет две важнейшие и чрезвычайно мощные функции:

• служит для интеграции различных приложений с системой MathCAD и обеспечения их совместной работы с использованием объектных связей OLE2;

• выполняет функции имитационного моделирования моделей, представленных типовыми блоками в виде функциональной схемы.

В сущности MathConnex является вполне самостоятельным приложением, включенным в систему MathCAD и выполняющим функции системного интегратора. Благодаря ему возможно простое и наглядное установление сложных взаимосвязей между различными приложениями: математической системой MathCAD, матричной системой MatLAB, графической системой Axum, электронными таблицами Excel из пакета Microsoft Office и др. Мощь такой объединенной системы возрастает многократно, позволяет использовать для решения задач пользователя целый арсенал различных программных систем, включая встроенные в них специфические и подчас уникальные функции.

В то же время применение системы MathConnex имеет и недостатки:

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

• медлительность работы системы ощущается даже на ПК класса Pentium 166/200 ММХ;

• MathConnex имеет свой собственный язык программирования, требующий усилий по его освоению;

• имеются трудности при задании текстовых комментариев на русском языке;

• подготовка проектов (документов) для MathConnex требует больших затрат времени.

Все это свидетельствует о том, что MathConnex представляет интерес для опытного пользователя, способного по достоинству оценить уникальные возможности этой системы и уверенно их применять. Это средство особенно полезно, если необходимо блочное представление и описание сложной системы, работу которой необходимо имитировать. Можно считать, что в системе MathConnex на новом (цифровом) уровне реализована идея аналоговых ЭВМ (таких, как МН-7): подготовка блок-схем моделируемых устройств и имитация (или симуляция) их работы.

Представленное ниже описание рассчитано на начальное знакомство с системой. При этом предполагается, что опытный пользователь может освоить систему более детально по множеству имеющихся в ее составе примеров и по описанию (на английском языке), входящему в комплект поставок на CD-ROM.

13. 2. Описание пользовательского интерфейса системы MathConnex

Общий обзор окна

Для запуска системы MathConnex используется кнопка в инструментальной панели MathCAD с пиктограммой в виде красного шарика и трех разноцветных прямоугольников (блоков). После запуска появляется главное окно MathConnex, показанное на рис. 13. 1.

Рис. 13. 1 Главное окно системы MathConnex

Окно имеет строку главного меню и расположенную под ним панель инструментов (Toolbar). В правой части главного окна (экрана) системы находится большое окно для рабочего документа (Worksheet). Первоначально оно пустое. В левой части расположена палитра компонентов (Component Pallete) в виде 12 кнопок и так называемый Исследователь (Explorer).

Главное меню MathConnex

Главное меню системы имеет типичный для Windows-приложений набор позиций и относящихся к ним подменю. Поскольку главное меню MathCAD было описано, то можно опустить описание главного меню MathConnex. Укажем лишь, что все его операции относятся к деталям интерфейса MathConnex и к документам этой системы. Документы имеют расширение. .mxp.

Кроме того, надо отметить специфическую для MathConnex позицию Run главного меню. Она выводит подменю со следующими операциями:

Run (Пуск) — пуск имитации работы документа;

Pause (Пауза) — пауза в имитации;

Step (Шаг) — имитация для следующего блока в режиме пошаговой работы;

Stop (Стоп) — остановка имитации;

Single Step Mode — переход к пошаговой имитации;

(Пошаговый режим)

Highlight Components — установка подсветки исполняемого компонента.

(Подсветка компонентов)

Панель инструментов MathConnex

Панель инструментов MathConnex содержит ряд кнопок, аналогичных по своему виду и назначению тем, что используются в системе MathCAD. Однако есть две новые группы кнопок, отмеченные ниже. Кнопки управления имитацией.

Run — пуск имитации;

Pause — пауза в имитации;

Step — пошаговое выполнение имитации;

Stop — остановка имитации.

Кнопки управления уровнем исполнения и размерами документа:

Back — переход к предыдущему по уровню блоку;

Zoom in — увеличение размеров документа;

Zoom out — уменьшение размеров документа.

Палитра компонентов

Палитра компонентов содержит кнопки с приведенными ниже обозначениями. Они разбиты на пять групп. Компоненты ввода и вывода данных:

Input — блок ввода;

File Read or Write — считывание или запись файла;

Ramp — блок генерации последовательностей;

Global Variable — блок задания глобальной переменной. Компоненты просмотра (инспекции) результатов:

Inspector — блок Инспектора — просмотра вычислений;

Graph — блок вывода графики;

Axum — блок графической системы Axum. Подключаемые компоненты:

MathCAD — блок математической системы MathCAD;

Excell — блок системы Excel (электронные таблицы);

MatLAB — блок математической системы MatLAB;

Connex Script — блок с описанием на языке Connex Script.

Компоненты контроля потоков данных:

Conditional — блок ввода условий;

Initialize — блок инициализации;

Wire Breaker — блок выключателя;

Stop or Pause — блок остановки и паузы. Компонента вставки текстового комментария:

Text — блок вставки текстового комментария.

13. 3. Подготовка документов в MathConnex

Подготовка документов в системе MathConnex сводится к созданию блок-схемы решаемой задачи. Блок-схема может содержать указанные выше компоненты, связи между ними и текстовые комментарии. Все это размещается в окне документов.

Для ввода блоков в документы достаточно указать курсором мыши на кнопку нужного блока и, нажав и удерживая левую клавишу мыши, начать перетаскивать блок в нужное место окна редактирования документа. Отпустив левую клавишу мыши, можно зафиксировать блок в нужном месте. Таким образом реализуется известный метод перетаскивания объектов drag and drop ("перетащи и брось"). В ряде случаев система выводит диалоговые установочные окна для задания числа вводов и выводов (обозначаемых треугольниками) и некоторых других параметров.

На рис. 13. 2 показан простейший пример работы с системой MathConnex. В окно документов перенесен блок системы MathCAD, и в нем построен график двух функций. Обратите внимание, что при установке блока системы MathCAD появляется панель палитр математических символов.

Рис. 13. 2 Пример вывода и применения блока MathCAD

Входы и выходы блоков в общем случае соединяются соответствующим образом с помощью активизации их курсором мыши, превращающимся в кисть руки, держащей карандаш На рис 13 3 показан более сложный случай подготовки документа из четырех блоков со связями между ними

Рис. 13. 3 Пример построения блок-схемы из четырех блоков

Блок Input0 вводит число 123 Следующий б ток системы MathCAD Функция in0 возвращает значение числа, которое задает блок Input0 Это обеспечивает интерфейс связи между блоком ввода и блоком вычислений системы MathCAD. Поскольку данный пример чисто иллюстративный, то в математическом блоке задано суммирование числа из блока ввода с числом 57 Результат передается на выход блока с помощью интерфейсной функции out0 С помощью блока Инспектора можно наблюдать результат вычислений, а блок останова останавливает их

Для пуска имитации достаточно активизировать кнопку пуска (ее пиктограмма имеет вид зеленого треугольника) Освоив пару-другую подобных примеров, можно научиться составлять свои блок-схемы, причем не только линейные, но и со сложной разветвленной структурой

В функциональную схему имитируемых устройств могут входить блоки с описанием их довольно сложных функций на языке системы MathConnex — Connex Script Ею описание дано в конце этой главы

13. 4. Редактирование блоков и документов системы MathConnex

В панели Project (Проект) Исследователя в левой части экрана виден полный перечень блоков, вставленных в окно документов Установив курсор мыши на любую позицию этого перечня и нажав быстро левую клавишу мыши, можно выделить заштрихованной рамкой соответствующий блок в окне документа Уцепившись курсором мыши за эту рамку, б ток легко переместить в любое место окна документа Это же можно сделать, указав блок курсором мыши и прямо в окне документов. Кроме того, используя шаблоны в виде маленьких темных прямоугольников по сторонам рамки, блок растягивается по вертикали, по горизонтали и по диагонали.

Двойной щелчок левой клавишей мыши позволяет ввести режим редактирования блока. При этом автоматически запускается создавшее блок приложение. На рис. 13. 4 показан пример редактирования в блоке MathCAD, в котором число 57 изменено на число 456. Изменение результата в Инспекторе произойдет только после запуска имитации. Окно документа при редактировании приобретает элементы интерфейса, присущие приложению, в котором создается редактируемый блок (см. рис. 13. 4).

Рис. 13. 4 Пример редактирования в блоке MathCAD

После редактирования нужно установить курсор мыши на свободное поле окна редактирования и щелкнуть ее левой клавишей. При этом выделение блока исчезнет и документ предстанет в виде, готовом для пуска его имитации.

Для редактирования блоков полезно также контекстно-зависимое меню, появляющееся при нажатии правой клавиши мыши. Оно содержит различные операции, которые относятся к выделенному блоку. Это могут быть операции стирания блока, редактирования его свойств и т. д.

Одной из важных является операция редактирования свойств Properties. Она выводит диалоговое окно, показанное на рис. 13. 5 для блока Input0. Такое окно позволяет (с помощью панели General) установить номер блока и задать к нему текстовый комментарий. Заметим, что MathConnex автоматически проставляет номера блоков по мере их задания, что не всегда удобно. В панели Display можно задать параметры отображения чисел в блоке.

При отладке документов полезен режим пошаговой работы. При этом на каждом шаге исполняется один блок документа. Обычно исполнение блока заметно лишь по изменению входящих в него данных, результатов вычислений и графических построений. Однако включив режим подсветки Highlight Components, можно наблюдать выделение исполняемого блока (компонента) двойной рамкой с ярко-зеленой окраской (см. рис. 13. 6).

Рис. 13. 5 Окно MathConnex с окном установки свойств блока Input0

Итак, редактирование и отладка блоков достаточно просты. Пожалуй, куда большие трудности представляет само составление блок-схемы для решения поставленной задачи. К сожалению, тут мало помогают рекомендации

Рис. 13. 6 Иллюстрация пошагового исполнения документа с выделением исполняемого блока

общего характера, так что воздержимся от них и рассмотрим возможности системы MathConnex на примерах, включенных в комплект ее поставки.

13. 5. Использование внешних систем

Главным достоинством системы MathConnex является ее интеграция с другими математическими и графическими системами. Отметим особенности и возможности последних.

Графическая система Axum

Прежде всего эта система ориентирована на построение 2D- и ЗD-графиков, способных удовлетворить самые изысканные требования в области графической визуализации. К примеру, Axum позволяет строить сложные трехмерные поверхности с функциональной окраской и с одновременным построением их проекции в виде линий равного уровня на плоскости, расположенной под этой поверхностью. Это заметно повышает степень визуализации построений.

Axum ориентирована также на быструю и наглядную обработку данных. Она содержит множество математических и статистических функций и удобный редактор математических формул, обладает большими возможностями импорта и экспорта данных.

Демонстрационная версия системы Axum поставляется на CD-ROM в комплекте поставки системы MathCAD 7. 0 PRO. Ее можно найти в Internet на сервере фирмы MathSoft.

Электронные таблицы Excel

Табличный процессор Excel входит в самый популярный пакет автоматизации офисной деятельности — Microsoft Office 95 (уже появился и Office 97, но возможность его стыковки с MathConnex пока не ясна). Excel — одна из самых мощных и гибких электронных таблиц. Эта система может работать не только с двумерными, но и с трехмерными таблицами, представленными листами с двумерными таблицами.

Excel широко используется для подготовки прекрасно иллюстрированных финансово-экономических и иных документов. Она содержит сотни математических и экономических функций. Применение системы для математических расчетов всегда вызывало определенные сомнения (хотя бы в силу весьма специфических названий функций), но будучи интегрированной с системой MathCAD, табличная система Excel открывает колоссальные возможности по обработке объемных и сложных данных.

Матричная математическая система MatLAB

MatLAB одна из самых древних и глубоко почитаемых специалистами математических систем, ориентированных на численные расчеты. MathConnex обеспечивает объединение MathCAD 7. 0 PRO с одной из последних версий этой матричной системы — MatLAB 4. 2 (последней является версия 5. 0, но возможности ее работы под управлением MathConnex пока не вполне понятны).

MatLAB, будучи изначально матричной системой, позволяет быстро и эффективно решать сложные задачи, базирующиеся на матричных методах.

Профессионалы особенно почитают MatLAB (несмотря на некоторую архаичность пользовательского интерфейса) за огромный набор ее подчас уникальных функций и возможность поистине неограниченного и весьма простого расширения. Вам достаточно в редакторе системы задать свою новую функцию, и она становится столь же доступной, как любая элементарная функция. Благодаря этому свойству на основе системы MatLAB были созданы десятки новых математических систем.

Специалистов привлекает также высокая скорость выполнения вычислений, она намного выше, чем при решении подобных задач только средствами MathCAD. Поэтому объединение функций систем MathCAD и MatLAB открывает перед серьезными пользователями систем компьютерной математики новые и почти неограниченные возможности эффективного решения сложных математических задач.

Система символьной математики Maple V

Как ни странно, но установка связей с маститым патриархом символьной математики — системой Maple V — с помощью MathConnex не предусмотрена. Возможно, фирма MathSoft посчитала для себя вполне достаточным альянс с фирмой Maple Software, который привел к включению в MathCAD несколько сокращенного ядра символьной математики системы Maple V.

По видимому, это самый серьезный недостаток MathCAD 7. 0 PRO. Однако скорее всего разработчики системы пошли на это сознательно: полное объединение MathCAD с Maple V превратило бы новую систему в необычайно мощный инструмент, владеть которым должны суперпрофессионалы, а не рядовые пользователи. Но тогда имидж MathCAD как системы для всех был бы сильно подорван, несмотря на большие перспективы роста возможностей в области компьютерной алгебры.

Тем не менее нельзя не считаться с тем, что символьные вычисления MathCAD выполняет с помощью ядра Maple V: таким образом, интеграция с этой системой налицо, хотя лишь частичная — ведь новая реализация Maple V R4 содержит около 2800 (!) доступных функций, тогда как в MathCAD 7. 0 PRO их порядка трех сотен. Это сравнение будет выглядеть еще более впечатляюще если учесть, что функций символьной математики в MathCAD гораздо меньше — всего-то около двух десятков.

Пример объединения MathCAD с MatLAB

Но рассмотрим конкретный пример объединения MathCAD с другой математической системой. Все, что надо сделать для использования специфических возможностей MatLAB, — это включить в состав документа блоки этой системы. При первом запуске такого документа из среды MathConnex можно

Рис. 13. 7 Загрузка системы MatLAB из MathConnex

наблюдать появление характерной заставки пакета MatLAB 4. 2, что показано на рис. 13. 7.

На рис. 13. 8 показано решение задачи на построение сферы, состоящей из шести- и пятиугольников. При этом используются матричные функции и графика системы MatLAB. На рисунке хорошо видны блоки системы MatLAB — матрицы вращения фигуры и построения ее графика. По перемещению выделяющих рамок можно судить об этапах имитации документа. В частности, будет видно, что быстрее всего исполняется блок вычислений с матрицей вращения системы MatLAB.

Рис. 13. 8 Пример работы с документом, использующим функции матричной системы MatLAB 4. 2

Рис. 13. 9 Окно редактора MatLAB, вызванное из документа MathConnex

Данный документ иллюстрирует технику простейшей анимации. Показанная на рис. 13. 8 фигура вращается, правда, с черепашьей скоростью (несмотря на просмотр на ПК Pentium 166 ММХ). Это лишний раз свидетельствует о некоторой медлительности имитации сложных процессов с помощью системы MathConnex. Но тут ничего не поделаешь: чем сложнее система имитации, тем медленнее она в работе!

Если (после остановки вычислений) выделить блок с матрицей вращения системы MatLAB и дважды щелкнуть левой клавишей мыши, то можно вызвать окно редактора MatLAB с записанной в нем функцией. Это иллюстрирует рис. 13. 9. Теперь в этом окне можно редактировать документы MatLAB и входящие в них функции и математические выражения.

Этот пример наглядно показывает полный доступ к ресурсам системы MatLAB, который обеспечивается интегратором приложений MathConnex.

13. 6. Примеры применения системы MathConnex

Система MathConnex поставляется с рядом примеров ее применения, соответствующие файлы которых расположены в папке Sample. Рассмотрим некоторые из этих примеров, дающие хорошее представление о возможностях системы MathConnex и технике ее применения.

На рис. 13. 10 дан один из самых простых примеров: беря данные из таблицы (координаты х и у точек), документ выполняет полиномиальную регрессию, вычисляет коэффициент полинома и коэффициент корреляции.

Рис. 13. 10 Пример проведения полиномиальной регрессии

Активизировав блок системы MathCAD, можно просмотреть документ, выполняющий регрессию, и входящий в него график функции регрессии и узловых точек (см. рис. 13. 11).

На рис. 13. 12 показан пример построения в параметрической форме объемной спирали. Матричные преобразования и построение графика здесь обеспечиваются с помощью блоков системы MathCAD. Построение кривой (довольно медленное) можно видеть в развитии.

Рис. 13. 11 Часть документа системы MathCAD, вызванная из документа MathConnex

Рис. 13. 12 Пример построения пространственной кривой

На рис. 13. 13 приведен пример синтеза сложных колебаний и их спектрального анализа с применением метода быстрого преобразования Фурье. И хотя детали документа здесь разглядеть трудно, но, запустив его на своем ПК, вполне можно будет разобраться с этим достаточно сложным примером

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

Рис. 13. 13 Синтез сложных колебаний и их спектральный анализ

Наконец, на рис. 13. 14 дан хотя и простой пример, но с применением программной системы Visio, предназначенной для технических графических построений. С ее помощью выполнен показанный в документе рисунок RC-цепи, переходной процесс в которой имитируется.

Рис. 13. 14 Пример имитации документа, созданного с применением системы Visio

Ознакомившись с другими примерами применения MathConnex, пользователь наверняка сумеет не только оценить ее интересные возможности, но и плодотворно применить на практике для решения своих задач.

13. 7. Интеграция MathCAD с текстовым процессором Word 95

Когда пользователь работает над курсовой работой, дипломным проектом, диссертацией или даже книгой, то наверняка большую часть времени он тратит все же на подготовку текста, а не на математическое решение задач. Такой пользователь, возможно, еще не владеет математической системой, но, несомненно, пользуется текстовым процессором Word (например, Word 95 из известного пакета Microsoft Office 95/97).

MathConnex напрямую позволяет вставлять документы Word в свои документы. Кроме того, существует ряд ограничений на подготовку русскоязычных текстов в системах MathCAD и MathConnex. К примеру, проверку орфографии в среде MathCAD можно использовать только для англоязычных текстов, поскольку русскоязычный словарь в эту систему на входит. Есть проблемы и с подготовкой русскоязычных комментариев в документах MathConnex.

В принципе в этих системах можно установить объектную связь с текстовым процессором Word через операцию Object в подменю позиции Insert главного меню. Однако мы поступим, как говорится, с точностью до наоборот учитывая более важную и первичную роль текстового процессора Word для большинства пользователей, рассмотрим его интеграцию с системой MathCAD через объектную связь.

На рис. 13. 15 показан начальный этап объектной связи Word 95 с системой MathCAD. Перед вами окно объектной связи процессора Word с другими приложениями. В нем в списке объектов необходимо найти объект MathCAD Document, установить связь в виде значка и нажать кнопку ОК.

Рис. 13. 15 Установка связи текстового процессора Word 95 с системой MathCAD 7. 0

После этих операций в текст документа редактора Word будет включен значок математической системы MathCAD. Это показано на рис. 13. 16.

Указав на этот значок курсором мыши и дважды щелкнув ее левой клавишей, можно вызвать систему MathCAD и воспользоваться ее возможностями

Рис. 13. 16 Экран редактора Word со значком MathCAD Document в документе

для подготовки нужного математического выражения или графика Это иллюстрирует рис 13 17 на примере задания интеграла.

Рис. 13. 17 Пример входа в окно MathCAD и начало задания интеграла

Завершив ввод интеграла и вычисление его символьного значения, можно вернуться в среду Word закрыв окно MathCAD (см рис 13 18) Все это вы можете сделать, не покидая документа редактора Word

Указав курсором мыши на формулу и щелкнув левой ее клавишей, можно выделить формулу характерной рамкой с шаблонами. С их помощью мышью можно растягивать формулу и менять ее размеры, что показано на рис 13 19

Удобным средством для подготовки сложных документов является вставка объекта в кадр. Рис. 13. 20 поясняет вставку в кадр введенной формулы.

Рис. 13. 18 Завершение вставки формулы в документ редактора Word

В отличие от простой вставки вставка в кадр обеспечивает обтекание текстом введенной формулы.

Рис. 13. 19 Выделенная формула, которую можно перемещать и растягивать

Рис. 13. 20 Пример вставки формулы в кадр и обтекания кадра текстом

Рис. 13. 21 Вызов окна MathCAD для редактирования формулы

Таким образом, вставка в текстовый процессор объектов из математической системы MathCAD дает полноценный доступ ко всем возможностям и средствам последней. Как лучше поступать: работать в Word, вставляя объекты из MathCAD, или, работая в системе MathCAD, вставлять в нее объекты из Word, — каждый пользователь должен решать самостоятельно.

Разумеется, таким же образом можно связать друг с другом MathCAD и другие, не упоминавшиеся выше системы. Необходимо лишь одно — возможность установления объектной связи. Большинство приложений, разработанных для работы в среде операционной системы Windows 95/97, такой особенностью обладают. Это открывает (даже для рядового пользователя)

Рис. 13. 22 Пример вставки в документ рисунка из системы MathCAD

возможности создания сложных программных систем, решающих самые разнообразные и сложные математические задачи.

13. 8. Язык программирования системы MathConnex

Назначение языка программирования Connex Script

Как было показано выше, система MathConnex может использовать свои собственные блоки с вычислительными операциями. В этих блоках могут использоваться и программные конструкции, составленные на основе специального языка программирования — Connex Script. Применение таких блоков заметно расширяет возможности подготовки сложных документов. Ниже дано достаточно полное описание этого языка.

Типы данных

Connex Script имеет данные вещественного и комплексного типа. Вещественные числа задаются с двойной точностью в IEEE-формате. Числа задаются в виде:

314 3. 14 5. 78е14

и т. д. Для задания комплексных чисел используется знак мнимой единицы i или J, например:

5. 78i 0. 5e10i 4. 0+ 8. 7j

Бесконечность задается словом "Inf". Слово "NaN" (Not-a-Number) означает нечисловое значение, например:

х = Inf у = NaN

Операторы и функции

Операторы Connex Script имеют хорошо известный вид и назначение:

=+ -* / А — арифметические операторы;

.*./.л — матричное умножение, деление и возведение в степень;

- (NOT) xor & (AND) ¦ (OR) — логические операторы;

\= >= <= > < — операторы сравнения.

Операнды логических операторов располагаются по обе стороны от них (кроме операнда - для NOT, например А&В&С или 2! =3). Такие выражения возвращают логические значения.

Connex Script содержит следующие встроенные функции:

abs — абсолютное значение;

ceil — ближайшее очередное целое;

ехр — экспонента;

floor — ближайшее предшествующее целое;

log10 — логарифм по основанию 10;

log2 — логарифм по основанию 2;

In — натуральный логарифм;

max — максимальное значение;

min — минимальное значение;

mod — остаток от деления;

nelem — число элементов в переменной;

round — округленное до ближайшего целого значение;

sign — функция знака;

sqrt — квадратный корень;

time — время в секундах с начала 1980 г.;

trunc — число десятичных позиций;

gamma — гамма-функция.

Имеются встроенные функции комплексного переменного:

conj — комплексно-сопряженное число;

im — мнимая часть аргумента;

re — действительная часть аргумента.

Тригонометрические функции представлены следующим набором: cos, sin, tan, sec, csc, cot, pi, acsc, acos, acot, asec, asin, atan.

Гиперболические функции представлены набором: cosh, coth, csch, sech, sinh, tanh, acsch, acosh, acoth, asech, asinh, atanh.

Матричные функции: cols — число столбцов матрицы, rows — число строк матрицы и det — детерминант матрицы.

Зарезервированные слова и идентификаторы

Зарезервированные слова, которые нельзя использовать в качестве идентификаторов для задаваемых пользователем объектов:

break cols complex delete else elseif end error for function if in list load nelem new real repeat return rows static until while xor

Примеры задания имен (идентификаторов) переменных:

this_is_my_variable tl х_5 R2D2

Имена должны быть заданы одним словом (допускается соединение нескольких слов символов объединения — горизонтальная черта снизу) и начинаться с буквы. Имена переменных допускается задавать только латинскими буквами.

Интерфейсные переменные

Интерфейсные переменные служат для организации обмена данными между блоками в документах MathConnex:

in0, inl,... — организуют ввод данных в блок с выходов других блоков;

out0, out1,... — организуют вывод данных из блока.

Интерфейсные переменные могут использоваться и в блоках системы MathCAD.

Создание списков, векторов и матриц

MathConnex может оперировать списками следующего вида:

{ ехрг, ехрг; ехрг, ехрг}

Списки создаются в фигурных скобках. Для разделения данных одного порядка используется запятая, а для данных разного порядка — точка с запятой.

Примеры задания списков:

Х = { 1, 2, 3} — задан вектор Х из трех элементов;

М= { 1, 2, 3; 4, 5, 6} — задана матрица М с размером 2х3.

Для задания векторов с элементами-числами можно использовать выражения вида:

start_expr: step_expr: end_expr

где start_expr — условие, задающее начальное значение списка чисел; step_ ехрг — шаг изменения ряда чисел; end_expr — условие, задающее конечное значение чисел в списке.

Например, выражение

Х-1: 2: 100

создает вектор чисел с именем X, у которого первое число равно 1, а последующие (до значения 100) идут с шагом нарастания 2. Другие примеры:

Y = 1: 5 — вектор чисел Х от 1 до 5 с шагом по умолчанию 1;

Z = 10: 1 — вектор чисел Z от 10 до 1 с шагом по умолчанию -1;

Запись выражений

Запись выражений выполняется в обычной алгебраической форме, например:

7 7+ 8* 19 / 3. 3 х х+ 8х/у* 8 х = у [5] А [3] = В [5, 3]* х

Вычисление функций также задается, как обычно, например:

у = sin (x)

При этом функция возвращает значение в ответ на обращение к ней с указанием параметра функции — переменной или выражения.

Неисполняемый однострочный комментарий задается после символа двойного слэша (//), например:

х = А [ 1, 2; 0] // take first element from 2nd and 3rd row

Многострочный комментарий помещается между символами (/*) и (*/).

Выражения размещаются в строках. Для их разделения можно использовать символ (;), например:

х = у+ 5; z = х^

х = 0; for i in 0: 5; x = x+ i; end

Для переноса длинных выражений с одной строки на другую используется символ подчеркивания ( _) в конце переносимой строки, например:

^-{i, 2, 3; _ 4, 5, 6;

7, S, 9}//3-by-3matrix

Условный оператор if

Условный оператор if используется для создания типовой конструкции:

if boolean_expr statement 1 statement2

elseif boolean_expr statements

else statement4

end Пример применения оператора if:

if ( x > у & x! - 0)

z=y/x

q = log (2-z)

elseif ( у >= x & у! = 0)

z-x/y

q=2'\z

else

z-0

q=l

end

Поскольку действие таких конструкций хорошо известно, воздержимся от их подробного описания.

Конструкция цикла типа for

Для определения цикла с заданным числом повторений используется конструкция с оператором for:

for identifier in expr

statement 1

statement2

end

Например, оператор с заголовком for i in 1: 10 выполняет 10 циклов, поскольку переменная цикла меняется от 1 до 10 с шагом+ 1. Оператор break, встречаясь в цикле, ведет к немедленному его прерыванию. Обычно этот оператор вводят в составе условного выражения с оператором if.


Глава 14 Примеры применения системы

MathCAD 7. 0 PRO

14. 1. Общие замечания

В этой главе описаны наиболее интересные примеры из десяти пакетов при менений систем MathCAD, размещенных на дискете, прилагаемой к книге [б]. Примеры охватывают решения широкого круга практических задач в об ласти математики, физики, электро- и радиотехники, электроники [20-39].

В педагогической среде нередко звучат нарекания, что в системах Math CAD скрыты методы реализации численных расчетов и потому последние не наглядны. Такие нарекания абсурдны, поскольку именно MathCAD позволя ет описать алгоритм любого численного метода на естественном математичес ком языке, не прибегая к таким (скорее программистским, чем математичес ким) понятиям, как условные переходы, циклы и т. д. (хотя реализация алгоритмов с ними также возможна с помощью аппарата ранжированных пе ременных, не говоря уже о применении программных блоков).

При подготовке описанных здесь примеров определенное внимание уде лялось реализации численных методов типовыми возможностями системы MathCAD, причем даже тех методов, которые реализованы встроенными функциями систем. Это, во-первых, демонстрирует возможности системы MathCAD в наглядной реализации таких методов, во-вторых, позволяет ре шать относящиеся к ним задачи с использованием тех версий системы, у ко торых соответствующих функций нет, а в-третьих, дает заметное ускорение вычислении.

Разбор описанных примеров позволит читателю существенно углубить свои знания о возможностях систем класса MathCAD и полнее использовать их в своей учебе, на практике и в научном творчестве, а также заметно умень шить затраты времени на освоение системы, поскольку избавит вас от необхо димости самостоятельно придумывать учебные примеры.

14. 2. Параметрическая трехмерная графика

При построении трехмерных поверхностей и объемных фигур можно использовать параметрическое задание описывающих их функций. Фигуры задаются значениями координат х, у и z всех точек фигуры. При этом в шаблоне 3D-графики указываются три матрицы, хранящие массивы этих координат, — X, Y и Z. Ниже представлены интересные примеры применения такой графики.

Построение сферы

На рис. 14. 1 показано построение в трехмерном пространстве сферы. Сфера строится из каркаса, причем число деления ее по вертикали N задается в начале построения. Затем вычисляются массивы опорных точек каркаса, которые представлены матрицами X, Y и Z.

Рис. 14. 1 Построение сферы

Используя различные форматы 3D-графиков, можно выполнить рисунок сферы в различных стилях, в том числе с цветной или черно-белой окраской. Однако в таком случае каркасное построение с применением алгоритма удаления невидимых линий дает, пожалуй, наиболее наглядное представление о характере этой простой объемной фигуры. На рис. 14. 1 представлено два варианта построения сферы с применением различной функциональной окраски.

Параметрическое задание трехмерной поверхности позволяет эффективно применять форматирование их графиков, в частности задавая углы обзора 3D-фигур и меняя их функциональную окраску. К тому же визуализацию таких фигур можно существенно улучшить.

Построение фигуры вращением линии вокруг оси Х

Интересные объемные фигуры можно получить, вращая некоторую кривую вокруг той или иной оси. При этом необходимо обеспечить пересчет координат всех узловых точек фигуры по известным из геометрии формулам. На рис. 14. 2 показано построение такой фигуры вращением линии, заданной функцией f (x), вокруг оси X.

В документе на рис. 14. 2 приведены все необходимые формулы для пересчета координат узловых точек фигуры при ее вращении. Даны также графики исходной кривой (слева внизу) и фигуры, полученной ее вращением (справа внизу). Фигура напоминает опрокинутую рюмку, лежащую на плоскости. Она построена без применения функциональной окраски, но с использованием алгоритма удаления невидимых линий.

Построение фигуры вращением линии вокруг оси Y

Таким же способом можно построить фигуру, полученную вращением исходной кривой вокруг оси Y. Это демонстрирует документ, показанный на рис. 14. 3.

Чтобы показать возможности задания различного стиля рисунков, в нашем случае фигура построена с удалением невидимых линий каркаса и с при-

Рис. 14. 2 Построение фигуры вращением линии вокруг осиХ

Рис. 14. 3 Построение фигуры вращением линии вокруг оси Y

менением функциональной окраски. Нетрудно заметить, что это делает фигуру очень наглядной.

Построение графика объемной спирали

3D Scatter Plot — вид трехмерных графиков, особенно удобный для представления пространственного расположения множества мелких объектов, условно называемых точками. На рис. 14. 4 показано применение этого графика для построения 100 точек, лежащих на пространственной спирали, напоминающей растянутую пружину.

Для каждой точки в этом случае необходимо располагать тремя координатами — X, Y и Z. Их совокупность образует три одноименных вектора. Вви-

Рис. 14. 4 Построение графика вида 3D Scatter Plot для точек пространственной спирали

ду простоты алгоритма построения необходимости в более подробном его описании нет. Заметим лишь, что число точек N можно менять.

Построение пространственной фигуры — узлов, образованных толстыми "канатами"

О больших возможностях графики MathCAD PLUS 7. 0 PRO свидетельствует пример, приведенный на рис. 14. 5. Он же иллюстрирует применение типовых матричных функций для описания и пространственного преобразования сложной трехмерной фигуры — узлов, образованных толстыми "канатами".

Рис. 14. 5 Построение фигуры — узлов, образованных толстыми "канатами" (начало документа)

Сама фигура, построенная по алгоритму, представленному на рис 145, изображена на рис 146

Рис. 14. 6 Вид фигуры (конец документа)

Изменяя параметр К, можно получить множество других объемных фигур Функциональная окраска придает фигуре весьма реалистичный вид Этот пример наглядно показывает, что по возможностям графики система MathCAD 7 О PRO уже приближается к системе Mathematica 222, лидеру среди систем символьной математики для персональных компьютеров

14. 3. Финансово-экономические расчеты

Финансово-экономические расчеты со сложными процентами

В наше время перехода к рыночным отношениям финансово-экономические расчеты могут интересовать многих читателей настоящей книги MathCAD не содержит специальных функций для проведения таких расчетов Однако все они легко выполняются встроенными в систему средствами

Документ на рис 147 иллюстрирует наиболее распространенные расчеты с единичным вкладом Все они основаны на применении сложных процентов, и их не так давно (в период государственной монополии на банковские расче ты и стабильных процентов годовых) можно было использовать для оценки финансовой ситуации с нашими вкладами на сберкнижках

Разумеется, вы можете подставить в них те параметры, которые соответствуют текущему положению дел в нашей рыночной экономике

Финансовые операции с регулярными вкладами

Если ваша заработная плата превышает прожиточный минимум, простой жи тейский опыт подсказывает, что лучше не копить деньги "в чулке", а периоди чески (N раз в год) относить их в Сбербанк Документ на рис 148 показывает возможные ситуации при операциях с ежегодными регулярными вкладами

Рис. 14. 7 Примеры расчетов с единичными вкладами и сложными процентами

Рис. 14. 8 Примеры расчетов с регулярными вкладами

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

Финансовые операции с начальным и регулярными вкладами

Если вы имели возможность внести некоторый начальный вклад и затем намерены регулярно пополнять его ежегодно N раз, расчеты придется вести по несколько иным формулам. Они приведены в документе на рис. 14. 9.

Здесь особый интерес вызывает последний пример — вычисление процента годовых.

Рис. 14. 9 Операции с начальным и регулярными ежегодными вкладами

14. 4. Реализация численных методов

Быстрые операции с полиномами-векторами

В математических расчетах широко применяются степенные многочлены — полиномы вида

Р (х) = аn xn+ an 1 хn 1+ + а1 х1 + а0

Ценность полиномов заключается в том, что они могут достаточно точно аппроксимировать многие функции (особенно непрерывные) единообразным способом При этом, поскольку полиномы содержат суммы простых членов

Рис. 14. 10 Быстрые операции с полиномами

вида an 1 xn 1, легко аналитически вычислять производные полиномов и интегралы с подынтегральной функцией в виде многочленов.

Коэффициенты полинома удобно задать как элементы вектора а. Тогда их запись (как элементов вектора) совпадает с общепринятой. При этом помимо своих коэффициентов полином характеризуется порядком п. В документе на рис. 14. 10 представлены задание полинома Р (х) и примеры выполнения ряда операций с полиномом: вычисление значений полинома по заданному аргументу x, вычисление производной полинома Р'(х) и определенного интеграла с полиномом Р (х) в виде подынтегральной функции.

Для вычисления производной и интеграла используются аналитические выражения, что заметно уменьшает время вычислений и позволяет проводить их с предельно малой погрешностью. Все отмеченные вычисления оформлены в виде функций пользователя, что позволяет использовать эти функции в приложениях, связанных с применением полиномов.

Интегрирование таблично заданных функций

Часто возникает необходимость в вычислении определенного интеграла для таблично заданной функции. Тогда прямое применение встроенного в систему оператора вычисления интеграла оказывается невозможным, так как он предполагает задание подынтегральной функции в аналитическом виде.

Документ на рис. 14. 11 иллюстрирует три способа вычисления определенного интеграла при табличном задании подынтегральной функции. Первые два способа (методом трапеций и Симпсона) используют довольно хорошо известные формулы интегрирования табличных данных. Третий способ использует встроенный оператор вычисления интеграла. При этом таблично заданная функция интерполируется линейной зависимостью или набором сплайновых функций (полиномов третьей степени).

Рис. 14. 11 Интегрирование табличных данных

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

Поиск минимума функции Розенброка

С помощью функции minerr возможен поиск экстремума и функций ряда переменных. Типичной тестовой функцией двух переменных является функция Розенброка, обычно применяемая для тестирования программ минимизации функций ряда переменных. На рис. 14. 12 показан поиск минимума функции Розенброка с применением функции minerr.

Рис. 14. 12 Поиск минимума тестовой функции Розенброка

Рис. 14. 13 График функции Розенброка (окончание документа, представленного на рис. 14. 12)

Поиск задается вычислительным блоком, открываемым словом Given. Фактически решается система уравнений. Два уравнения после слова Given приближенно задают условия минимума, третье уравнение (с функцией minегг) отыскивает решение, в максимальной степени удовлетворяющее заданным условиям минимума.

Функция Розенброка имеет очевидные значения х=у=\ в точке минимума. Графическое представление функции напоминает овраг (см. рис. 14. 13), что затрудняет поиск минимума рядом простых методов.

Следует отметить, что тут заведомо известно, что функция имеет минимум. Если бы этого не было, пришлось бы ввести условия на значения вторых производных функции по каждой переменной.

Интерполяция по общей формуле Лагранжа

В этом пакете рассматриваются функции одной переменной вида у (х), как правило, заданные в табличном виде, т. е. рядом значений х и соответствующих им значений у. Именно так обычно задаются данные эксперимента, получаемые на различных физических или электронных измерительных установках.

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

Одной из самых распространенных задач такого рода является ингерпо-ляция таблично заданных функций, т. е. вычисление их значений в промежутках между узловыми точками. В математической литературе общепринято представление многих специальных функций в виде математических таблиц [14], ориентированных на интерполяцию по заданному числу узловых точек (обычно от 2 до 6).

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

Эти мощные средства интерполяции имеют, однако, существенный недостаток: параметры интерполирующей функции различны на различных участках интерполяции. Другими словами, такая интерполяция не может быть сведена к одной интерполирующей формуле, что затрудняет интерполяцию математических таблиц, за исключением линейной интерполяции, дающей довольно низкую точность.

На рис. 14. 14 представлен документ, задающий обобщенную формулу интерполяции методом Лагранжа. Эта формула синтезирует полином Лагранжа, используя два вектора: с координатами xi и yi узловых точек. Преимущества такого подхода в том, что число узловых точек и их расположение может быть любым (в том числе неравномерным), а для интерполяции используется единая интерполирующая формула f (x), к сожалению, довольно сложная.

При интерполяции полиномом Лагранжа степень полинома п однозначно связана с числом узловых точек. Она на единицу меньше этого числа Значения ординат интерполирующей функции в узловых точках совпадают со зна-

Рис. 14. 14 Интерполяция табличных данных по формуле Лагранжа

чениями ординат узловых точек, поэтому график интерполирующей функции f (x) точно проходит через эти точки. К сожалению, при высокой степени полинома (более 5—6) погрешность вычислений его значений заметно возрастает, поэтому выбор п выше 6 на практике нецелесообразен. А это означает, что функция у (х) должна быть представлена небольшим числом достаточно точных значений.

К недостаткам интерполяции по обобщенной формуле Лагранжа относится и довольно большое время вычислений, поскольку формула интерполяции далеко не проста.

Линейное сглаживание по пяти точкам

Один из полезных видов статистической обработки функции у (х), заданной п точками, заключается в статистической обработке каждой точки с учетом положения нескольких ближайших точек. Например, простейший способ такой обработки усредняет значения этой точки и нескольких других, окружающих ее слева и справа. В результате будет получен вектор ys сглаженных значений у (х). Некоторую проблему представляет вычисление сглаженных значений точек, примыкающих к концевым, но можно вывести формулы сглаживания и для этих точек.

MathCAD 7 О PRO имеет встроенную функцию сглаживания Однако полезно проверить работу известных алгоритмов сглаживания по ряду точек. Так, линейное сглаживание по пяти точкам демонстрируег документ, показанный на рис. 14. 15. На нем вначале задан вектор параболической зависимости, на которую наложены сильные случайные компоненты, создаваемые генератором случайных чисел. Далее заданы пять формул сглаживания: по две для крайних двух точек слева и справа и одна для других (эта формула просто находит среднее значение для центральной точки и окружающих ее четырех ближайших точек). Фактически кривая сглаживания состоит из ряда отрезков прямых линий, откуда и название — линейное сглаживание.

На приведенном рисунке видно, что сглаженная кривая проходит внутри облака точек и неплохо вписывается в него. При этом число сглаженных точек равно числу исходных точек (в нашем случае их 50) Разумеется, при таком большом числе сглаженных точек эффективность сглаживания оказывается заметно ниже, чем, например, при проведении регрессии с большим числом исходных точек

Рис. 14. 15 Линейное сглаживание по пяти точкам

Можно повысить эффективность сглаживания, увеличивая число точек, используемых для статистической обработки заданной точки, и перейдя к кривой сглаживания в виде отрезка полинома более высокой степени, чем 1 Так, известны формулы нелинейного сглаживания по семи точкам [1, 2, 28] Этих формул семь по три для крайних точек и одна для остальных Для нели нейных зависимостей, близких к параболическим или содержащих отрезки парабол, нелинейное сглаживание гораздо более эффективно, чем линейное Тем не менее и здесь гладкость кривой сглаживания невелика

Единого мнения о целесообразности повторения процедуры сглаживания у математиков нет Одни считают, что повторное сглаживание делает кривую сглаживания более плавной Другие не рекомендуют применение повторного сглаживания В целом сглаживание — эффективный инструмент предварительной обработки исходных данных Затем можно использовать более тонкие методы их обработки, например фильтрацию на основе спектрального анализа и синтеза, полиномиальную регрессию с применением полинома определенного порядка и т д

Решение дифференциального уравнения первого порядка методом Рунге — Кутта

Решение дифференциальных уравнений широко применяется в практике научно-технических расчетов Это связано с тем, что дифференциальные уравнения (и системы из них) описывают поведение различных объектов в динамике, например переходные процессы в электронных схемах или работу часового маятника Линейные дифференциальные уравнения имеют решения в виде специальных функций (скажем, функций Бесселя) Однако многие физические системы нелинейны и описываются нелинейными дифференциальными уравнениями, не имеющими аналитического решения. В этом случае приходится использовать численные методы решения дифференциальных уравнений.

Версия MathCAD 7. 0 PRO содержит мощные средства для реализации численных методов решения дифференциальных уравнений. Поэтому может возникнуть вопрос: а нужно ли создавать свои документы для реализации таких методов? Ответ на него не однозначен. Если ваша цель — решение конкретной задачи, то проще воспользоваться готовыми функциями MathCAD. Они были описаны выше. Однако нередко педагоги и специалисты без должных оснований говорят о трудности реализации в системе MathCAD обычных численных методов. Это неверно! Реализация таких методов в системе MathCAD легка и наглядна. Более того, она позволяет вмешиваться в алгоритмическую реализацию методов решения, что способствует созданию новых или улучшенных методов решения дифференциальных уравнений, ориентированных на решение интересующих пользователя задач.

Здесь мы остановимся на реализации решения дифференциального уравнения i/=f (x, y) хорошо известным методом Рунге — Кутта. Пусть h — шаг приращения переменной х, i — индекс, имеющий значения от 1 до N (N — число интервалов решения с шагом h). Метод Рунге — Кутта четвертого порядка дает погрешность решения порядка h (4, что удовлетворяет самым при-щрчивым требованиям к точности численных методов. Он неоднократно подробно описывался в [6, 8, 14]. Его реализация показана на рис. 14. 16.

Рис. 14. 16 Начало документа, иллюстрирующего решение дифференциального уравнения методом Рунге — Кутта

Документ на рис. 14. 16 состоит из двух частей. Первая часть (она и показана на рисунке) содержит ввод исходных данных и вывод графика решения. Для решения надо задать функцию f (x, y), начальное (startx) и конечное (endx) значения х, число точек решения п и начальное значение (inity) переменной у. При построении графика функции указываются нижний (L) и верхний (U) пределы изменения искомой зависимости у (х).

Вторая часть документа (см. рис. 14. 17) в действительности располагается справа от первой части и размещается в обычно невидимой части документа Поэтому пользователь избавлен от созерцания тривиальных или просто не интересующих его математических формул и может сосредоточить внимание лишь на вводе исходных данных и функции f (x, y) и выводе результатов

Рис. 14. 17 Конец документа, иллюстрирующего решение дифференциального уравнения методом Рунге Кутта

Рассматривая рис 14 17, нетрудно сделать вывод о наглядности реализа ции метода Рунге — Кутта По существу приведенные уравнения повторяют известные формулы этого метода часто встречающиеся в учебной литературе по численным методам решения дифференциальных уравнений

14. 5. Спектральный синтез и анализ

Гармонический синтез меандра

Одним из фундаментальных положений математики, ранее казавшимся абст рактным а затем нашедшим широчайшее практическое применение, является возможность описания любой периодической функции, имеющей конечное число разрывов и непрерывность производных между ними, с помощью три гонометрического ряда Фурье [29, 30]

где k — порядковый номер гармоники, f1 — частота колебания Этот ряд со держит бесконечное число косинусных и синусных составляющих — гармо ник, причем амплитуды этих составляющих а^ и Ь^ являются коэффициента ми Фурье, определяемыми приводимыми несколько позднее интегральными выражениями

Приведенный ряд содержит бесконечное число членов и при таком пред ставлении оказывается бесполезным, поскольку время вычисления в этом случае также равно бесконечности К счастью, амплитуды гармоник для ре альных зависимостей y (t) довольно быстро уменьшаются по мере роста номеpa гармоники k. Поэтому на практике обычно приходится иметь дело с ограниченными по числу гармоник рядами Фурье.

Помимо упомянутой формы ряд Фурье можно представить в виде:

где амплитуда гармоник М^ и их фаза (р^ определяются выражениями:

Преимущество ряда в этой форме в том, что для вычисления каждого члена ряда нужно лишь один раз обращаться к довольно медленному вычислению тригонометрической функции. В дальнейшем будут приведены формулы, позволяющие вычислять коэффициенты Фурье (либо амплитуды и фазы гармоник) для любой функции y (t). Это является задачей спектрального анализа. Здесь же мы рассмотрим обратную задачу — синтеза зависимости y (t) путем вычисления ряда Фурье с ограниченным числом членов.

Теория спектрального анализа и синтеза хорошо развита, и для многих зависимостей y (t) заведомо известны значения коэффициентов Фурье или законы изменения (с частотой или номером гармоники) амплитуд и фаз гармоник. Это позволяет синтезировать наиболее распространенные зависимости y (t).

Рис. 14. 18 Гармонический синтез меандра

Документ, представленный на рис. 14. 18, реализует синтез периодических прямоугольных импульсов со скважностью, равной 2 (меандра). Ряд Фурье для таких импульсов содержит только синусные члены, причем лишь с нечетными k. Это упрощает синтез, который в документе реализован для 3, 7 и 15 гармоник.

Меандр — не самая удачная для синтеза зависимость, поскольку он содержит резкие скачки. Для не очень сведущего в математике пользователя

удивительно, что такого рода зависимость вообще синтезируется из синусоид, которые представляют собою гладкие функции без всяких скачков Естественно, что для получения скачков нужно брать очень большое число гармоник Тем не менее уже при 15 гармониках синтезированный сигнал напоминает меандр и отличается от него конечным временем перепада и характерной волнистостью Она усиливается после быстрых перепадов и является проявлением так называемого эффекта Гиббса [30].

Эффект Гиббса, к сожалению, невозможно устранить (и даже ослабить) лишь увеличением числа гармоник при синтезе В этом случае просто возрастает частота волнообразных колебаний, но их относительная амплитуда меняется незначительно — она доходит до 18% от амплитуды синтезируемых колебаний.

Эффект Гиббса — явление крайне нежелательное Он фактически вводит в синтезируемые колебания новые компоненты, на деле отсутствующие Это может замаскировать или сильно исказить компоненты колебания, которые интересуют исследователя. Поэтому обычно стремятся ослабить эффект Гиббса, даже за счет уменьшения точности синтеза В дальнейшем будут обстоятельно рассмотрены приемы ослабления этого эффекта

Гармонический синтез пилообразных колебаний

В литературе можно найти множество примеров разложения в ряд Фурье самых разнообразных зависимостей y (t) Используя приведенные для них значения коэффициентов Фурье, можно синтезировать самые разнообразные за висимости (сигналы) Еще одним примером может служить показанный на рис. 14 19 гармонический синтез треугольных колебаний

Рис. 14. 19 Гармонический синтез треугольных колебаний

Может возникнуть вполне закономерный вопрос зачем столь сложным способом синтезировать такие простые зависимости, если они легко описываются целиком или по частям с помощью простых аналитических выражений? Действительно, если нужно просто смоделировать сигнал как временную функцию, нет необходимости синтезировать его по множеству гармоник

Однако существует большое количество теоретических методов анализа сигналов и практических устройств, основанных именно на спектральном подходе. Примером могут служить частотные фильтры и даже целые радиотехнические системы. При их анализе сигнал y (t) часто приходится разлагать в ряд Фурье для проведения в дальнейшем операций с гармониками. Имея сигнал y (t) уже в виде гармоник, можно заметно сократить время обработки сигнала и вообще убрать этап задания функции в виде временной зависимости. Во многих странах до сих пор выпускаются синтезаторы сложных колебаний, основанные на суммировании их гармонических составляющих с разными амплитудой и фазой.

Спектральный анализ методом Берга

Для некоторых простых зависимостей y (t) амплитуды гармоник могут выражаться аналитически. Примером служат отрезки синусоиды, получаемые выделением только верхней ее части. На практике такие колебания широко используются в радиотехнике, где обрезание нижней части синусоиды обусловлено работой электронных приборов (например, ламп или транзисторов) в нелинейном режиме.

Доля периода синусоиды, используемой для анализа гармоник, оценивается углом отсечки 9 (далее он измеряется в радианах). Он, к примеру, равен к, если обрезается нижняя половина синусоиды. Удобно вычислять относительную амплитуду k-тл гармоники (по отношению к усеченной амплитуде синусоидального импульса). Этот параметр для разных k впервые был вычислен Бергом.

Рис. 14. 20 Спектральный анализ методом Берга

В документе на рис. 14. 20 представлены формулы для вычисления коэффициентов Берга о. О (относительная постоянная составляющая сигнала), а. 1 (относительная амплитуда первой гармоники) и сот (относительная амплитуда п-й гармоники). Коэффициенты Берга являются функциями угла отсечки.

График в нижней части этого документа дает наглядное представление об изменении первых четырех коэффициентов Берга с изменением угла отсечки.

Нетрудно заметить существование максимумов у этих зависимостей. Например, максимальная амплитуда первой гармоники будет достигнута при угле отсечки 120 градусов, второй гармоники — 60 градусов и т. д. Знать эти углы полезно при проектировании умножителей частоты (например, удвоителей или устроителей), работа которых основана на фильтрации одной из высших гармоник.

Спектральный анализ прямоугольного импульса с применением БПФ

Встроенные в систему MathCAD средства быстрого преобразования Фурье (БПФ) существенно упрощают процедуру приближенного спектрального анализа. БПФ — быстрый алгоритм переноса сведений о функции, заданной 2" отсчетами во временной области, в частотную область. Если речь идет о спектральном анализе функции y (t), ее нужно задавать действительными отсчетами и использовать функцию fft (V), где V — вектор, элементы которого хранят отсчеты функции y (t). Результатом будет также вектор А с комплексными элементами — отсчетами в частотной области (их вдвое меньше, чем отсчетов во временной области). Фактически действительная и мнимая части этого вектора есть коэффициенты Фурье а^ и Ъ^ что существенно упрощает их получение.

Документ на рис. 14. 21 поясняет проведение спектрального анализа с применением функции fft прямого БПФ. В начале документа (левый верхний угол) задан вектор с восемью единичными отсчетами и с остальными (всего их 32) — нулевыми. Затем вычислен вектор А — результат БПФ.

Рис. 14. 21 Спектральный анализ прямоугольного импульса с применением БПФ (начало документа)

В заключение (см. рис. 14. 22) вычислены амплитуды гармоник и их фазы для представления импульса рядом Фурье. Завершает документ построение графиков амплитуд (модулей) и фаз первых десяти гармоник.

Чтобы лучше понять закономерности спектрального анализа, целесообразно провести его и для импульсов другой формы, например пилообразного импульса. Рекомендуем читателю проделать это самостоятельно.


Глава 14 Примеры применения системы

Рис. 14. 22 Спектральный анализ прямоугольного импульса с применением БПФ (конец документа)

Казалось бы, наличие встроенных средств широко рекламируемого БПФ должно означать ориентацию спектрального анализа на их применение. Но это не так. БПФ имеет ряд серьезных недостатков: неясный для пользователя алгоритм, отсутствие средств подавления эффекта Гиббса и строгая привязка числа отсчетов y (t) к величине 2n (т. е. 2, 4, 8, 16, 32 и т. д.). БПФ дает хорошие результаты, когда взаимное преобразование (прямое и обратное) происходит без ограничения употребляемого при нем количества гармоник. Эти недостатки могут оказаться весьма существенными при проведении спектрального анализа и синтеза, когда наглядность их реализации принципиально важна.

Стандартный спектральный анализ и синтез

Рассмотрев некоторые частные аспекты спектрального анализа и синтеза, мы вплотную подошли к их классической реализации и методам ее улучшения. Прежде всего отметим, что MathCAD содержит средства, позволяющие провести спектральный анализ по классическому алгоритму, описанному в любом учебнике математики или в книгах по спектральному анализу.

К сожалению, классический метод спектрального анализа с вычислением коэффициентов Фурье численным интегрированием имеет ряд недостатков. Интегралы для коэффициентов Фурье вычисляются приближенно. Подынтегральные функции имеют быстро осциллирующие синусные и косинусные множители, что затрудняет интегрирование с малой заданной погрешностью. В итоге интегрирование идет довольно медленно, а точность вычислений оставляет желать лучшего. Эффект Гиббса не подавляется, поскольку его проявление связано с ограничением числа гармоник, которое имеет место при практической реализации данного алгоритма. Результаты анализа в значительной мере зависят от конкретной реализации интегрирования (к примеру, они различны у различных версий системы MathCAD). Время интегрирования достаточно значительное.

В основе так называемого стандартного спектрального анализа лежит вычисление интегралов, определяющих коэффициенты Фурье, простейшим численным методом прямоугольников Может показаться, что это большой шаг назад в сравнении с классическим методом. И уж тем более трудно поверить, что такой метод является единственным научно обоснованным методом вычисления этих коэффициентов [29, 30] Тем не менее это так. И понятно, почему. Если функция y (t) задана рядом дискретных отсчетов (вектор Yi), мы не имеем права предполагать, что какая-либо интерполяция значений y (t) между узлами имеет преимущество перед постоянством y (t). Строгий теоретический анализ показывает, что синтез у ft) по максимальному для данного числа отсчетов количеству гармоник при интегрировании методом прямоугольников дает наименьшую среднеквадратичную погрешность.

Документ на рис. 14. 23 показывает спектральный анализ и синтез стандартным методом (в варианте, описанном в [2]).

Рис. 14. 23 Стандартный спектральный анализ (начало документа)

Результаты синтеза (см. рис 14 24) показывают, что синтезированная кривая удачно описывает быстрые детали исходной зависимости Явно видно сильное проявление эффекта Гиббса. Впрочем, нередко можно подобрать оптимальное число гармоник (или длительность отдельных участков исходной функции), при котором эффект Гиббса становится малозаметным. Однако это не более чем частный случай. Увеличение числа используемых для синтеза гармоник свыше N/2, где N— число отсчетов функции, невозможно.

К достоинствам стандартного метода относится то, что его применение значительно ускоряет спектральный анализ. Это связано с тем, что интегрирование производится по простейшим формулам без использования алгоритмов и изменяющимся в его ходе шагом.

Итак, стандартные анализ и синтез применимы для любого числа отсчетов функции, но не свободны от сильного проявления эффекта Гиббса. Известен ряд методов ослабления или подавления этого эффекта [2] Отметим лишь самый простой способ — коррекция амплитуды гармоник с помощью корректирующего множителя, постепенно ослабляющего высшие гармоники спектра.

Рис. 14. 24 Синтез исходного сигнала по результатам вычисления его спектра (конец документа, приведенного на рис. 14. 23)

Если умножить значение амплитуды каждой k-й. гармоники на множитель sin ( (k/N)/((k/N), это будет фактически означать переход от формул интегрирования методом прямоугольников к формулам интегрирования методом трапеций — с применением линейной интерполяции y (t). Само по себе это, как отмечалось выше, не является основанием к существенному повышению точности вычислений. Однако такой подход дает заметное ослабление эффекта Гиббса. Рекомендуем читателю проверить это самостоятельно.

Хотя коррекция предполагает, что в формулах интегрирования применяется линейная или квадратичная интерполяция между узлами, по-прежнему используются и дискретные отсчеты, соответствующие исходному вектору Yi. Поэтому максимальное число гармоник, как и ранее, не может превосходить N/2.

Спектральный анализ и синтез с прямой линейной интерполяцией функции между узлами

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

В других случаях отсчеты берутся с несколько иной функции, но на практике весьма близкой к исходной. Несмотря на эти оговорки, такой прием дает блестящие результаты: при достаточно большом числе выбранных для синтеза гармоник синтезируемая функция повторяет исходную, а эффект Гиббса исчезает почти полностью.

На рис. 14. 25 показана реализация этого метода. За счет отказа от умножения на 0.

Рис. 14. 25 Спектральный анализ с прямой линейной интерполяцией функции между узлами (начало документа)

Как видно из конца этого документа (см рис 14 26), степень совпадения исходной и синтезируемой функций очень высока

Рис. 14. 26 Спектральный синтез на основании расчета спектра, показанного на рис. 14. 25 (конец документа)

Во всех приведенных примерах использован достаточно сложный случай. импульс с маленькой полкой на линейном росте и резким спадом В реальной ситуации функция у ft) чаще всего является довольно плавной и эффект Гиббса проявляется гораздо в меньшей мере, чем в приведенном тестовом примере. Это говорит о том, что все описанные методы имеют право на жизнь

14. 6. Решение задач фильтрации

Фильтрация аналоговых сигналов

Под фильтрацией подразумевается выделение полезного сигнала из его смеси с мешающим сигналом — шумов. Наиболее распространенный тип фильтрации — частотная фильтрация. Если известна область частот, занимаемая полезным сигналом, достаточно выделить ее и подавить те области, которые заняты шумом.

Документ на рис. 14. 27 иллюстрирует технику фильтрации с применением БПФ. В начале документа синтезируется двухчастотный сигнал, пред-

Рис. 14. 27 Фильтрация аналогового сигнала с применением БПФ (начало документа)

Рис. 14. 28 Фильтрация аналогового сигнала с применением БПФ (конец документа)

ставленный 128 отсчетами вектора q. Затем к этому сигналу присоединяется шум с помощью генератора случайных чисел и формируется вектор из 128 отсчетов зашумленного сигнала. Используя прямое БПФ, сигнал с шумом преобразуется из временной области в частотную, которую создает вектор f из 64 частотных составляющих. Затем выполняется фильтрующее преобразование, эффективность которого оценивается параметром фильтрации а. Отфильтрованный сигнал (вектор g) подвергается обратному БПФ и создает вектор выходного сигнала h.

В конце документа (см. рис. 14. 28) сравниваются временные зависимости входного и выходного сигналов. Хотя абсолютной идентичности между ними нет, видно, что выходной сигнал почти повторяет входной и в значительной мере избавлен от высокочастотных шумовых помех, маскирующих полезный сигнал.

Алгоритмы, реализованные в данном примере, находят широкое применение на практике. Они лежат в основе создания фильтров для аналоговых сигналов.

Цифровая фильтрация с помощью БПФ

Аналоговые фильтры обычно имеют довольно сложную аппаратную реализацию. В них применяются громоздкие и нетехнологичные колебательные контуры или RC-цепи с интегральными операционными усилителями. Поэтому интенсивно развивается новый класс фильтрующих устройств — цифровые фильтры. В них используются цифровые логические схемы, имеющие высокую степень интеграции, и применяются цифровые методы обработки сигналов.

Документ на рис. 14. 29 поясняет реализацию алгоритмов цифровой фильтрации с помощью реализуемой цифровыми устройствами функции s (kj). После ее определения синтезируется цифровой сигнал, содержащий низкочастотную в виде перепада и высокочастотную в виде меандра компоненты.

Далее показана реализация фильтрующей операции — свертки для двух типов фильтров, широкополосного и узкополосного. Конец документа, представленного на рис. 14. 29, показан на рис. 14. 30.

Рис. 14. 29 Реализация цифровой фильтрации (начало документа)

Рис. 14. 30 Реализация цифровой фильтрации (конец документа)

Заметим, что в данном примере речь идет не о фильтрации сигнала на фоне шумов, а о прохождении сложного составного сигнала через цифровые фильтры. Графики в конце документа иллюстрируют характер искажений сигнала при этом.

Фильтрация пространственного образа с применением двумерного БПФ

До сих пор мы приводили примеры применения одномерного БПФ. Однако возможно и двумерное преобразование Фурье, позволяющее решать более сложные задачи.

Рис. 14. 31 Фильтрация пространственного образа (начало документа)

Система MathCAD 7. 0 реализует двумерное БПФ, если в операциях БПФ использовать не векторы, а матрицы. Однако у ранних версий MathCAD таких возможностей нет. Поэтому воспользуемся более наглядной реализацией двумерного БПФ с помощью одномерного. На рис. 14. 31 показан документ, реализующий фильтрацию трехмерной поверхности с помощью двумерного БПФ.

В начале документа создается матрица трехмерной поверхности М со случайными отклонениями каждой точки. Внизу слева построена эта поверхность — см. рис. 14. 32. Она имеет вид пятна, в котором отдаленно угадываются общие контуры поверхности. Регулярность расположения точек-крестиков на ней вообще не заметна. В средней части документа показана реализация математического аппарата фильтрации. Рисунок справа внизу документа показывает результат фильтрации. На нем отчетливо видны не только общие формы поверхности (типа "выпуклый лист"), но и явная регулярность расположения точек. Это и есть результат фильтрации.

Рис. 14. 32 Фильтрация пространственного образа (конец документа)

Полезно отметить, что графики трехмерной поверхности здесь также получены без применения стандартных средств построения трехмерных поверхностей системы. Поэтому без какой-либо доработки (кроме выбора шрифта комментариев) этот пример можно использовать и в ранних версиях системы MathCAD 2. 0/2. 04, не имеющих средств построения трехмерных фигур (а говоря точнее, он и взят из примеров для этих систем).

14. 7. Физические расчеты

Преодоление самолетом звукового барьера

Большинство из нас слышали в ясную погоду звуки, напоминающие гром. Почти наверняка это были либо отзвуки дальней грозы, либо грохот, создаваемый самолетом при преодолении звукового барьера. В физике известна функция М (и, h), определяющая так называемое число Маха, зависящее от скорости самолета и и высоты полета h [32]. В момент преодоления звукового барьера значение М (и, h) становится равным 1. Скорость, на которой преодолевается этот барьер, падает с увеличением высоты полета.

Документ на рис. 14. 33 содержит определение функции М (и, h). На верхнем графике показаны зависимости М (и, h) от и для четырех значений h, а также уровень единицы. Звуковой барьер преодолевается в момент, когда соответствующая зависимости М (и, h) кривая пересекает уровень единицы.

Рис. 14. 33 Расчет скорости преодоления самолетом звукового барьера (начало документа)

Рис. 14. 34 Расчет скорости преодоления самолетом звукового барьера (конец документа)

Более полезно не просто знать саму по себе зависимость М (и, h), а из условия М (и, h) =i получить зависимость скорости преодоления звукового барьера u (h) от высоты h. Для этого можно воспользоваться функцией поиска корня указанного условия. Это также сделано в конце документа (см. рис. 14. 34).

Этот пример дает наглядное представление о решении простых физичес ких задач, базирующихся на уравнениях теоретической физики, и демонстриру ет возможность находить с помощью MathCAD корень нелинейных уравнений

Потеря автомобилем энергии при торможении

Услышав визг тормозов автомобиля, мы с ужасом следим, сумеет ли он сбросить скорость и не настигнет ли нас до того, как мы успеем отскочить Полезно (скорее шоферу, чем нам) знать, как быстро автомобиль теряет энергию при торможении Решение этой задачи для автомобиля с дисковым тормозным устройством представлено на рис 14 35

Рис. 14. 35 Расчет потери энергии тормозящим автомобилем (начало документа)

Рис. 14. 36 Расчет потери энергии тормозящим автомобилем (конец документа)

Процесс потери энергии в общем случае связан с решением нелинейного дифференциального уравнения. Физики любят использовать для такого решения простые конечно-разностные методы, при которых решение выражается рекуррентной формулой. Фактически эти методы соответствуют решению простым методом Эйлера. Результаты решения представлены на рис. 14. 36.

Важно отметить, что в данном расчете используются размерные величины (энергия определяется в джоулях). Для расчетов с размерными величинами в состав MathCAD входят файлы, содержащие глобальные определения этих величин. В конце документа (на рис 14. 36) показан пример использования такого файла. В нем содержится определение многих размерных величин, относящихся к физике (их больше, чем это нужно для нашего конкретного примера).

Расчет движения снаряда

Пусть спортсмен мечет снаряд (например, диск или ядро) с некоторой начальной скоростью VO и под углом Q к горизонту. По какой траектории происходит полет снаряда, если пренебречь сопротивлением воздуха? Ответ общеизвестен — по параболической Однако мы попытаемся ответить на этот вопрос моделированием движения, решая систему описывающих его дифференциальных уравнений численным методом Эйлера Этот подход иллюстрирует документ на рис. 14. 37.

Рис. 14. 37 Расчет траектории и угла наклона летящего снаряда

Обратите внимание, что операции (как это принято в физических расче тах) происходят с размерными величинами. В результате моделирования получены траектория движения снаряда (зависимость высоты от расстояния по горизонтали), а также зависимость угла наклона траектории от расстояния по горизонтали. Как и следовало ожидать, траектория полета снаряда оказалась параболической.

Падение парашютиста \

Рассмотрим существенно более сложный случай динамического движения:

на высоте уО из самолета выпрыгивает парашютист и в свободном полете падает вниз. Спустя пять секунд он дергает кольцо и испытывает заметные перегрузки из-за раскрытия парашюта и резкого снижения скорости падения. Моделирование падения основывается на решении нелинейной системы

Рис. 14. 38 Моделирование падения парашютиста (начало документа)

дифференциальных уравнений и требует учета сопротивления воздушной среды до и после открытия парашюта. В документе на рис. 14. 38 показано выполнение этого моделирования с применением конечно-разностного метода решения.

Рис. 14. 39 Данные о падении парашютиста (конец документа, представленного на рис. 14. 38)

В результате моделирования получены зависимости от времени падения парашютиста следующих параметров (см. рис 14 39): высоты, скорости и ускорения падения и резкости (второй производной от скорости) падения. Резкость падения характеризуют перегрузки, которые испытывает парашютист в полете Они многократно возрастают сразу после раскрытия парашюта

Если вас интересуют числовые данные величин, характеризующих падение парашютиста, выведите их в табличной форме.

14. 8. Электро- и радиотехнические расчеты

Электро- и радиотехнические расчеты — весьма благодатная почва для приложения MathCAD. Некоторые из таких расчетов (например, вычисление емкости или индуктивности различных компонентов) достаточно просты и сводятся (за редкими исключениями) к вычислениям по готовым формулам

В электро- и радиотехнике широко применяются комплексные числа и величины MathCAD обладает всеми возможностями для работы с ними, начиная от вычислений импеданса (полного сопротивления) простых цепей и кончая работой с матрицами, имеющими комплексные элементы

Ниже рассмотрено лишь несколько примеров расчетов электро- и радиотехнических цепей

Вычисление характеристик системы по ее операторной функции

Если схема описана операторной функцией, по ней можно вычислить важнейшие характеристики линейной системы. АЧХ, ФЧХ и переходную характеристику (т е. реакцию системы во времени на единичный скачок напряжения или тока на ее входе) Для вычисления АЧХ и ФЧХ достаточно заменить оператор p на величину iw, тогда модуль полученного выражения будет описывать АЧХ, а аргумент — ФЧХ

Построение АЧХ и ФЧХ для системы второго порядка, описанной операторной функцией, дано в документе на рис 14 40.

Рис. 14. 40 Построение АЧХ и ФЧХ линейной системы по ее операторной характеристике (начало документа)

В этом документе представлено также построение по операторной функции передаточной характеристики системы. Для каждого значения времени t эта характеристика определяется интегралом с бесконечным пределом интегрирования:

На рис. 14, 41 показано построение переходной характеристики.

Рис. 14. 41 Построение переходной характеристики (конец документа, представленного на рис. 14. 40)

К счастью, у всех реальных систем АЧХ на высоких частотах имеет спад и при больших w>wmax принимает близкие к нулю значения. В нашем примере это происходит уже при w>5, что позволяет заменить бесконечный предел интегрирования на конечный.

Вычисление h (t) в документе на рис. 14. 42 выполнено по этому алгоритму. Число 0. 637 перед знаком интеграла есть значение 2/тс. Рядом с графиком h (t) выведена таблица времен t и значений h (t). Анализируемая цепь является цепью 2-го порядка и имеет соответствующие признаки заметно демпфированной цепи 2-го порядка — характерный подъем АЧХ на некоторой частоте и переходную характеристику с небольшим выбросом.

Расчет отклика системы на воздействие, заданное таблично

Расчет отклика линейной системы с произвольной формой переходной характеристики на произвольно заданное входное воздействие — задача достаточно сложная. Ее решение облегчается, если передаточная характеристика и входное воздействие заданы в табличном виде, т. е. в виде ряда значений a (t) и u (t) для фиксированных моментов времени t на отрезке Т. Наличие в системе MathCAD эффективного аппарата сплайн-интерполяции табличных данных позволяет с блеском решить такую задачу.

Документ на рис. 14. 42 иллюстрирует сказанное. Векторы А и U в нем задают узловые точки зависимостей a (t) и u (t) на отрезке времени Т. Эти векторы должны быть одинаковой длины, а их элементы должны относиться к соответствующим одинаковым моментам времени. Далее проводится сплайн-интерполяция (с линейной экстраполяцией) зависимостей aft) и u(t), что позволяет получить эти зависимости в непрерывном виде и использовать в интеграле свертки для вычисления реакции y (t).

Рис. 14. 42 Расчет реакции системы на заданное воздействие Сначапо документа)

Табличное задание u (t) облегчает вычисление производной i/(t) в численном виде, что, в свою очередь, ускоряет вычисления. Обратите внимание, что здесь и' — имя функции пользователя, вычисляющей значение производной численным методом. В конце документа (см рис. 14. 43) построены графические зависимости aft), u (t) и y (t).

Рис. 14. 43 Расчет реакции системы на заданное воздействие (конец документа)

Моделирование генератора гармонических колебаний на туннельном диоде

Пусть туннельный диод подключен к источнику постоянного напряжения Е через последовательно соединенные резистор R и индуктор L. Пусть далее R и Е выбраны так, что рабочая точка туннельного диода находится на падающем участке N-образной ВАХ туннельного диода. Это обстоятельство принципиально важно, поскольку дифференциальная малосигнальная проводимость туннельного диода тогда является отрицательной. Физически это означает, что туннельный диод отдает энергию во внешнюю цепь.

Если учесть емкость С туннельного диода (совместно с емкостью монтажа и нагрузочной емкостью), такая схема будет описываться следующей системой нелинейных дифференциальных уравнений [6, 8]:

Нелинейность этой системы обусловлена тем, что во втором уравнении ток туннельного диода 1 (и) нелинейно зависит от напряжения на нем и емкости С. Зависимость 1 (и) есть N-образная вольт-амперная характеристика туннельного диода.

Документ на рис. 14. 44 позволяет рассчитать переходные процессы при включении рассмотренной схемы таблично заданной JV-образной ВАХ туннельного диода. Она задается своими табличными значениями — элементами векторов U и I. N-образная ВАХ получается сплайн-интерполяцией с кубической экстраполяцией Решение системы дифференциальных уравнений обеспечивается методом Эйлера

Рис. 14. 44 Моделирование генератора на туннельном диоде (начало документа)

Результаты моделирования (см рис 14 45) в этом документе представлены в двух формах Первая имеет вид фазового портрета — положение каждой точки решения отмечается на графике в плоскости ВАХ Для чисто гармонических колебаний предельный цикл колебаний на фазовой плоскости должен иметь форму эллипса Его отличие от эллипса небольшое, что, с одной стороны, говорит о заметном влиянии нелинейности, а с другой — о почти гармоническом характере колебаний Вторая форма — временные зависимости напряжения на туннельном диоде и тока в цепи резистора R Эти зависимости близки к гармоническим

Рис. 14. 45 Моделирование генератора на туннельном диоде (конец документа)

Следует отметить, что область применения описанного документа неизмеримо шире, чем моделирование конкретной схемы генератора на туннельном диоде Практически с его помощью можно моделировать основную цепь на любом приборе с N- или N-образной ВАХ (например, индуктивный релак сатор на лавинном транзисторе, генераторы на N- и Л-диодах и транзисторах, их аналогах и т д) Достаточно лишь задать данные их ВАХ и соответствующие исходные данные

Стоит, к примеру, уменьшить емкость С в два-три раза, а индуктивность увеличить, как генератор перейдет в режим генерации релаксационных коле баний Этот случай показан на рис 14 46

Теперь возникают более резкие колебания, фазовый портрет начинается сразу с предельного цикла, форма которого принципиально отличается от эллиптической Соответственно, сильно отличаются от гармонической и форма напряжения на туннельном диоде, и форма тока, текущего через резистор R Колебания при этом относятся к типу релаксационных и возникают сами по себе, без какого-либо внешнего воздействия Практически после первого цикла колебаний устанавливается их стационарный режим

Еще более интересные результаты можно получить, используя импульсное питание цепи на туннельном диоде Тут напряжение питания можно задать зависимостью ei (t) в виде прямоугольно! о импульса, наложенного на постоянное напряжение — пьедестал. Напряжение выбирается так, что рабочая точка попадает на первую восходящую ветвь N-образной ВАХ и оказывается стабильной. При этом цепь устойчива и колебания не генерируются. При появлении импульса рабочая точка попадает на падающий участок и развивается процесс генерации одного полного цикла колебаний. Цепь, таким образом, выполняет функции ждущего релаксационного генератора. Читатель может самостоятельно изменить документ для реализации этого режима работы.

Рис. 14. 46 Пример генерации релаксационных колебаний

Приведенные выше примеры наглядно показывают, что даже незначительное изменение параметров одной и той же цепи на туннельном диоде способно резко (и даже качественно) изменить режимы ее работы. При этом цепь может выполнять практически любую функцию электронного устройства: нелинейного преобразователя, усилителя и генератора гармонических колебаний, автоколебательного и ждущего релаксатора и триггера.


Глава 15 MathCAD 7. 0 PRO в Internet

15. 1. Web-страница фирмы MathSoft

В настоящее время ни одна программная система не может претендовать на высокое место в рейтинге качества, если она не поддерживает работу с Internet. Система MathCAD 7. 0 PRO такую поддержку обеспечивает, она позволяет напрямую (т. е. непосредственно из ее среды) отправлять файлы своих документов по электронной почте. Более того, система предоставляет возможность ведения совместной работы над документами, в частности серьезными математическими проектами.

Понять организацию совместных работ в системе MathCAD легче всего, ознакомившись с Web-страницей фирмы MathSoft, имеющей адрес www. mathsoft. com . Для доступа к ней достаточно запустить браузер Microsoft Internet Explorer, входящий в состав операционной системы Windows 95 (или любой другой браузер). Спустя некоторое время (какое именно, зависит от производительности ПК и скорости передачи информации по каналам связи), на экране появится ею основная страница (см. рис. 15. 1).

Рис. 15. 1 Основная страница браузера Microsoft Internet Explorer

После того как основная страница браузера (она может быть разной у разных провайдеров сети Internet) будет выведена на экран, надо в поле адресов набрать адрес фирмы MathSoft, который был приведен выше. Нажав клавишу Enter, можно через короткий промежуток времени увидеть основную с границу фирмы MathSoft, показанную на рис. 15. 2. На этой странице, помимо рекламного изображения новой системы Fibonachi фирмы MathSoft, видны пиктограммы гипермедиа-ссылок и главное меню окна, также выполненное в виде этих ссылок. Активизируя их, можно путешествовать по довольно обширной странице фирмы MathSoft.

Рис. 15. 2 Основная Web-страница фирмы MathSoft

Кроме кратких описаний программных продуктов, выпускаемых Mdth-Soft ее страница содержит полезные утилиты для модернизации программных продуктов, сотни файлов, содержащих информацию о применении этих продуктов, последние новости о работе фирмы и множество иных сведений К примеру, можно получить файлы расширения библиотек MathCAD 7 О PRO со многими новыми функциями, а также сервисные пакеты по улучшению этой системы Некоторые инструменты предоставляются бесплатно, другие — за довольно скромную плату

Особое место на странице занимает раздел Collaboratory (совместная работа), назначение которого заключается в объединении усилий различных пользователей в работе над совместными проектами Страница этого раздела

Рис. 15. 3 Начало страницы Collaboratory

показана на рис. 15. 3. Она поясняет правила совместной работы пользователей системы MathCAD 7. 0 над определенными тематическими проектами, при этом пользователи могут находиться в самых разных странах. Такой вид работы носит соревновательный характер и может не только существенно ускорить решение той или иной математической или физической задачи, но и привести к зарождению взаимно полезных связей между участниками совместных проектов, в том числе международных.

Дойдя до конца страницы, можно найти гипермедиа-ссылку, открывающую доступ к тематическому перечню совместных проектов (см. рис. 15. 4.) Этот перечень содержит такие темы, как математика, физика, химия, электричество, электроника и др. и фактически является перечнем имен папок, в которых хранятся файлы документов системы MathCAD. Ознакомившись с различными проектами, можно решить, в каких из них стоит принять участие или какой новый проект предложить для совместной разработки.

Рис. 15. 4 Тематический перечень совместных проектов

Рис. 15. 5 Страница с перечнем совместных проектов по определенной тематике

Активизировав гипертекстовую ссылку одного из разделов тематического перечня, можно получить список проектов по этому разделу (см. рис. 15. 5). В сущности проекты — это обычные файлы документов MathCAD, включая краткие данные о проектах с указанием адресов, по которым можно эти проекты получить. Как правило, документы имеют подробный заголовок с указанием фамилии и имени авторов, впервые вынесших проекты на совместную разработку.

Выбрав любой документ, вы получаете возможность записать его на диск своего ПК и опробовать в работе. Впрочем, надо отметить, что есть немало документов, для которых приведена лишь ссылка (чаще всего в виде адреса электронной почты) на то, где этот документ можно добыть и на каких условиях его автор согласен на совместную работу над ним.

15. 2. Настройка MathCAD 7. 0 PRO для работы с Internet

Итак, через браузер Internet можно получить доступ к страницам фирмы MathSoft с проектами задач для совместной работы. Однако разработчики системы MathCAD пошли намного дальше: они обеспечили доступ к таким проектам прямо из системы MathCAD 7. 0 PRO. Но прежде чем постоянно пользоваться этой возможностью, надо настроить систему на работу с Internet. Для этого служит операция Setup Internet в позиции File главного меню. При ее исполнении появляется окно установок, показанное на рис. 15. 6.

В этом окне вначале надо установить адрес электронной почты (Email) пользователя. Затем надо указать адрес сервера фирмы MathSoft и данные о типе сервера, а также номере порта, с которым он работает. Все необходимые данные показаны на рис. 15. 6. Кнопки внизу окна выполняют обычные функции: OK — фиксация установок, Cancel — отказ от установок и возврат к работе с документом, Help — получение справки по установкам.

Рис. 15. 6 Окно установок для работы с Internet

нажав клавишу ОК, можно перейти к установке конфигурации системы. Окно этой установки показано на рис. 15. 7. В этом окне можно задать тип конфигурации системы, т. е. выбрать, с каким конкретно программным обеспечением будет происходить работа в Internet (в нашем случае это приложение Outlook из пакета Microsoft Office).

Рис. 15. 7 Окно установки конфигурации

Обычно серверы Internet относятся к типу HTTP. Однако возможна работа и с давно известными серверами типа FTP и GOPHER. Например, файловые серверы FTP удобны для перекачки больших файлов. Многие

Рис. 15. 8 Организация тестового сеанса связи по электронной почте

программы для работы с такими серверами позволяют переписывать оставшуюся часть файла даже после прерывания связи с удаленным компьютером. Что греха таить — нередко случается, что связь прерывается в момент, когда уже затрачен не один десяток минут на перекачивание большого файла и до окончания этого процесса остается лишь пара минут. При общении через сервер HTTP в таком случае считывание файла начинается с самого начала.

Упомянутое приложение Outlook работает с типовой программой организации электронной почты — Microsoft Exchange. Завершив установку, следует провести тестовый сеанс связи по электронной почте (см. рис. 15. 8). При этом программа Microsoft Exchange загружается автоматически.

Для проверки связи по электронной почте не обязательно сразу выходить на "почтовый ящик" фирмы MathSoft. Проще опробовать связь с кем-либо из своих знакомых, чей адрес электронной почты вам хорошо известен. Для проведения сеанса связи надо нажать большую кнопку с изображением желтого конверта в конце строк с адресами (или аналогичную кнопку меньших размеров в начале панели инструментов). На экране появится небольшое окно установки связи (см. рис. 15. 9), в нем можно проследить за этапом набора номера абонента (сам номер, впрочем, не отображается). Компьютер, с которым вы устанавливаете связь, принято называть удаленным.

Рис. 15. 9 Начало установки связи с удаленным компьютером

Если набор номера абонента прошел успешно, появляется темное окно терминала (см. рис. 15. 10). В этом окне надо повторить набор своего имени и пароля, нажимая в конце набора клавишу Enter. He исключено, что эту клавишу придется нажать два-три раза и для вывода сообщения о начале набора имени. Обратите внимание на то, что в ходе набора пароля вводимые символы не отображаются. Это сделано для того, чтобы находящиеся сзади вас люди не видели, какой пароль вы вводите.

Сама передача невидима, хотя при передаче больших по размерам файлов можно увидеть типичное окошко Windows 95, в котором бумажки, представляющие файлы, эффектно перелетают из одной корзинки в другую. Если сеанс связи состоялся, кричите "Эврика!", ведь это значит, что все ваше Internet-хозяйство (модем, телефонная линия, программное обеспечение) работает нормально и можно приступать к спокойной работе в Internet.

Рис. 15. 10 Конец установки связи с удаленным компьютером через терминал

15. 3. Доступ к совместной работе прямо из MathCAD 7. 0 PRO

После единовременной настройки на работу с Internet вы получаете постоянную возможность прямой работы над совместными проектами непосредственно из системы MathCAD. Все, что для этого нужно, — исполнить операцию Collaboratory в позиции File главного меню (см. рис. 15. 11).

Рис. 15. 11 Начало вхождения в сеанс совместной работы над проектами

Если вы проделываете эту операцию при отключенном сеансе связи с удаленным компьютером (вашего провайдера), то придется повторить установку сеанса связи, описанную выше. После этого (или сразу, если вы приступаете к совместной работе с уже установленной связью с удаленным компьютером) открывается окно доступа к файлам совместных проектов, показанное на рис. 15. 12.

Рис. 15. 12 Окно доступа к файлам совместных проектов

Нетрудно заметить, что в этом окне в левой панели представлен перечень тем проектов, идентичный тому, что был показан на странице фирмы MathSoft. Выбрав нужный проект в нижней части окна, можно наблюдать появление всех данных о выбранном проекте (файле) с указанием полного Web-адреса разработчика проекта (см. рис. 15. 13).

Рис. 15. 13 Выбор проекта и его загрузка в ваш ПК

Остается установить связь (см. группу кнопок в правой части окна) с разработчиком проекта и получить от него нужный файл с документом по проекту. Полученный документ размещается прямо в окне редактирования вашей системы MathCAD, теперь его можно изучать и модифицировать. Как это делается, было описано в предыдущих главах. Остается пожелать читателю с успехом использовать эту новую, интересную и мощную возможность системы MathCAD 7. 0 PRO.


Содержание
Предисловие 1 2 3 4 5 6 7 8 9 10 11 11.1 11.2 12 13 14 14.1 15 Заключение


Заключение

Итак, мы довольно полно рассмотрели новейшую универсальную математическую систему MathCAD 7. 0 PRO. Эта система достигла весьма высокого уровня развития: самые изысканные математические возможности здесь сочетаются с естественным и удобным пользовательским интерфейсом и богатой графикой. При этом интерфейс системы существенно изменен. К принципиальным новинкам можно отнести появление интегратора с другими программными системами MathConnex, возможности имитационного моделирования блочных систем и работу с данными строкового типа.

Означает ли это, что предыдущие версии системы (начиная с версии MathCAD 3. 0) потеряли свое значение? Вероятно, нет, по крайней мере до тех пор, пока все еще значительное число пользователей имеют доступ лишь к персональным компьютерам с ОЗУ емкостью менее 8 Мбайт. Для многих из них возможности профессиональной версии MathCAD PLUS 7. 0 PRO явно избыточны, и их вполне удовлетворит работа даже с версиями MathCAD 3 О или 4. 0.

К сожалению, в отличие от самих версий системы MathCAD электронные книги для новой версии системы с примерами применений у нас крайне дефицитны и мало распространены. А на русском языке их вообще пока практически нет.

Между тем пользователь системы нуждается не только в учебных примерах работы с системой и знакомстве с ее пользовательским интерфейсом и набором операторов и функций (чему посвящена большая часть настоящей книги), но и в примерах решения реальных и массовых математических и иных задач. Этих примеров все еще явно недостаточно в существующей литературе по системе MathCAD. Заключительная глава настоящей книги частично устраняет этот пробел. Однако разработка новых пакетов применений MathCAD и электронных книг остается одной из важнейших задач внедрения этих математических систем MathCAD в практику учебных и научно-технических расчетов.


MathCAD Plus 7.0 PRO

This page uses frames, but your browser doesn't support them.


Содержание

Предисловие

Глава 1 Основы работы с системой MathCAD 7. 0 PRO

Глава 2 Работа с файлами

Глава 3 Редактирование документов

Глава 4 Управление обзором (View)

Глава 5 Работа со вставками

Глава 6 Установки форматов объектов системы MathCAD

Глава 7 Управление вычислительными процессами

Глава 8 Работа с символьным процессором

Глава 9 Работа с окнами

Глава 10 Работа с информационными ресурсами

Глава 11 Входной язык системы MathCAD 7. 0

Глава 12 Оптимизация вычислений и программирование

Глава 13 Интегратор приложений MathConnex

Глава 14 Примеры применения системы

Глава 15 MathCAD 7. 0 PRO в Internet

Заключение