Иллюстрированный самоучитель по Mathematica

         

Что нового мы узнали



В этом уроке мы научились:

Пользоваться строкой меню. Управлять окном редактирования документов. Работать с файлами. Создавать простые документы и осуществлять их редактирование.

Работать с ячейками и форматировать их содержимое. Вставлять в ячейки различные объекты системы Mathematica. Управлять вычислением ячеек. Производить поиск и замену текста в документе. Управлять расположением окон. Пользоваться справочной системой.



Другие команды меню Help


Помимо упомянутых команд меню Help имеет команды, повторяющие разделы справочной системы, и еще ряд команд:

Why the Beep? — информация о причинах выдачи звукового сигнала; Registration — вывод формы регистрации (для легальных пользователей); About Mathematica — вывод окна с краткими сведениями о системе и фирме Wolfram (рис. 2.55); Rebuild Help Index — создание индексного указателя (обычно требуется сразу после первого запуска системы).

Рис. 2.55. Окно с данными о системе Mathematica 4

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

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



Интерфейс системы



Строка меню и окно редактирования документов Палитры математических операторов и функций Понятие о документах в форме notebooks Особенности интерфейса Mathematica 4 Основные виды файлов и пакеты расширения Работа с файлами Печать документов Основные понятия о документах и их стилях Понятие о ячейках документов Манипуляции с ячейками Вставка различных элементов Управление процессом вычислений Команды поиска и замены Управление расположением окон Справочная база данных

Прежние версий системы Mathematica имели довольно скромный стандартный интерфейс, характерный для приложений MS-DOS. Однако в версиях Mathematica 3/4 интерфейс был существенно переработан. В этом уроке подробно рассматривается интерфейс систем Mathematica 3/4. Освоение интерфейса не менее важно, чем освоение чисто математических возможностей системы, поскольку именно использование всех возможностей интерфейса позволяет готовить вполне современные документы, отличающиеся высоким качеством визуализации.



Команды меню Kernel


Меню Kernel служит для управления действиями, проводимыми ядром системы над ячейками загруженного документа. Внешний вид меню Kernel и его подменю Evaluation показан на рис. 2.39.

Рассмотрим команды этого подменю более подробно.



Команды поиска и замены


Первая группа команд меню Find реализует типичные операции поиска и замены:

Find (Ctrl+F) — поиск заданных строк вперед и назад (но без замены); Enter Selection (Ctrl+E) — ввод выделенной строки в окно поиска; Find Next (F3) — поиск по документу вперед; Find Previous (Shift+F3) — поиск по документу назад; Find in Cell Tags — поиск ячейки с заданной этикеткой (tag); Replace (Ctrl+R) — замена одной строки на заданную другую; Replace and Find Again (Shift+Ctrl+R) — выполнение замены с продолжением поиска; Replace All — выполнение замены по всему документу.

Эти операции выполняются с помощью окна поиска и замены, показанного на рис. 2.41. Оно имеет поля для задания искомой строки и строки замены.

Рис. 2.41. Пример поиска подстроки «4х» и ее замены на подстроку «6х»

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



Манипуляции с ячейками


При вводе данных в ячейки ввода данные представляются в одном из форматов, заданных командой Default Input Format Type. Соответственно, в ячейках вывода результаты представляются в формате, установленном командой Default Output Format Type. Однако есть возможность изменить формат данных в ячейках с помощью команды преобразования форматов Convert To. Эта команда открывает подменю с перечнем всех возможных форматов (см. рис. 2.19). Текущий формат ячейки помечен галочкой. Для задания другого формата надо выбрать его в подменю, предварительно активизировав ячейку.

Как видно из рис. 2.19, возможна установка следующих форматов ячеек:

InputForm (Shift+Ctrl+I) — формат ввода; О OutputForm — формат вывода; . .. StandardForm (Shift+Ctrl+N) — стандартный формат; TradidonalForm (Shift+Ctrl+T) — традиционный формат; PostScript — векторный графический формат PostScript; Bitmap — растровый формат изображений; Metafile — векторный графический формат Windows Metafile.

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

Подменю Cell Properties служит для установки свойств, то есть статуса ячеек. Это подменю содержит следующие команды:

Cell Open — делает ячейку открытой или закрытой; Cell Editable — делает ячейку редактируемой или нередактируемой; Cell Edit Duplicate — делает ячейку заново создаваемой при попытке редактирования; Cell Evaluatable — делает ячейку оцениваемой или неоцениваемой; Cell Active — делает ячейку активной или неактивной; Initialization Cell — делает ячейку инициализационной или неинициализационной.

Установка свойств выделенной ячейки осуществляется выбором нужной команды в подменю Cell Properties. Одновременно может быть установлено несколько свойств.
Для удаления свойства надо выбрать соответствующую команду еще раз.

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

Интересно отметить, что редактировать можно не только входные, но и выходные ячейки — например, вручную задавая более приемлемый вид результата. Однако для этого выходную ячейку надо сделать редактируемой, установив свойство Cell Editable. Редактируемая ячейка имеет символ «?» у своей обрамляющей скобки.

Ячейки могут быть оцениваемыми и исполняемыми или неоцениваемыми, что задается командой Cell Evaluatable. Только оцениваемые ячейки исполняются ядром системы и порождают выход. Неоцениваемые ячейки помечаются знаком «-» в обрамляющей их правой скобке.

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

Ячейки также могут быть активными и неактивными. Изменение активности достигается командой Сеll Active. Активная ячейка помечается в скобке знаком «А» и обычно управляется кнопкой.

Наконец, ячейки могут быть инициализационными и нет, в зависимости от установки свойства Initialization Cell. Инициализационная ячейка помечается в скобке знаком «|» и автоматически исполняется при загрузке документа, содержащего такую ячейку (или ряд ячеек).

Команда Group Cells используется для объединения ряда ячеек в одну группу. Вначале нужно выделить объединяемые ячейки (рис. 2.20), а затем использовать команду объединения.



Рис. 2.20. Выделение ячеек документа перед их объединением

При этом выбранные ячейки обрамляются общей для них длинной квадратной скобкой (рис. 2.21).


Активизация этой скобки позволяет управлять просмотром ячеек.

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



Рис. 2.21. Документ после объединения ячеек в группу



Рис. 2.22. Документ со скрытым блоком ячеек

Команда Ungroup Cells разъединяет объединенные в группу ячейки. Если при этом в группе есть ячейки, объединенные в более мелкие подгруппы, то они сохраняются. Для деления ячейки на части используется команда Divide Cell, а для объединения двух ячеек — команда Merge Cells.

Чтобы иметь возможность воспользоваться командами объединения и разъединения ячеек, необходимо предварительно выбрать в подменю Cell Grouping команду Manual Grouping. По умолчанию в этом подменю выбран режим Automatic Grouping, при котором Mathematica сама управляет группировкой ячеек, базируясь на их стилях.

Команда Open All Subgroups открывает все выделенные группы и подгруппы ячеек, а команда Close All Subgroups закрывает все выделенные группы и подгруппы.

Действие команды Open/Close Group уже описывалось — она сокращает число ячеек в группе так, что видимой остается только первая ячейка — как правило, имеющая титульную надпись.

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

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


Меню Cell


В меню Cell (рис. 2.19) собраны команды для работы с ячейками. Как видно из рис. 2.19, это меню содержит следующие команды:

Convert To — преобразование формата ячеек; Display As — установка формата отображения ячеек; Default Input Format Type — установка формата по умолчанию для ячеек ввода; Default Output Format Type — установка формата по умолчанию для ячеек вывода; Default Inline Format Type — установка формата по умолчанию для ячеек Inline; Cell Properties — установка свойств ячеек; Cell Grouping — группировка ячеек; Divide Cell (Shift+Ctrl+D) — разделение сгруппированных ячеек; Merge Cells (Shift+Ctrl+M) — объединение ячеек; Animate Selected Graphics (Ctrl+Y) — анимация выделенной ячейки с графиком; Play Sound — воспроизведение синтезированного звука; Rerender Graphics — построение графиков заново; Rerender And Save Graphics — построение графиков заново с последующей записью; Make Standard Size — установка стандартного размера ячейки; Allign Selected Graphics — выравнивание выделенных графиков; Cell Size Statistics — вывод статистики о размерах ячеек.

