Компьютерная алгебра в программе Mathematica 4

         

Работа с ячейками


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

Итак, ячейки

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

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

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

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

Меню 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

 

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

При вводе данных в ячейки ввода данные представляются в одном из форматов, заданных командой 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 уже описывалось — она сокращает число ячеек в группе так, что видимой остается только первая ячейка — как правило, имеющая титульную надпись.

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

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

Система 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.

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

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

 

Содержание раздела