Далее эти команды описаны более подробно.

Рис. 2.19. Меню Cell



Меню Edit


Основные операции редактирования сосредоточены в меню Edit. Рисунок 2.16 показывает вид экрана системы с открытыми меню Edit и двумя его подменю.

Как видно из рис. 2.16, в меню Edit сосредоточены следующие команды:

Undo (Ctrl+Z) — отмена операции; Cut (Ctrl+X) — перенос содержимого ячейки в буфер; Copy (Ctrl+C) — копирование содержимого ячейки в буфер; Paste (Ctrl+V) — вставка информации из буфера без его очистки; Clear (Del) — уничтожение выделенной ячейки; Copy As — копирование содержимого ячейки в буфер в заданном формате; Paste As — вставка информации из буфера в заданном формате; Save Selection As — запись выделенных ячеек в специальных форматах; Select All (Ctrl+A) — выделение всех ячеек; Insert Object — вставка объектов; Motion — различные перемещения в текстовом блоке; Expression Input — ввод выражений в разных форматах; Make 2D (Shift+Ctrl+Y) — преобразование текстовой строки ввода в двумерный формат; Check Balance (Shift+Ctrl+B) — поиск пары скобок, окружающих место расположения текстового курсора; Check Spelling (Alt+;) — проверка орфографии; Preferences — вызов окна настроек системы.

Рис. 2.16. Меню Edit

Часть из этих команд дублирует описанные выше операции — в частности, операции по работе с буфером. Другие требуют некоторого пояснения. Так, команда Save Selection As служит для записи выделенных ячеек в файлы специальных форматов. Подменю с перечнем этих форматов показано на рис. 2.17.

Рис. 2.17. Подменю команды Save Selection As

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

Команда Insert Object открывает окно вставки объектов, показанное на рис. 2.18. Это стандартное окно, имеющееся во всех приложениях операционной системы Windows 95/98/NT. В окне есть перечень приложений, которые могут экспортировать в Mathematica порожденные ими объекты. Это могут быть тексты, рисунки, документы различных программных систем и т. д. Такие объекты внедряются в ячейки Mathematica и могут редактироваться теми программами, которые их породили.
Позже мы рассмотрим технологию вставки объектов более подробно.



Рис. 2.18. Окно вставки объектов

Для редактирования больших текстовых блоков служат команды подменю Motion. Это стандартные команды перемещения курсора по отдельным символам, словам и т. д. Следует отметить, что правильное их исполнение гарантируется только для англоязычных текстов. Эта группа команд применяется редко — чаще всего перемещение текстового курсора производится с помощью клавиатуры. Кроме того, работать с такими командами через меню не очень удобно.

Команда Expression Input открывает подменю с рядом команд, задающих вид ячеек. Если надо представлять и редактировать ячейки ввода как двумерные объекты, то следует использовать команду Make 2D. Практика, однако, показывает, что гораздо проще вводить содержимое ячеек в обычном текстовом формате, чем в двумерном. В этот формат легко перейти средствами изменения формата ячейки.



Меню File


Для работы с файлами служит меню File (рис. 2.4).

Рис. 2.4. Меню File

В этом меню содержатся следующие команды:

New (Ctrl+N) — вывод окна нового документа; Open (Ctrl+0) — загрузка существующего документа; Close (Ctrl+F4) — закрытие текущего окна; Save (Ctrl+S) — запись документа с текущим именем; Save As (Shift+Ctrl+S) — запись документа с изменением имени; Save As Special — запись в специальных форматах; Open Special — открытие файлов в специальных форматах; Import — вставка содержимого файла в ячейку текущего документа; Send To — зарезервированная команда; Send Selection — зарезервированная команда; Palettes — вывод палитр математических спецзнаков, операторов и функций (см. выше раздел «Палитры математических операторов и функций»); Notebook — вывод списка документов, которые загружались ранее; Generate Palette from Selection — преобразует выделенные ячейки документа в палитру; Generate Notebook from Palette — преобразует палитру в документ; Printing Settings — установка параметров печати; Print (Ctrl+P) — печать текущего документа; Print Selection — печать выделенных ячеек; Exit (Alt+F4) — завершение работы с системой.

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



Меню Find


Меню Find содержит команды поиска и замены фрагментов текстов и выражений (рис. 2.40).

Эти операции характерны для любого текстового процессора, например Microsoft Word 95/97, и знакомы даже начинающим пользователям. Поэтому ограничимся их кратким описанием.

Рис. 2.40. Меню Find



Меню Input


Меню Input (рис. 2.28) содержит целый ряд описанных ниже команд ввода. Следует отметить, что для некоторых из этих команд более принятым является термин Insert (вставка).

Рис. 2.28. Меню Input и его подменю Create Button

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

Ввод координат двумерных графиков

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

Для получения координат нужно прежде всего выделить двумерный график. Затем следует нажать и удерживать клавишу Ctrl и поместить курсор мыши вблизи нужной точки графика. При этом в левой части строки состояния появятся координаты точки. Можно повторить определение координат для ряда точек. Затем следует воспользоваться командой Сору для переноса координат точек в буфер, а затем, исполнив команду Paste, можно перенести список с координатами точек в текущую строку ввода. Это удобно делать, используя команды контекстно-зависимого меню, вызываемого правой кнопкой мыши. К примеру, координаты трех точек графика в строке ввода могут выглядеть так:

{{3.04804, 0.0165875}, {-8.21841, 0.73632},

{9.39226, 0.0165875}}

Этот способ не очень удобен, но зато позволяет получать списки координат ряда точек графика.

Выбор точки обзора трехмерных графиков

Команда 3D View Point Selector (Shift+Ctrl+V) служит для вывода селектора точки обзора трехмерных графиков (рис. 2.29).
Это следует делать при наличии в документе трехмерного графика.

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

Close Dialog — завершение диалога; Cancel — прекращение работы; Paste — перенос параметров точки обзора в окно документа; Defaults - возврат к принятым по умолчанию значениям параметров вращения и перспективы; Help — вызов справки.



Рис. 2.29. Трехмерный график (справа) и селектор точки обзора (слева)

Действие всех кнопок вполне очевидно. Поэтому остановимся на главном - нажатие кнопки Paste создает строку с опцией Viewpoint [ {х, у, z} ], которая вставляется в текущий документ в месте расположения текстового курсора В нашем случае текстовый курсор надо расположить в строке функции Show [gl g2 ] после запятой, установленной вслед за g2. Если теперь исполнить модифицированную функцию Show, то рисунок будет перестроен (рис. 2.30).

Подобное средство введено и в новую версию системы Mathematica 4 -оно реализуется пакетом расширения RealTime3D. Мы его уже рассматривали. Вращение SD-объектов мышью - очень удобное средство. Оно позволяет в считанные секунды найти наиболее удачное положение фигуры или ряда фигур в пространстве, при котором их особенности видны наиболее отчетливо.

Разумеется, такая процедура поворота фигуры в пространстве не очень удобна При очередном повороте надо будет отредактировать строку с функцией Show!

убрав из нее старую запись опции Viewpoint и вставив новую запись. Между тем, в ряде систем компьютерной математики (например в Maple V R5 и Mathcad 8) уже давно появилось новое мощное средство редактирования изображений ЗD-объектов — их вращение мышью в реальном масштабе времени.



Рис. 2.30. Пример разворота трехмерной фигуры



Изменение цветовой гаммы

Команда Color Selector выводит стандартное окно изменения цветовой гаммы, используемой при функциональной окраске графиков (рис. 2.31). Это типовое окно системы Windows 95/98. С его помощью можно создать дополнительные цвета и изменить гамму цветов линий рисунков и заливки.

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



Рис. 2.31. Окно селектора цветов





Обнаружение и открытие выделенных строк


Следующие три команды меню Find служат для работы с выделенными строками:

Open Selected — открытие групп, содержащих выделенные строки; Scroll to Selection — прокрутка документа до выделенной строки; Go Back — возврат назад после использования гиперссылки.

Их действие также очевидно.



Операции форматирования ячеек


Mathematica обладает обширными возможностями форматирования ячеек ввода и вывода. К этим возможностям относятся изменение размеров и цвета символов, выбор шрифтов, задание цвета фона и т. д.

Команды меню Format

Средства форматирования сосредоточены в меню Format (рис. 2.24).

Рис. 2.24. Меню Format и его подменю Style

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

Изменение стиля документов

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

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

Рис. 2.25. Ячейки ввода, отформатированные разными стилями

Следующие две команды меню Format — это ScreenStyleEnvironment и PrintStyle-Environment Данные подменю служат для изменения текущего формата ячеек документа при его наблюдении на экране дисплея и при печати. Возможны следующие установки:

Working — рабочий стиль (типичный); Presentation — презентационный (увеличенные размеры символов); Condensed — сжатый (уменьшенный размер символов); Ptintout — принтерный (оптимальный для печати).

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


Опции стилей и программ и их изменение

Команда- ShowExpression служит для управления показом выражений в стандартном и развернутом видах. Например, введем и исполним простое выражение при отключенном режиме ShowExpression:

2*Log[3]/Exp[5]

2Log[3]/Е5

Здесь вид ячеек стандартный. А теперь, выделив эти ячейки и исполнив команду ShowExpression (Shift+Ctrl+E), получим представление в развернутом формате:

Cell["2*Log[3]/Exp[5]", "Input",

CellLabel->"In[53]:="]

Cell[BoxData[

FractionBox[

RowBox["2", " ",

RowBox["Log", "[", "3", "]"]],

SuperscriptBox["E", "5"]]], "Output",

CellLabel->"Out[53]="]

Такой формат является внутренним в том смысле, что он характерен для внутреннего представления вывода на экран дисплея, принятого в языке программирования системы Mathematica. Словом, это типичная программа для вывода указанных выражений. Чем сложнее выражение, тем длиннее и непонятнее для непосвященных выглядит его развернутое представление во внутреннем формате.

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

Имя_0пции->3начение_0пции

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

Поспешим успокоить рядового пользователя системы Mathematica — опции задаются по умолчанию настолько удачно, что можно вообще не вспоминать о них, работая с системой без программирования. Тем не менее, система позволяет контролировать и изменять опции, используемые в программах. Для этого служит специальный инспектор опций, запускаемый командой меню Format -> Option Inspector (Shift+Ctrl+0).


Эта команда выводит окно инспектора опций (рис. 2.26).

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



Рис. 2.26. Окно инспектора опций

Команда Remove Options убирает все опции, введенные пользователем, и восстанавливает исходное состояние системы — то, с которым и целесообразно работать в большинстве случаев.

Утонченное управление стилем документов

Целый ряд последующих команд служит для утонченного управления стилем документов:

Style Sheet — выбор готовых описаний стилей документа из обширного стандартного набора; Edit Style Sheet — редактирование набора описаний стилей; Font — установка типа шрифта; Face — установка начертания символов (наклонное, полужирное, подчеркнутое); Size — установка размера символов; Text Color — установка цвета текста; Background Color — установка цвета фона; Chooze Font — вывод диалогового окна для задания сразу всех атрибутов шрифта; Text Alignment — установка типа выравнивания текста (по правому краю, по левому краю, по центру); TextJustification — установка выравнивания текста по ширине; Word Wrapping — установка разбивки текста на строки; Cell Dingbat — выбор маркеров ячеек из обширного списка (маркеры сохраняются при отключении номеров строк); Horizontal Lines — установка типа горизонтальной линии сверху или снизу ячейки. Каждая из этих команд выводит подменю с обширным списком установок для выбора соответствующего параметра. Поскольку эти параметры достаточно очевидны, мы не будем их обсуждать более подробно.

Управление элементами окна документа

В новых версиях Mathematica 3/4 управление окном документа также производится с помощью меню Format.


Для этого имеются четыре команды:

Show Ruler — отображение мерной линейки; Show ToolBar — вывод на экран панели инструментов; Show Page Breaks — показ линий разрыва страниц; Magnitification — установка (в процентах) масштаба отображения документа. Все эти команды влияют на вид окна документа. На рис. 2.27 показан вид окна документа с мерной линейкой и панелью инструментов при задании масштаба отображения 200 % вместо обычных 100 %.



Рис. 2.27. Окно документа с линейкой и панелью инструментов при масштабе отображения 200 %

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



Операции поиска и замены



Операции поиска и замены относятся к типовым операциям редактирования документов. Они, наряду с другими родственными операциями, собраны в меню Find. В этом небольшом разделе мы познакомимся с командами и операциями этого меню.



Операции с буфером обмена


Как известно, операционные системы класса Windows имеют так называемый буфер обмена — в дальнейшем просто «буфер». Это специально организованная динамическая область памяти, в которую можно помещать информацию различного формата — например, текстовую или графическую. Буфер используется как для редактирования, так и для обмена информацией между различными приложениями. Буфер обладает определенным «интеллектом» и «понимает», какая именно информация (например, текстовая или графическая) в него помещается.

Команда Nut удаляет выделенную ячейку и помещает ее содержимое в буфер. Команда Сору делает то же самое, что и Cut, но без удаления выделенной ячейки. Команда Paste копирует содержимое буфера в место вставки, определяемое положением текстового курсора. При этом содержимое буфера сохраняется. Команда Paste and Discard, расположенная в подменю Paste As, переносит содержимое буфера на место, определяемое положением курсора, но при этом сам буфер очищается. Таким образом, в этом случае возможна только одна операция переноса. Ее применение разумно при перемещении больших объемов информации, поскольку позволяет сразу же высвободить память, занимаемую буфером. Команда Clear уничтожает выделенную ячейку без ее сохранения в буфере.

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

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


Существование многих форматов для ячеек разного типа нередко препятствует организации корректного обмена данными между системой Mathematica и другими программными средствами и приложениями. В этом случае можно рекомендовать попробовать осуществить обмен, явно выбрав подходящий формат данных, благо выбор форматов в системе довольно обширный. Скопировать или вставить данные в заданном формате можно с помощью команд, собранных в подменю Edit -> Copy As и Edit -> Paste As.



Операции с файлами в специальных форматах


Mathematica может записывать и считывать файлы, представленные в ряде специальных форматов. С помощью команды Save As Special можно записывать файлы в следующих форматах:

Version 2 Notebook — формат блокнотов старой версии системы (.mа); Text — текстовый формат (.txt); Cell Expression — формат ячеек; Notebook Expression — формат выражений в блокнотах; Package Format —формат пакетов расширения (.m);, ТеХ — формат редакторов семейства ТеХ (.tex); HTML — формат гипертекстовой разметки (.htm).

Из специальных форматов файлов следует особо выделить два — ТеХ и HTML. Формат ТеХ используется весьма популярными у математиков редакторами математических текстов, насыщенных математическими знаками и формулами. Фактически, ТеХ представляет собой особый язык программирования, предназначенный для разметки математических выражений. Возможность работы систем Mathematica с данным форматом позволяет публиковать подготовленные в системах Mathematica документы в изданиях, ориентированных на математиков.

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

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



Основные понятия о документах и их стилях


Вообще говоря, системы Mathematica 3/4 работают с «блокнотами» (Notebooks), которые могут содержать множество ячеек различного типа. Однако слово «блокнот» при частом его употреблении действует на нервы российскому читателю — в частности, так у нас уже привыкли называть миниатюрные компьютеры. Название «записная книжка» тоже не очень удачно, хотя бы из-за того, что содержит два слова. Поэтому мы будем пользоваться более распространенным понятием документа.

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

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

Для редактирования содержимого ячеек документов в них вводится текстовый курсор. Для этого курсор мыши устанавливается в нужное место ячейки и нажимается левая кнопка мыши — в этом месте и появляется текстовый курсор. Для редактирования используется обычный строчный редактор, который хорошо знаком даже начинающим пользователям, — именно с его помощью вводятся команды MS-DOS. В силу этого не будем описывать возможности этого редактора подробно. Напомним лишь, что они предусматривают перемещение маркера ввода, забой (удаление) символа слева (клавиша Backspace) или справа (клавиша Del) от курсора, установку режима вставки (клавиша Ins) и т. д.

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

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



Основные виды файлов и пакеты расширения


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

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

В версиях Mathematica 3/4 основным типом документов стали блокноты (notebooks). Им соответствуют файлы текстового формата с расширением .nb. Эти файлы могут редактироваться любым текстовым редактором, поддерживающим формат ASCII. Файлы содержат подробное описание документа с указаниями типов шрифтов, деталей оформления и местоположения различных объектов. Они завершаются довольно пространным описанием того, что собой представляет notebook. К сожалению, это ведет к значительному росту объема таких файлов — он значительно больше, чем у документов систем Mathcad. Зато файлы блокнотов весьма наглядны, и при необходимости в них может разобраться обычный пользователь.

Кроме того, система имеет ряд стандартных пакетов расширения (в оригинале — Add-Ons), расположенных в каталоге ADDONS:

Algebra — работа с полиномами, алгебраическими неравенствами, Гамильтоно-вой алгеброй и т. д. Calculus — символьные вычисления производных, интегралов и пределов функций, прямое и обратное преобразования Фурье и Лапласа, решение систем нелинейных уравнений, реализация инвариантных методов, решение дифференциальных уравнений в частных производных, нахождение полных интегралов и дифференциальных инвариантов нелинейных уравнений, аппроксимация Паде, вычисление эллиптических интегралов и работах векторами. DiscreteMath — вычисления из области дискретной математики, комбинаторики, вычислительной геометрии и теории графов, решение рекуррентных и разностных уравнений, операции с целыми числами и т.
д. Geometry — функции для выполнения геометрических расчетов, создания правильных прямоугольников и многогранников, вращения геометрических фигур в плоскости и в пространстве. Graphics — построение графиков специального вида, геометрических фигур и поверхностей, графиков параметрически и неявно заданных функций, представления функций комплексного переменного, отображение ортогональных проекций трехмерных фигур, имитация теней, средства оформления графиков. LinearAlgebra — решение задач линейной алгебры, дополнительные векторные и матричные операции, задание ортогональных векторных базисов и т. д. Miscellaneuos — задание единиц измерения физических величин, данные о химических элементах, физические константы, географические данные и все прочее, не вошедшее в другие категории. NumberTheory — функции теории чисел. NumericalMath — реализация важнейших численных методов, аппроксимация данных и аналитических функций полиномами, сплайнами и тригонометрическими рядами, численное интегрирование и дифференцирование, решение дифференциальных уравнений, вычисление корней нелинейных уравнений, нахождение вычетов и разложений в комплексной плоскости и т. д. . Statistics — статистические функции для непрерывных и дискретных распределений, реализация линейной и нелинейной регрессии, вычисление параметров ряда распределений (особенно нормального), функции сглаживания и подгонки данных и т. д. Utilities — дополнительные утилиты для работы с бинарными файлами и памятью компьютера, поддержки языков, работы с системами класса AutoCAD и т.д. Пакеты расширения содержат множество (полторы сотни) библиотечных файлов с расширениями .m, в каждом из которых определен ряд новых функций системы. Число функций в одном пакете расширений лежит в пределах от нескольких функций до нескольких десятков, а общее число дополнительных функций и их вариантов достигает тысячи. С их помощью можно реализовывать новые алгоритмы решения математических задач и постоянно расширять возможности системы.Все библиотечные файлы подробно прокомментированы, что облегчает их использование пользователями, владеющими английским языком.

В версии Mathematica 4 число файлов в пакетах расширения несколько сокращено по сравнению с версией Mathematica 3. Часть таких файлов вообще являются «пустышками» — они оставлены ради сохранения полной совместимости с предшествующими версиями системы. Перенос части имеющихся в пакетах расширений функций и команд в тщательно оптимизированное ядро системы позволил существенно повысить скорость выполнения соответствующих операций.

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



в целом повторяет интерфейс третьей



Интерфейс системы Mathematica 4 в целом повторяет интерфейс третьей версии, кратко описанный выше. Однако ряд внешне незаметных, но существенных новинок все же введен:

улучшена плавная прокрутка больших документов; введен экспорт табличных данных; улучшены возможности создания документов в стиле Notebook; добавлена панель ввода шаблонов ЗD-фигур; расширена поддержка преобразований файлов в формат HTML; введена дополнительная команда для вывода в формате ТеХ; обеспечена поддержка дополнительных наборов символов, включая символы китайского и корейского языков; переработаны редакторы программ с цветной раскраской листингов; улучшены средства отладки программ; улучшена связь программных модулей. Средства Mathematica 4 позволяют готовить документы в стиле Notebook на самом высоком полиграфическом уровне воспроизведения текстов, математических формул и графиков. Общий вид одного из таких документов, содержащего рисунок с высоким разрешением, представлен на рис. 2.3.



Рис. 2.3. Вид документа системы Mathematica 4 со встроенным рисунком

Размеры блокнота практически не ограничены, и он может быть распечатан во всей красе с помощью цветного струйного или лазерного принтера.

В новых версиях Mathematica появилась возможность подготовки документов в виде, непосредственно пригодном для их отправки по сети Интернет. Для этого потребовалось создание специальных средств для неискаженной передачи математических выражений (формул). В результате фирмой Wolfram был создан специальный стандарт MathML, позволяющий устанавливать документы системы Mathematica 4 на W3C Web-узлах. В настоящее время этот стандарт поддержан многими ведущими компьютерными компаниями. По существу, он является расширением языка гипертекстовых ссылок HTML.



Открытие окна нового документа — команда New


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



Открытие справочной базы данных


Справочная база данных управляется командами, расположенными в меню Help (Справка).

Справочная система Mathematica, начиная с версии 3, переработана кардинально и построена в виде броузера справки. Его можно вызвать с помощью команды Help Browser (Shift+Fl). Почти аналогично действует команда Find Selection Function (F1), которая служит для поиска заданной функции.

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

Рис. 2.48. Окно броузера справочной системы

В окне броузера справочной системы можно (активизацией соответствующей кнопки) выбрать следующие разделы справок:

Built-in Functions — встроенные функции; Add-ons — пакеты расширений; The Mathematica Book — электронная версия книги «The Mathematica Book», написанной разработчиком системы Стивеном Вольфрамом; Getting Started/Demos — руководство для начинающих и примеры; Other Information — другая информация; Master Index — справка по индексу (алфавитный указатель).

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

Рис. 2.49. Пример замены примера в ячейке 1п[1] и его вычисления



Палитры математических операторов и функций



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

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

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

Рис. 2.1. Инструментальные палитры системы Mathematica 4

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

Рисунок 2.1, однако, наглядно показывает, что целесообразно пользоваться не более чем 2-3 панелями одновременно. Для удаления ненужных панелей в правом верхнем углу каждой из них расположены маленькие кнопки со знаком х. Все панели максимально компактны и могут перетаскиваться мышью в наиболее удобное место экрана.

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

Если завершить работу с системой Mathematica при выведенных панелях математических знаков, то в следующем сеансе работы эти панели появятся на тех местах, где они были расположены перед выходом. Таким образом, интерфейс систем Mathematica 3/4 обладает своеобразной памятью.

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


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

Рис. 2.10. Окно печати

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

Для начала печати надо нажать кнопку ОК, кнопка Отмена позволяет отменить печать, а кнопка Справка — вывести справку о печати. При печати документа появляется (иногда кратковременно) окно принтера, демонстрирующее процесс печати. Это окно показано на рис. 2.11.

Рис. 2.11. Процесс печати

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

Нажатие кнопки Свойства в окне (рис. 2.10) выводит окно настройки принтера. Вид этого окна зависит от применяемого для печати принтера и установленного для него драйвера. В связи с этим работа с данным окном подробно не рассматривается.

Команда Print Selection служит для печати набора выделенных ячеек. Обычно она также выводит окно печати, показанное на рис. 2.10. В этом окне, как отмечалось, можно выбрать нужный принтер из нескольких, если их драйверы были инсталлированы.



Подготовка текстовых комментариев


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

Тестовые комментарии вводятся прямо в текущую строку ввода с использованием стандартных приемов строчного редактирования. Однако не следует завершать ввод нажатием комбинации клавиш Shift+Enter, так как это приведет к выводу комментария в строку вывода с возможными сообщениями об ошибках (рис. 2.14). Они обусловлены тем, что в текстовых комментариях обычно не придерживаются синтаксиса входного языка системы Mathematica, что и чревато появлением ошибок.

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

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

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

Рис. 2.14. Примеры ввода текстовых комментариев

Далее можно выбрать тип оформления ячейки. Для установки стиля ячеек используется ряд команд, которые собраны в меню Format | Style. Эти команды более подробно будут рассмотрены далее. Пока же отметим, что обычные текстовые комментарии рекомендуется отформатировать стилем Text или SmallText (в этом случае ячейки ввода имеют статус текстовых ячеек, не дающих вывод).

К важной операции редактирования ячеек с текстами комментариев относится выравнивание текстов в пределах строки ввода. Для оперативного осуществления этой операции целесообразно вывести панель инструментов (ToolBar) и мерную линейку (Ruler). Соответствующие команды (Show ToolBar и Show Ruler) находятся в меню Format. На рис. 2.15 представлено окно документа с панелью инструментов, линейкой и примерами форматирования строки ввода с текстовыми комментариями. Для быстрого форматирования используются четыре кнопки с изображением соответствующего отформатированного текста.

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

Рис. 2.15. Различные типы выравнивания текстовых надписей

 



Понятие о документах в форме notebooks



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

Нетрудно заметить, что вычисления в оболочке системы проходят так же, как при вычислениях на обычном калькуляторе. Однако прежде чем получить результат первого вычисления, даже столь простого, как вычисление 2 + 3, вам придется запастись терпением и дождаться, когда система загрузит свое ядро.

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

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

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

Чтобы документ имел форму «блокнота», надо предпринять определенные операции по форматированию документа и приданию ему нужного вида.
Прежде всего, каждый шаг вычислений следует снабжать поясняющими надписями. Их можно прямо вводить в строки ввода, но затем отформатировать с использованием текстового формата подходящего стиля. Для этого выделяется строка ввода с текстовой надписью (щелчком на скобке соответствующей ячейки). Пространство внутри скобки при этом затеняется (делается черным). Затем выполняется команда меню Format | Style | Text (Alt+7). Она задает текстовый формат надписи, который является неисполняемым.

С помощью других команд меню Format, которые мы рассмотрим в дальнейшем, можно задать надпись разным шрифтом, разным цветом с выделением фона и т. д. Как уже отмечалось, для ввода математического выражения по шаблону и для представления его в естественной математической форме используется стандартный формат ячеек ввода (StandardForm). Рисунок 2.2 показывает созданный таким образом простой «блокнот», в котором наряду с поясняющими текстовыми надписями заданы вычисление определенного интеграла, вычисление суммы квадратов чисел от 1 до и и построение графика с помощью графической функции Plot.



Рис. 2.2. Простейший документ в форме «блокнота»

В «блокнотах» желательно, чтобы форма представления математических выражений хотя бы напоминала общепринятую. В этом отношении документы системы Mathematica 3/4 все еще уступают документам систем Mathcad для Windows — последние содержат записи математических выражений (включающих знаки интегралов, сумм, произведений, греческие буквы и прочие спецзнаки) в их обычном начертании. Более того, формулы, текстовые комментарии и графики могут располагаться как угодно — например, вдоль строки могут располагаться формулы, графики и таблицы вывода. Зато Mathematica 3/4 позволяет задавать формы представления документов, принятые в таких мощных языках программирования, как Fortran, С и даже ТеХ (язык для программирования типографского набора сложных научных текстов).

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


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

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

Честь и хвала разработчикам Mathcad, обошедшим эту проблему и создавшим интерфейс, способный готовить документы с произвольным расположением блоков. Однако об оборотной стороне медали — перекрытии блоков при увеличении их размеров — забывать в данном случае не стоит.



Понятие о ячейках документов


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

К примеру, ячейки, содержащие текстовые надписи-комментарии, не оцениваются и не меняются в ходе пересчета документа. Ячейки ввода, напротив, оцениваются, их содержимое меняется, и они порождают ячейки вывода с разным содержимым — например, ячейка, выражение которой содержит функцию f [х], будет меняться в соответствии с изменением f [ х ]. Ячейки могут быть заблокированными от модификации, разблокированными и т. д. Итак, статус ячеек постоянно проверяется с помощью операции оценивания в ходе пересчета документа.

Статус ячеек можно распознать и без пересчета документа по ряду характерных признаков. Один из них — вид курсора мыши при его размещении в области ячеек — был описан выше. Другой признак — малозаметный опознавательный знак в верхней части квадратной скобки, обрамляющей ячейку. Отсутствие знака означает, что это обычная ячейка ввода. Знак «-» (короткая горизонтальная черточка) отмечает ячейку вывода со статусом Inactive. Заблокированная (закрытая) ячейка {Locked) помечается знаком «х», а инициализационная ячейка (Initialization) — знаком «т». Кроме того, меняющие свое содержимое ячейки отмечаются маленьким треугольником. О типе ячейки можно также судить по ее стилю, в частности по шрифту используемых в ней символов.

Для получения информации о стиле ячейки нужно поместить в нее текстовый курсор. Текущий стиль будет показан в списке стилей, имеющемся на панели форматирования (команда вывода этой панели на экран, как уже говорилось; расположена в меню Format). Для смены стиля ячейки просто выберите нужный вариант в списке. Это можно сделать и с помощью команд меню Format | Style.



Преобразование документов в палитры и наоборот


Любую часть документа после выделения можно преобразовать в палитру. Для этого используется команда Generate Palette from Selection.

Палитра — это уменьшенное окно, похожее на окно документа, но имеющее в строке заголовка только имя и кнопку закрытия (у обычного окна кнопок в строке заголовка три). Палитру, как и документ, можно записывать на магнитные диски. Для преобразования палитры в документ используется команда Generate Notebook from Palette.



Просмотр другой информации


Раздел Other Information (Другая информация) посвящен различным сведениям об интерфейсе системы Mathematica и данным по связи с ее разработчиком — фирмой Wolfram Research. На рис. 2.53 показана одна из страниц этого раздела, посвященная правилам ввода показателей степени.

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



Работа с алфавитным указателем


Последний раздел справочной системы — алфавитный (или индексный) указатель Master Index. Если вы знаете, какую команду или функцию ищете, то достаточно указать ее в поле у кнопки Go То (Перейти к...) и нажать эту кнопку. Можно также воспользоваться системой поиска по начальным буквам искомого слова (рис. 2.54).

Риc. 2.53. Одна из страниц раздела Other Information справочной системы

Рис. 2.54. Пример работы с алфавитным указателем

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



Работа с файлами



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



Работа с графическими и звуковыми возможностями


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

Например, графическая функция

Plot[f[х],{х,xmin,xmax}]

строит, график произвольной математической функции f [ х ] одной переменной х при ее изменении от минимального значения xmin до максимального хтах.

Другая графическая функция,

Plot3D[f[x,y] , { {х, xmin, хтах}, {у, ymin, углах} } ]

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

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

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

В меню Cell можно найти ряд команд, относящихся только к ячейкам вывода с графическими и звуковыми объектами (см. рис. 2.19) — ранее, в версиях ниже Mathematica 3.0, они были расположены в меню Graph.

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

Рис. 2.23. Окно документа с проигрывателем анимационных рисунков

Демонстрация на уроках математики или физики демонстрационных анимационных картинок в среде Mathematica 3/4 производит не изгладимое впечатление. Однако при их описании в обычных книгах эффект от созерцания таких картинок исчезает, поскольку анимация при этом невозможна. Тем не менее, показ отдельных фаз анимации позволяет улучшить восприятие материала и в данном случае.

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



Работа с электронной книгой


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

Рис. 2.52. Раздел электронной книги со списком определенных интегралов

С первого взгляда трудно уловить отличие электронной книги «The Mathematica Book» («Математическая книга») от справки по пакетам расширения системы. Однако эти различия есть и заключаются в следующем:

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

Галерея формул (Formula Gallery), показанная на рис. 2.52, представляет собой весьма полное собрание математических формул. Любую формулу можно выделить и поместить в буфер обмена для использования в документах. Таким образом, электронная книга в состоянии заменить обычный математический справочник. Приходится еще раз сожалеть, что как и вся справочная база данных, электронная книга написана на английском языке.

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

Электронная книга системы Mathematica являет собой наглядный пример развития электронных книг. Они характеризуются рядом новых качеств:

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

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



Работа с электронным учебником


Для демонстрации возможностей системы служит электронный учебник Getting Started/Demos. На рис. 2.50 показан пример работы с ним — иллюстрируется построение документов в формате Notebook.

Электронный учебник содержит множество полезных применений системы Mathematica 4. Однако в целом он рассчитан на начальный уровень знакомства с системой. Учебник представляет материал по контексту.

Рис. 2.50. Пример работы с электронным учебником



Работа с этикетками


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

Признаком наличия у данного документа этикеток является их список, который появляется в подменю Cell Tags (Ячейки с этикетками) меню Find. Например, документ, представленный на рис. 2.42, имеет целый набор этикеток.

Рис. 2.42. Выбор этикетки

Если выбрать имя этикетки (например Euler), будут выделены все ячейки, помеченные данной этикеткой.

Команда Add/Remove Cell Tags (Ctrl+J) позволяет вставить этикетку в строку ввода, в которой ее нет, или удалить этикетку из строки, где она есть. Эта команда вызывает появление окна редактирования этикеток, показанного на рис. 2.43. Работа с этим окном вполне очевидна — кнопка Add добавляет этикетку, а кнопка Remove удаляет ее. Команда Cell Tags from In/Out Names позволяет создать для текущей ячейки этикетку на основе номера ячейки.

Последняя команда меню Find — Make Index — помещает в буфер все этикетки текущего документа. Перед этим она выводит окно, в котором можно указать признаки этикеток. Нажатие кнопки ОК помещает список этикеток в буфер, откуда его можно извлечь с помощью команды Paste. Рисунок 2.44 показывает окно команды Make Index и созданный список этикеток под ним.

Рис. 2.43. Окно редактирования этикеток

Рис. 2.44. Окно подготовки списка этикеток и результат вставки списка этикеток из буфера



Работа с окнами и справкой



Как и большинство приложений Windows, Mathematica 3/4 является многооконной системой. Поэтому важно с самого начала работы с ней научиться управлять окнами системы. Система может работать с многими окнами документов, окнами интерфейса и справочной системы. Как это делается, описано в этом небольшом разделе.



Работа с примерами


Практически по каждой функции приведен ряд примеров, которые открываются при активизации гиперссылки в виде треугольника с надписью Further Examples (вначале примеры скрыты). Примеры являются «живыми» в том смысле, что, не выходя из справочной системы, можно перенабрать содержимое любой ячейки ввода и тут же, вычислив ячейку, получить новый результат. К примеру, на рис. 2.49 показано, как список синусов, заданный ранее (см. рис. 2.48) строкой ввода In , заменен на построение графика функции Sin [х] (а строка ввода получила номер In ).

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



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



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



Справка по пакетам расширения


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

Доступ к ним возможен объявлением соответствующего пакета. На рис. 2.51 показан раздел справки по применению одного из таких пакетов для прямого и обратного преобразований Фурье.

Рис. 2.51. Пример справки по преобразованию Фурье

Доступ к справке по пакетам расширения обеспечивается разделом Add-ons справочной системы. Фактически, справка повторяет материал книги от соответствующей версии системы [31,32].

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



Справочная база данных


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

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

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

В то же время, если вы уже сидите за компьютером, то пользоваться книгами не очень удобно. Куда проще тут же найти нужные сведения во встроенной в Mathematica справочной системе. К тому же, в отличие от книг, она содержит «живые» примеры, которые можно быстро приспособить к своим нуждам.

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



Строка меню и окно редактирования документов



До сих пор разработчики пользовательского интерфейса математических систем по существу копировали стандартный интерфейс программ из комплекса Microsoft Office 95/97, в частности, самого популярного текстового процессора Word 95/97. Разработчики интерфейса пользователя систем Mathematica 3/4 отошли от этой традиции.

Нетрудно заметить, что пользовательский интерфейс систем Mathematica 3/4 реализует отдельный вывод своих элементов — окон (включая основное окно редактирования), панелей, палитр знаков и т. д. Это позволяет располагать их в любых местах экрана, что особенно удобно при работе с дисплеями, имеющими большой размер изображения — от 17 дюймов по диагонали и выше. При работе с дисплеями, имеющими небольшой экран (14 или 15 дюймов) и стандартном разрешении 640x480 пикселей раздельный вывод элементов интерфейса скорее неудобен, поскольку приходится тщательно располагать их в нужных местах и индивидуально подстраивать размеры отдельных окон и палитр. Однако после настройки элементы интерфейса выводятся в том виде, как это было задано.

Главное окно системы имеет крайне невзрачный вид, поскольку не содержит ничего, кроме строки заголовка и строки меню.

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

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

Главное меню системы (см. рис. 1.20, сверху) содержит следующие позиции:

File — работа с файлами: создание нового файла, выбор файла из каталога, закрытие файла, запись текущего файла, запись файла с изменением имени, печать документа и завершение работы; Edit — основные операции редактирования (отмена операции, копирование выделенных участков документа в буфер с их удалением и без удаления, перенос выделенных участков, их стирание); Cell — работа с ячейками (объединение и разъединение ячеек, установка статуса ячейки, открытие и закрытие); Format — управление форматом документов; Input — задание элементов ввода (графиков, матриц, гиперссылок и т.
д.); Kernel — управление ядром системы; Find — поиск заданных данных; Window — операции с окнами и их расположением; Help — управление справочной системой. Часть команд может быть в данный момент невыполнима — например, нельзя вычислить значение выражения, если его самого нет в окне редактирования или если ячейка с ним не выделена. Названия таких команд выделяются характерным серым расплывчатым шрифтом. Четкий шрифт, напротив, характерен для тех команд, которые в данный момент могут исполняться. Управление главным меню самое обычное.



Удаление всех ячеек вывода


Иногда желательно удалить все ячейки вывода, например для того, чтобы при объединении в группы они не превратились в элементы ячеек ввода. Для удаления всех ячеек вывода служит команда Delete All Output. Выбор этой команды приводит к удалению из текущего документа всех ячеек вывода.

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



Управление показом номеров ячеек


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

Поэтому предусмотрена команда-переключатель Show In/Out Names. Она управляет показом или скрытием номеров строк. Если напротив этой команды в меню стоит галочка, то номера строк будут показаны в виде In [n] и Out [n]. При отсутствии галочки номера строк и слова In и Out не отображаются.

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



Управление показом окон


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

Stack Windows — каскадное расположение окон; Tile Windows Wide — расположение мозаикой по высоте; The Windows Tall — расположение мозаикой по ширине; Messages — управление выводом окна сообщений об ошибках.

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



Управление процессом вычислений


Основные команды управления процессом вычислений сосредоточены в подменю Evalution меню Kernel:

Evaluate Cells (Shift+Enter) — вычисление выделенных ячеек; Evaluate in Place (Shift+Ctrl+Enter) — вычисление выделенного выражения «на месте»; Evaluate Next Input (Shift+Enter на цифровом поле клавиатуры) — вычисление следующей строки ввода; Evaluate in Subsession — вычисление выделенных ячеек в параллельном интерактивном сеансе работы с ядром; Evaluate Notebook — вычисление всех ячеек документа; Evaluate Initialization — вычисление инициализационных ячеек; Enter Subsection — запуск диалогового сеанса работы с ядром; Exit Subsection — завершение диалогового сеанса работы с ядром.

Рис. 2.39. Меню Kernel и его подменю Evaluation

Данная группа команд управляет вычислением ячеек. Перед вычислением каждая ячейка оценивается по своим признакам. Команда Evaluate Cells оценивает все выделенные ячейки, вызывает их вычисление и помещает результат вычисления каждой ячейки сразу после нее. Это одна из наиболее распространенных команд. Следует помнить, что, казалось бы, естественное нажатие клавиши Enter вызывает лишь переход на новую строку, а не вычисление выделенных ячеек ввода. При управлении с клавиатуры вычисление выделенных ячеек происходит при одновременном нажатии клавиш Shift и Enter.

Особое внимание надо обратить на команду Evaluate in Place. Допустим, вы ввели в ячейку ввода, выражение

(2+3)/7

Выделите мышью выражение (2+3). Теперь, исполнив команду Evaluate in Place нажатием клавиш Ctrl+Shift+Enter, мы получим в строке ввода следующее:

5/7

Таким образом, выражение (2 + 3) было вычислено прямо в строке ввода, и на его месте появился результат — 5. Если теперь исполнить команду Evaluate Cells, то появится строка вывода с результатом:

5/7

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

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

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

Команда Evaluate Initialization вычисляет все ячейки, помеченные как инициали-зационные, то есть имеющие символ «т» над квадратной скобкой, обрамляющей ячейку. О задании такого признака говорилось ранее в разделе «Манипуляции с ячейками». Ячейки с указанным признаком выполняются этой командой без их выделения.

Следующие две команды меню Kernel управляют процессом текущих вычислений:

Interrupt (Alt+,) — прерывание вычислений; Abort (Alt+.) — полное прекращение вычислений. Их действие вполне очевидно. Команда Interrupt служит для прерывания текущих вычислений. Эта команда при исполнении задает запрос о том, каким образом вы хотите прервать вычисления и сколько шагов вычислений надо еще сделать. Разумеется, можно и отменить прерывание. Команда Abort вызывает полное прекращение вычислений, так что их можно возобновить лишь с самого начала. Вместо результата выдается сообщение $Abort.

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

Используйте команды Interrupt и Abort, если вы загнали систему в режим «вечных вычислений» — зацикливание. Это позволит вам благополучно выйти из этого режима, сохранив текущие данные и текущую программу (документ). Иные способы прерывания вычислений чреваты потерей текущих данных и документа.



Управление работой ядра



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



Управление расположением окон


Если выбрать команду Stack Windows, то окна будут расположены каскадом (рис. 2.45).

Рис. 2.45. Каскадное расположение окон документов

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

Заметим, что, как принято в операционной системе Windows 95/98, положением и размерами окон легко управлять, используя кнопки в строке заголовка окна.

Две другие команды — Tile Windows Wide и Tile Windows Tall — обеспечивают расположение окон мозаикой. Рисунок 2.46 показывает расположение окон мозаикой по высоте после исполнения команды Tile Windows Wide.

Рис. 2.46. Расположение окон после исполнения команды Tile Windows Wide

Ha рис. 2.47 показано расположение тех же окон после исполнения команды Tile Windows Tall.

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

Каждое окно можно минимизировать с помощью команды Свернуть (Minimize) системного меню окна или левой кнопки строки заголовка окна.

Рис. 2.47. Расположение окон после исполнения команды Tile Windows Tall



Установка параметров печати — подменю Printing Settings


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

Команда Printing Settings выводит подменю с тремя операциями. Первая — Page Setup — служит для установки параметров страниц при печати. Она выводит окно, показанное на рис. 2.7. Это окно операционной системы Windows 95/98 содержит типовые установки параметров страниц — их размер, ориентацию, способ подачи бумаги и размеры полей.

Рис. 2.7. Окно установки параметров страницы при печати документа

Вторая операция — Printing Options — служит для установки типовых опций пе чати. Их устанавливают в окне, показанном на рис. 2.8.

Рис. 2.8. Окно установки опций печати

Третья операция — Headers and Footers — служит для установки верхних и нижних колонтитулов (надписей сверху и снизу на каждой печатаемой странице). Эта операция выводит окно, показанное на рис. 2.9. В нем можно задать основные параметры колонтитулов и ввести соответствующие надписи.

Поскольку документы Mathematica могут иметь самые разнообразные средства выделений и цветной раскраски, то наиболее подходящим для печати документов в настоящее время является цветной струйный принтер. Сейчас можно приобрести высококачественные принтеры такого типа по цене от $150 до $300. Лазерные принтеры стоят примерно вдвое дороже и обеспечивают высококачественную монохромную печать. О цветных лазерных принтерах можно и не упоминать — их стоимость настолько велика, что пока они доступны только крупным фирмам.

Рис. 2.9. Окно задания колонтитулов

Mathematica для Windows не имеет своей собственной системы печати и использует стандартную систему печати операционных систем Windows 3.1/3.11/95/ 98/NT. При этом окна настройки печати задаются драйверами, установленными для применяемых принтеров. К примеру, Windows 98 поддерживает сотни типов принтеров десятков фирм.
Для определенности ниже рассматриваются установки печати для широко распространенного цветного струйного принтера Epson Stylus Color 600, который при цене менее $300 обеспечивает высочайшее качество печати с разрешением до 1420 точек на дюйм при 16,7 миллионах цветовых оттенков. Этот принтер имеет два картриджа — для обычной черно-белой печати и для цветной печати (с тремя чернильницами, заполненными чернилами разных цветов).

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

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

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


Вставка гиперссылок


Гиперссылка является объектом класса ButtonBox (кнопка), связанным с некоторым другим объектом, представленным файлом — например, каким-либо документом или рисунком. При активизации гиперссылки загружается связанный с ней объект.

Гиперссылка создается следующим образом. В строке ввода готовится некоторый текст, например фраза: «Просмотр документа dl.nb». Какое-либо слово или вся фраза выделяются с помощью мыши, затем исполняется команда Create Hyperlink (Создать гиперссылку). Открывается окно, показанное на рис. 2.35 в правой части экрана.

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

Следующий этап заключается в установке связи гиперссылки с нужным файлом. Его полное имя можно прямо указать в верхнем поле над кнопкой Browse. Однако чаще всего пользователь не помнит полного имени файла. Тогда он может воспользоваться кнопкой обзора файловой системы Browse, которая выводит стандартное окно поиска файлов, показанное на рис. 2.35 слева. В этом окне надо найти нужный файл (в нашем случае это файл документа dl.nb) и нажать кнопку Открыть. Имя файла появится в поле окна Create Hyperlink, теперь для создания гиперссылки достаточно нажать кнопку ОК.

Выделенное слово (фраза) превратится в кнопку, подчеркнутую снизу чертой. Это и есть гиперссылка. Активизация гиперссылки вызовет немедленное появление документа, представленного (в нашем примере) файлом dl.nb (рис. 2.36).

Рис. 2.36. Пример использования гиперссылки

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

Создание и ввод специальных объектов

Еще одна редко используемая возможность — создание объекта, которому присвоен номер. При этом номер генерируется автоматически. Для этого служит команда Create Automatic Numbering Object. Она открывает окно, показанное на рис. 2.37.

Рис. 2.37. Окно создания объекта с автоматической нумерацией


Как видно из рис. 2.37, окно содержит переключатель, выводящий обширный перечень возможных вариантов нумерованных объектов. В дальнейшем мы не будем пользоваться объектами данного типа, так что ограничимся приведенным выше описанием и предоставим читателю самому поэкспериментировать с такими объектами. Предоставим читателю самостоятельно разобраться и с еще одной редко используемой возможностью — вставкой объектов, отображающих значения опций системы Mathematica, с помощью команды Create Value Display Object. Эта команда также выводит окно для задания свойств таких объектов.

Вставки, связанные с ячейками

Для вставки содержимого предшествующих ячеек ввода и вывода служат команды Copy Input from Above и Copy Output from Above. Поясним это примерами. Введем в ячейку ввода выражение

1+2

Нажав клавиши Shift+Enter, получим строку вывода:

3

Теперь, исполнив команду Copy Input from Above, получим в новой строке ввода:

1+2

Исполнение этой ячейки даст такой же вывод:

3

То же самое, но в строке ввода, может быть получено с помощью команды Сору Output from Above:

3

Еще одна команда — Start New Cell Below — служит для вставки новых пустых ячеек ввода между уже имеющимися. Ячейка вставляется ниже положения текстового курсора, указывающего место вставки.



Вставка имен файлов


Иногда возникает необходимость вставить в документ ссылку на имя файла, в котором хранятся какие-либо данные. Команда Get File Path предоставляет удобный способ вставить в документ имя файла вместе с полным путем к нему. При выборе команды открывается стандартное окно загрузки файлов. После выбора нужного файла и щелчка на кнопке Open полное имя файла будет вставлено в документ в месте расположения текстового курсора.



Вставка имен функций и списков их параметров


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

Первая из них работает, если вы ввели часть ключевого слова в строке ввода. Тогда исполнение команды Complete Selection (Ctrl+K) выводит список имен всех функций, которые начинаются с уже введенных символов. Рисунок 2.38 поясняет это на примере ввода слова «Plot».

Рис. 2.38. Пример исполнения команды Complete Selection

Следующая команда — Make Template — выдает список параметров функции, в имени которой установлен текстовый курсор. Например, если введено слово «Plot» и курсор стоит после него, то команда Make Template приведет к следующему изменению строки ввода:

Plot[f, {x, xmin, xmax}]

Теперь становится ясно, какие параметры имеет эта функция, и редактированием строки ввода можно ввести нужные конкретные значения этих параметров.



Ввод элементов документов



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



Ввод таблиц, матриц и палитр


Задание таблиц и матриц в системе Mathematica легко выполняется с помощью соответствующих функций. Однако команда Create Table/Matrix/Palette дает возможность сделать это и через главное меню. Она выводит окно задания таблиц, матриц и палитр, показанное на рис. 2.33 справа.

Рис. 2.33. Работа с окном Create Table/Matrix/Palette

Практика показывает, что таблицы и матрицы малых размеров проще вводить в виде списков в режиме ввода из командной строки. Только в том случае, когда вводимые элементы таблиц и матриц — громоздкие числа, их удобнее вводить с помощью окна Create Table/Matrix/Palette.

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

Ввод и редактирование кнопок

При создании сложных документов для диалогового режима работы с системой Mathematica иногда полезно создание кнопок. Оно выполняется командой Create Button. Она выводит подменю, содержащее небольшое число типов кнопок. Например, кнопка типа Evaluate Cell служит для создания ячейки, исполняющей вычисления. Она выглядит как прямоугольник:

2+3/4;

Обратите внимание на то, что записанное перед кнопкой выражение не вычисляется, поскольку строка завершается точкой с запятой. Если активизировать кнопку двойным щелчком, получим вместо кнопки знак «%» и выполнение вычислений:

%

11/4

Редактирование кнопок осуществляется по команде Edit Button. Она выводит окно редактирования кнопок, показанное на рис. 2.34. В этом окне содержатся перечень кнопок и окно с программой, создающей кнопку с нужными свойствами.

Рис. 2.34. Окно редактирования кнопок

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



Выбор ядра системы


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

Start Kernel — запуск выбранного ядра; Quit Kernel — завершение работы выбранного ядра; Default Kernel — выбор ядра, используемого по умолчанию; Notebook's Kernel — выбор ядра для данного документа; Kernel Configuration Options — выводит окно установки свойств ядер.

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



Выделения в документах и использование мыши


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

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

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

Рис. 2.12. Выделенная ячейка вывода и ее контекстно-зависимое меню

Рис. 2.13. Выделенный график и его контекстно-зависимое меню

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

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

Это выделение можно расширять повторными


Это выделение можно расширять повторными щелчками. Можно расширять область выделения путем перетаскивания курсора при нажатой левой кнопке мыши.

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

Наряду с выделением ячеек как отдельных объектов Mathematica 3/4 сохраняет привычный пользователям многих программ (например Word 95/ 97) способ выделения части содержимого ячейки путем перетаскивания курсора мыши. В этом случае, как обычно, выделение индицируется темным фоном выделенного участка. В отношении таких выделений также возможна работа с буфером обмена. Оба вида выделений (ячейки и ее части) одновременно невозможны — оно и понятно, буфер-то один!





Загрузка ранее созданных документов — команда Open


Загрузка файлов ранее созданных документов — одна из самых распространенных операций. Она реализуется командой Open, которая служит для загрузки ранее созданного документа с его поиском в файловой системе компьютера. Эта команда выводит диалоговое окно, типичное для Windows-приложений и предназначенное для удобного поиска файлов (рис. 2.5).

Рис. 2.5. Диалоговое окно выбора файлов

Кроме команды Open, которая загружает документ, открывая его в новом окне, в меню File. имеется еще команда Import, вставляющая содержимое указанного файла в текущий документ. Обе команды позволяют загружать файлы как основного формата notebook с расширением .nb, так и файлы ряда других форматов.



Запись документа с текущим именем — команда Save


Если документ создан с помощью команды New или открыт с помощью команды Open, то он обычно подвергается модификации и редактированию. После отладки документа его измененный вариант бывает нужно записать на магнитный диск — гибкий или жесткий. Для этого служат команды Save и Save As. Команда Save выполняет запись текущего документа без изменения его имени. Поэтому она выполняется быстро и без каких-то дополнительных действий. Запись идет в формате notebook.



Запись документа с заданным именем — команда Save As


Команда Save As позволяет изменить имя файла и поместить его в любую директорию любого диска. Эта команда вызывает появление диалогового окна, показанного на рис. 2.6.

Рис. 2.6. Окно сохранения файла документа

Помимо установок диска и нужной директории следует задать имя записываемого файла или подтвердить предлагаемое имя. Вводить расширение не обязательно — система сама позаботится об этом. Запись идет в формате notebook.



Завершение работы с системой — команда Exit


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

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



Звукозапись


Команда Record Sound выводит окно программы Звукозапись, входящей в состав операционной системы Windows 95/98 (рис. 2.32). Звукозапись — это специальное приложение, позволяющее записывать звуки с микрофона и воспроизводить их с помощью звуковой карты компьютера. Органы управления программы по виду подобны применяемым у обычных магнитофонов, а потому не нуждаются в подробном описании.

Рис. 2.32. Интерфейс программы Звукозапись

Особенности работы со звуком будут описаны в дальнейшем. Отметим лишь, что Mathematica имеет возможность работы как с математическим синтезом звуковых сигналов, так и с реальными звуковыми сигналами речи и музыки, записываемыми в виде файлов с расширением .wav. Для такой записи и служит команда Record Sound.

Не стоит забывать, что для реализации возможностей записи и воспроизведения звуков компьютер должен быть оснащен звуковой платой, звуковыми колонками или наушниками и микрофоном. Желательно, чтобы эти средства были отлажены в среде Windows 95/98 до их использования системой Mathematica.