Ввод-вывод данных

В данной главе рассматриваются вопросы ввода входных данных в документы Mathcad и вывода результатов вычислений. В начале главы приведено краткое напоминание о числовом вводе-выводе значений, перечисляются типы данных, которые применимы в среде Mathcad (см. разд. 16.1) при определении переменных и функций.

Наиболее мощными средствами вывода результатов в Mathcad являются графики, и именно их эффективному использованию посвящено основное содержание главы (см. разд. 16.2—16.4)

На применении динамической смены графиков основан аппарат создания видеофайлов анимации (см. разд. 16.5), который делает результаты работы в Mathcad особенно эффектными. К тому же, Mathcad обладает целым спектром возможностей по вводу-выводу данных во внешние текстовые и графические файлы (см. разд. 16 6).

16.1. Числовой ввод-вывод

Наиболее простой и распространенный ввод-вывод данных в Mathcad реализован присваиванием и (либо численным, либо символьным) выводом непосредственно в документе. Фактически документ Mathcad является одновременно и кодом программы и результатом ее выполнения. Поэтому самый простой и распространенный способ ввода-вывода — это непосредственное присвоение и вывод вычисленных значений в документах. Числовому вводу и выводу данных посвящена практически вся глава 4 (о вводе данных см. разд. "Типы данных", "Размерные переменные", "Массивы" гл. 4, об управлении формой вывода — разд. "Формат вывода числовых данных" гл 4), поэтому ограничимся напоминанием об этом важном элементе системы Mathcad (листинги 16.1, 16.2).

Листинг 16.1. Числовой ввод данных

Листинг 16.2. Числовой вывод данных (продолжение листинга 16.1)

16.2. Создание графиков

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

  • Двумерные графики:
    • XY (декартовый) график (XY Plot);
    • полярный график (Polar Plot).
  • Трехмерные графики:
    • график трехмерной поверхности (Surface Plot);
    • график линий уровня (Contour Plot);
    • трехмерная гистограмма (3D Bar Plot);
    • трехмерное множество точек (3D Scatter Plot);
    • векторное поле (Vector Field Plot).

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

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

Некорректное определение данных приводит, вместо построения графика, к выдаче сообщения об ошибке.

Чтобы создать график, например двумерный Декартов:

  • Поместите курсор ввода в то место документа, куда требуется вставить график.
  • Если на экране нет панели Graph (График), вызовите ее нажатием кнопки с изображением графиков на панели Math (Математика).
  • Нажмите на панели Graph (График) кнопку X-Y Plot для создания Декартового графика (рис. 16.1) или другую кнопку для иного желаемого типа графика.
  • В результате в обозначенном месте документа появится пустая область графика с одним или несколькими местозаполкителями (рис. 16.1, слева). Введите в местозаполнители имена переменных или функций, которые должны быть изображены на графике. В случае Декартова графика это два местозаполнителя данных, откладываемых по осям х и Y.

Рис. 16.1. Создание Декартового графика при помощи панели Graph

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

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

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

Чтобы удалить график, щелкните в его пределах и выберите в верхнем меню Edit (Правка) пункт Cut (Вырезать) или Delete (Удалить).

Рис. 16.2. Создание графика посредством меню

16.3. Двумерные графики

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

16.3.1. XY-график двух векторов

Самый простой и наглядный способ получить Декартов график — это сформировать два вектора данных, которые будут отложены вдоль осей х и Y Последовательность построения графика двух векторов х и у показана на рис. 16.3. В этом случае в местозаполнители возле осей вводятся просто имена векторов. Также допускается откладывать по осям элементы векторов, т. е. вводить в местозаполнители возле осей имена хх и yi; соответственно (рис. 16 4). В результате получается график, на котором отложены точки, соответствующие парам элементов векторов, соединенные отрезками прямых линий. Образованная ими ломаная называется рядом данных или кривой (trace).

Рис. 16.3. XY-график двух векторов

Рис. 16.4. XY-график двух векторов, заданных элементами

Обратите внимание, что Mathcad автоматически определяет границы графика, исходя из диапазона значений элементов векторов

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

16.3.2. XY-график вектора и ранжированной переменной

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

Рис. 16.5. Графики вектора и ранжированной переменной

16.3.3. XY-график функции

Нарисовать график любой скалярной функции f (х) можно двумя способами. Первый заключается в дискретизации значений функции, присвоении этих значений вектору и прорисовке графика вектора. Собственно, так и были получены графики синуса на рис. 16.3—165. Второй, более простой способ, называемый быстрым построением графика, заключается во введении функции в один из местозаполнителей (например у оси Y), а имени аргумента — в местозаполнитель у другой оси (рис. 16.6). В результате Mathcad сам создает график функции в пределах значении аргумента, по умолчанию принятых равными от —10 до 10. Разумеется, впоследствии можно поменять диапазон значений аргумента, и график автоматически подстроится под него.

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

Рис. 16.6. Быстрое построение графика функции

Рис. 16.7. Графики функций от векторного аргумента

16.3.4. Полярный график

Для создания полярного графика необходимо нажать кнопку Polar Plot на панели Graph (График) (рис. 16.8) и вставить в местозаполнители имена переменных и функций, которые будут нарисованы в полярной системе координат угол (нижний местозаполнитель) и радиус-вектор (левый местоза-полнитель). Точно так же, как при создании Декартова графика (см. разд. 163.1—16.3.3), по осям могут быть отложены два вектора (рис. 16.8, слева), элементы векторов и ранжированные переменные в различных сочетаниях, а также может быть осуществлено быстрое построение графика функции (рис. 16.8, справа).

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

Рис. 16.8. Полярные графики

16.3.5. Построение нескольких рядов данных

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

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

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

Чтобы убрать один или несколько рядов данных с графика, удалите клавишами <BackSpace> или <Del> соответствующие им надписи у координатных осей.

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

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

Рис. 16.9. Построение нескольких зависимостей на одном графике

Рис. 16.10. Построение нескольких зависимостей от разного аргумента

Например, чтобы вместо второго (пунктирного) графика на рис. 16.9 построить график не cos(xi), а график параметрической зависимости cos(sin(xi)), достаточно добавить нажатием клавиши с запятой еще одну метку, на этот раз оси х, и ввести в нее выражение sin(x). Результат этих действий показан на рис. 16.10.

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

Рис. 16.11. Построение зависимостей от разного аргумента разного типа данных

16.3.6. Форматирование осей

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

Изменение диапазона осей

Когда график создается впервые, Mathcad выбирает представленный диапазон для обеих координатных осей автоматически. Чтобы изменить этот диапазон:

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

Рис. 16.12. Изменение диапазона оси X

  • Пользуясь клавишами управления курсором и клавишами <BackSpace> и <Del>, удалите содержимое поля.
  • Введите новое значение диапазона (например 20).
  • Щелкните за пределами поля, и график будет автоматически перерисован в новых пределах.

На рис. 16.13 показаны результаты изменения диапазона оси х на (0,20) и оси Y — на (-2,2).

Рис. 16.13. Результат изменения диапазона осей

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

Форматирование шкалы

Изменение внешнего вида шкалы, нанесенной на координатную ось, производится с помощью диалогового окна Formatting Currently Selected X-Y Plot (Форматирование выбранного графика), в котором следует перейти на вкладку X-Y Axes (Оси X-Y) (рис. 16.14) Вызвать диалог можно двойным щелчком мыши в области графика или выполнением команды Format / Graph / X-Y Plot (Формат / График / X-Y График), или выбором в контекстном меню команды Format (Формат)

Рис. 16.14. Диалоговое окно Formatting Currently Selected X-Y Plot

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

  • Log Scale (Логарифмический масштаб) — график по данной оси будет нарисован в логарифмическом масштабе Это полезно, если данные разнятся на несколько порядков,
  • Grid Lines (Линии сетки) — показать линии сетки (пример на рис 16 15);
  • Numbered (Нумерация) — показать нумерацию шкалы Если убрать этот флажок, то числа, размечающие шкалу, пропадут (пример см ниже на рис 16.16);
  • Autoscale (Автоматический масштаб) — выбор диапазона оси производится автоматически процессором Mathcad;
  • Show Markers (Показать маркеры) — выделение значений на осях (см далее разд "Маркеры" этой главы),

Рис. 16.15. Линии сетки на Декартовом и полярном графиках, вид осей — Crossed

  • AutoGrid (Автоматическая шкала) — разбиение шкалы производится автоматически процессором Mathcad Если этот флажок снят, в поле ввода рядом с ним следует указать Желаемое количество меток шкалы,
  • Equal Scales (Одинаковый масштаб) — оси х и Y принудительно рисуются в одинаковом масштабе;
  • Axes Style (Вид оси) — можно выбрать один из трех видов системы координат:
    • Boxed (Прямоугольник) — как показано на рис. 16.10—16.13;
    • Crossed (Пересечение) — координатные оси в виде двух пересекающихся прямых (рис. 16.15);
    • None (Нет) — координатные оси не показываются на графике

Для полярного графика предусмотрены другие виды осей Perimeter (Периметр), Crossed (Пересечение) и None (Нет) Первый тип оси показан выше (см рис. 16.8), а второй Вы видите на рис. 16.15.

Рис. 16.16. Диалоговое окно Axis Format

Изменить описанные параметры можно и в диалоговом окне Axis Format (Формат оси), которое появляется, если щелкнуть дважды на самой оси (рис 16 16)

Маркеры

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

  • Дважды щелкните на графике
  • На вкладке X-Y Axes (Оси X-Y) диалога Formatting Currently Selected X-Y Plot (Форматирование выбранного графика), показанной на рис. 16.14, установите флажок Show Markers (Показать маркеры)
  • Нажмите кнопку ОК
  • В появившийся местозаполнитель введите число или имя переменной, значение которой Вы хотите отобразить на оси маркером (рис. 16.17, слева)
  • Щелкните вне маркера

Готовые маркеры показаны на рис. 16.17, справа На каждой из осей допускается установить по два маркера Если определен лишь один из них, то второй виден не будет

Рис. 16.17. Создание маркеров (слева) и готовые маркеры (справа)

При создании маркеров очень полезной бывает трассировка графиков, позволяющая точно определить значение маркера (см разд 16 3 10)

16.3.7. Форматирование рядов данных

С помощью вкладки Traces (Ряды данных) диалогового окна Formatting Currently Selected X-Y Plot (Форматирование выбранного графика) легко установить комбинацию параметров линии и точек для каждого из рядов данных, представленных на графике. Пользователю требуется выделить в списке нужный ряд данных (его положение в списке соответствует положению метки зависимости у оси Y) и изменить в списках в середине диалогового окна желаемые установки (рис. 16.18)

Рис. 16.18. Вкладка Traces диалога Formatting Currently Selected X-Y Plot

На вкладке Traces (Ряды данных) регулируются следующие параметры:

  • Legend Label (Легенда) — текст легенды, описывающий ряд данных (на рис. 16.19—16.22 легенда объясняет смысл различных параметров);
  • Symbol (Символ) — символ, которым обозначаются отдельные точки данных (рис. 16.21);
  • Line (Линия) — стиль линии (рис. 16.19):
    • solid (сплошная);
    • dot (пунктир);
    • dash (штрих);
    • dadot (штрихпунктир).
  • Color (Цвет) — цвет линии и точек данных;
  • Weight (Толщина) — толщина линии (рис. 16.20) и точек данных;
  • Туре (Тип) — тип представления ряда данных:
    • lines (линии);
    • points (точки);
    • error (ошибки);
    • bar (столбцы);
    • step (шаг);
    • draw (рисунок);
    • stem (стержень);
    • solid bar (гистограмма).

Для некоторых типов графиков те или иные параметры недоступны (например нельзя задать символ для шаговой кривой).

Стиль, толщина и цвет линии

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

Рис. 16.19. Линии различного стиля

Форматирование точек данных

Чтобы построить график в виде только точек данных, перейдите в диалоге форматирования выбранного графика к списку Туре (Тип) и выберите в нем пункт points (точки). Чтобы вместе с точками была показана и кривая, выберите другой тип ряда данных (например линии — lines, см. рис. 16.18).

Рис. 16.20. Линии разной толщины на полярном графике

Внешний вид точки задает список Symbol (Символ), а их размер — Weight (Толщина). Примеры показаны на рис. 16.21.

Рис. 16.21. Различный стиль и размер точек данных

Типы рядов данных

Несколько различных типов рядов данных представлено на рис. 16.22.

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

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

Столбчатые графики (гистограммы)

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

Рис. 16.23. Столбчатые типы графиков

Графики с отложенными ошибками

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

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

Рис. 16.24. Создание графика с отложенными ошибками

На рис. 16.24 отложено три ряда данных: у (сами данные), erroru (верхняя метка ошибок), errorU (нижняя метка ошибок). Для двух последних рядов выставлен тип error (ошибки).

Сохранение установок по умолчанию

На вкладке Defaults (По умолчанию) диалога Formatting Currently Selected X-Y Plot (Форматирование выбранного графика) находятся два элемента управления:

  • кнопка Change to Defaults (Вернуть установки по умолчанию) — изменяет все установки выделенного графика на установки по умолчанию, принятые для текущего документа;
  • флажок проверки Use for Defaults (Использовать для установок по умолчанию) — делает установками по умолчанию для данного документа установки выбранного графика.

16.3.8. Создание заголовка графика

Чтобы создать заголовок графика:

  • Дважды щелкните на графике.
  • В диалоге Formatting Currently Selected X-Y Plot (Форматирование выбранного графика) перейдите на вкладку Labels (Метки).
  • В поле Title (Заголовок) введите текст заголовка.
  • Установите флажок проверки Show Title (Показать заголовок).
  • Выберите переключатель Above (Сверху) или Below (Снизу), чтобы заголовок появился сверху или снизу графика, как показано на рис. 16.25.
  • Нажмите кнопку ОК.

Рис. 16.25. Заголовок сверху и снизу графика

16.3.9. Изменение размера и положения графиков

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

16.3.10. Трассировка и увеличение графиков

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

Рис. 16.26. Трассировка графика

Перемещая указатель мыши по графику, Вы тем самым передвигаете точку пересечения линий трассировки При этом координаты точки указываются с высокой точностью в окне трассировки в полях X-Value (Значение X) и Y-Value (Значение Y). Нажатие кнопки Сору X (Копировать X) или Copy Y (Копировать Y) копирует соответствующее число в буфер обмена. В дальнейшем его можно вставить в любое место документа или в маркер, нажав клавиши <Ctrl>+<V>.

Если установлен флажок Track Data Points (Следовать за рядом данных), как это показано на рис. 16.26, то линии трассировки следуют точно вдоль графика. Если нет, то они могут перемещаться по всей области графика.

Помимо трассировки, в Mathcad предусмотрена еще одна удобная возможность просмотра графика в увеличенном масштабе. Для вызова диалогового окна Zoom (Масштаб графика) выберите в контекстном меню, либо в меню Format (Формат) пункты Graph (График) и Zoom (Масштаб). После этого указателем мыши выберите прямоугольную область на графике, которую Вы планируете просмотреть в увеличенном масштабе (рис. 16.27), и нажмите кнопку Zoom (Увеличить). В результате часть графика будет прорисована более крупно (рис. 16.28). Далее можно либо продолжать изменять масштаб, либо вернуться к прежнему виду графика кнопкой Full View (Показать целиком), либо закрыть диалог Zoom для окончательной перерисовки графика в крупном масштабе (нажав кнопку ОК)

Возможно, Вам покажется более удобным вызов окон трассировки и масштабирования графиков с помощью панели инструментов Graph (График) (рис. 16.29). Эти кнопки доступны только при выделенном двумерном графике

Рис. 16.27. Управление масштабом графика

Рис. 16.28. Просмотр графика в увеличенном масштабе

Рис. 16.29. Кнопка трассировки на панели Graph, кнопка масштабирования — слева от нее

16.4. Трехмерные графики

Коллекция трехмерных графиков — настоящее чудо, которое Mathcad дарит пользователю. За считанные секунды Вы можете создать великолепную презентацию результатов своих расчетов.

16.4.1. Создание трехмерных графиков

Чтобы создать трехмерный график, требуется нажать кнопку с изображением любого из типов трехмерных графиков на панели инструментов Graph (График) (если возникнут сложности, обратитесь к. разд. 16.2). В результате появится пустая область графика с тремя осями (рис. 16.30) и единственным местозаполнителем в нижнем левом углу. В этот местозаполнитель следует ввести либо имя z функции z(x,y) двух переменных для быстрого построения трехмерного графика, либо имя матричной переменной z, которая задаст распределение данных zx,y на плоскости XY.

Рис. 16.30. Создание трехмерного графика

Рассмотрим на простом примере функции z(x,y) и матрицы z (они заданы в листингах 16.3 и 16.4, соответственно) примеры построения трехмерных графиков различных типов, создаваемых нажатием той или иной кнопки на панели Graph (График). Еще раз отметим, что для получения графиков не требуется никакого текста, кроме введения имени соответствующей функции или матрицы в местозаполнитель.

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

Листинг 16.3.Функция для быстрого построения трехмерных графиков

Листинг 16.4. Матрица для отображения на трехмерных графиках

Surface Plot - график поверхности (рис. 16.31 и 16.32)

Для построения графика поверхности необходимо воспользоваться клавишей Surface Plot панели инструментов Graph и следовать указаниям, описанным выше.

Рис. 16.31. Быстрое построение графика поверхности функции (листинг 16.3)

Рис. 16.32. График поверхности, заданный матрицей (листинг 16.4)

Рис. 16.33. Быстрое построение графика линий уровня функции (листинг 16.3)

Рис. 16.34. График линий уровня, заданный матрицей (листинг 16.4)

Contour Plot - график линий уровня (рис. 16.33 и 16.34)

Для построения графика поверхности необходимо воспользоваться клавишей Contour Plot панели инструментов Graph и следовать указаниям, описанным выше.

3D Bar Plot - график трехмерной гистограммы (рис. 16.35 и 16.36)

Для построения графика поверхности необходимо воспользоваться клавишей 3D Bar Plot панели инструментов Graph и следовать указаниям, описанным выше.

Рис. 16.35. Быстрое построение графика трехмерной гистограммы функции (листинг 16.3)

Рис. 16.36. График трехмерной гистограммы, заданный матрицей (листинг 16.4)

Рис. 16.37. Быстрое построение графика множества точек функции (листинг 16.3)

Рис. 16.38. График множества точек, заданный матрицей (листинг 16.4)

3D Scatter Plot - график множества точек (рис. 16.37 и 16.38)

Для построения графика поверхности необходимо воспользоваться клавишей 3D Scatter Plot панели инструментов Graph и следовать указаниям, описанным выше.

Vector Field Plot - график векторного поля (рис. 16.39)

График векторного поля несколько отличается от остальных типов двумерных графиков. Его смысл заключается в построении некоторого вектора в каждой точке плоскости XY. Чтобы задать вектор на плоскости, требуются два скалярных числа. Поэтому в Mathcad принято, что векторное поле задает комплексная матрица. Действительные части каждого ее элемента задают проекцию вектора на ось х, а мнимые — на ось у.

Рис. 16.39. Графики векторного поля, заданные матрицами (листинг 16.4)

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

Улучшить трехмерное представление графика часто позволяет применение к исходным данным интерполяции (см. разд. "Многомерная интерполяция" гл. 15).

16.4.2. Форматирование трехмерных графиков

Форматирование трехмерных графиков выполняется с помощью диалогового окна 3-D Plot Format (Форматирование 3-D графика), которое вызывается двойным щелчком мыши в области графика (рис. 16.40). Параметры трехмерных графиков всех типов устанавливаются посредством этого диалогового окна.

Рис. 16.40. Диалоговое окно 3-D Plot Format

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

Изменение типа графика

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

Вращение графика

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

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

Другой способ изменения ориентации графика — с помощью полей Rotation (Вращение), Tilt (Наклон) и Twist (Поворот) на вкладке General (Общие) (см. рис. 16.40), которые в совокупности определяют соответствующие углы (в градусах) и тем самым задают направление всех трех осей координат в пространстве. Сравнивая рис. 16.40—16.42, Вы разберетесь, как эти углы влияют на ориентацию графика.

Рис. 16.41. Изменение параметра Rotation (сравните с рис. 16.40)

Рис. 16.42. Вид того же графика (рис. 16.41) при углах Rotation=0, Tilt=20 и Twist=200

Стиль осей

С помощью группы переключателей Axes Style (Стиль осей) можно задать один из следующих стилей осей координат:

  • Perimeter (Периметр) — как на рис. 16.43;
  • Comer (Углом) — как на рис. 16.41—16.42;
  • None (Нет) — оси отсутствуют.

Если установить флажок Show Box (Показать куб), то координатное пространство будет изображено в виде куба (рис. 16.44).

Рис. 16.43. Расположение координатных осей по периметру

Рис. 16.44. Установлен флажок Show Box

Масштабирование графика

В поле Zoom (Масштаб) вкладки General (Общие) (см. рис. 16.40) можно задать числовое значение масштаба (рис. 16.45).

Рис. 16.45. Вид графика поверхности при масштабе 0,5 (слева) и 1,5 (справа)

Форматирование осей

Вкладка Axes (Оси) содержит три вложенных вкладки, в которых задаются параметры для каждой из трех координатных осей. В частности, можно включить или отключить показ линий сетки, нумерации и задать диапазон по каждой из осей (рис. 16.46). Смысл этих операций сходен с аналогичными операциями для двумерных графиков. При помощи еще одной вкладки — Backplanes (Плоскости заднего плана) задается показ проекций координатной сетки на три скрытые плоскости трехмерного графика (пример форматирования плоскости XY показан на рис. 16.47).

Рис. 16.46. Форматирование осей координат

Рис. 16.47. Форматирование скрытых плоскостей графика

Стиль заливки и линий

На рис. 16.48 и 16.49 показано влияние различного стиля задания заливки и линий с помощью вкладки Appearance (Появление) для контурного и поверхностного графиков. При выборе переключателя Fill Surface (Заливка поверхности) из группы Fill Options (Опции заливки) (рис. 16.48) Вы получаете доступ к опциям цвета (в группе Color Options). Если выбрать переключатель Solid Color (Один цвет), то получится однотонная заливка поверхности, показанная на рис. 16.49. Если установить переключатель Colormap (Цветовая схема), то поверхность или контурный график будут залиты разными цветами и оттенками (рис. 16.48), причем выбрать цветовую схему можно на вкладке Advanced (Дополнительно) (рис. 16.50).

Рис. 16.48. Настройка заливки графика поверхности

Рис. 16.49. Заливка поверхности белым цветом (слева) и серым цветом (справа)

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

Рис. 16.50. Выбор цветовой схемы

Рис. 16.51. Вкладка Special

Спецэффекты

В той же вкладке Advanced (Дополнительно) (рис. 16.50) имеется доступ к управлению несколькими специальными эффектами оформления графиков, благодаря которым они смотрятся более красиво.

Перечислим эти эффекты:

  • Shininess (Сияние) — имеется возможность регулировать сияние в пределах от 0 до 128;
  • Fog (Туман) — эффект тумана (рис. 16.52);

Рис. 16.52. Эффекты перспективы (слева) и тумана (справа)

  • Transparency (Прозрачность) — задается процент прозрачности графика (рис. 16.53);
  • Perspective (Перспектива) — показ перспективы с определением видимости расстояния (рис. 16.52).

Рис. 16.53. Эффект прозрачности в 40% (слева) и 80% (справа)

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

Рис. 16.54. Эффект подсветки

Заголовок графика

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

Рис. 16.55. Графики с заголовками

Редактирование точек данных

На многих типах графиков допускается показ точек данных. Формат точек, включая тип символа, размер, соединение их линией задается на вкладке Appearance (Оформление) (рис. 16.56). Опции форматирования точек те же самые, что и для двумерных графиков (см. разд. 16.3.7).

Рис. 16.56. Форматирование точек данных

Быстрое изменение формата графика

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

Рис. 16.57. Форматирование графика при помощи контекстного меню

16.5. Создание анимации

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

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

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

  • Введите в документ необходимые выражения и графики, в которых участвует переменная номера кадра FRAME. Подготовьте часть документа, которую Вы желаете сделать анимацией, таким образом, чтобы она находилась в поле Вашего зрения на экране. В нашем примере подготовка сводится к определению функции f (x, t) :=sin(x-t) и создании ее Декартова графика у (x, FRAME) .
  • Выполните команду Tools / Animation / Record (Сервис / Анимация / Запись).
  • В диалоговом окне Animate (Анимация) задайте номер первого кадра в поле From (От), номер последнего кадра в поле То (До) и скорость анимации в поле At (Скорость) в кадрах в секунду (рис. 16.58).
  • Выделите протаскиванием указателя мыши при нажатой левой кнопке мыши область в документе, которая станет роликом анимации.
  • В диалоговом окне Animate (Анимация) нажмите кнопку Animate (Анимация). После этого в окошке диалогового окна Animate (Анимация) будут появляться результаты расчетов выделенной области, сопровождающиеся выводом текущего значения переменной FRAME. По окончании этого процесса на экране появится окно проигрывателя анимации (рис. 16.59).
  • Запустите просмотр анимации в проигрывателе нажатием кнопки воспроизведения в левом нижнем углу окна проигрывателя.
  • В случае если вид анимации Вас устраивает, сохраните ее в виде видеофайла, нажав кнопку Save As (Сохранить как) в диалоговом окне Animate (Анимация). В появившемся диалоговом окне Save Animation (Сохранить анимацию) обычным для Windows способом укажите имя файла и его расположение на диске.

Рис. 16.58. Начало создания анимации

Закройте диалог Animate (Анимация) нажатием кнопки Cancel (Отмена) или кнопки управления его окном.Сохраненный видеофайл можно использовать за пределами Mathcad. Скорее всего, если в проводнике Windows дважды щелкнуть на имени этого файла, он будет загружен в проигрыватель видеофайлов Windows, и Вы увидите его на экране компьютера. Таким образом, запуская видеофайлы обычным образом, можно устроить красочную презентацию результатов работы как на своем, так и на другом компьютере.

Рис. 16.59. Просмотр созданного ролика анимации

При создании файлов анимации допускается выбирать программу видеосжатия (кодек) и качество компрессии. Делается это с помощью кнопки Options (Опции) в диалоговом окне Animate (Анимация).

16.6. Ввод-вывод во внешние файлы

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

16.6.1. Текстовые файлы

Перечислим встроенные функции для работы с текстовыми файлами:

  • READPRN( " file") — чтение данных в матрицу из текстового файла;
  • WRITEPRN( "file") — запись данных в текстовый файл;
  • APPENDPRN("file") — дозапись данных в существующий текстовый файл;
    • file — путь к файлу.

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

Примеры использования встроенных функций иллюстрируются листингами 16.5—16.7. Результат действия листингов 16.5 и 16.7 можно понять, просмотрев получающиеся текстовые файлы, например с помощью Блокнота Windows (рис. 16.60 и 16.61, соответственно).

Листинг 16.5. Запись матрицы I в текстовый файл

Рис. 16.60. Файл, созданный листингом 16.5

Листинг 16.6. Чтение данных из текстового файла в матрицу С

Листинг 16.7. Дозапись вектора k в соответствующий текстовый файл

Рис. 16.61. Файл, созданный листингами 16.5 и 16.7

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

16.6.2. Графические файлы

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

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

  • READRGB ("f lie") — чтение цветного изображения;
  • READBMP (" f lie") — чтение изображения в оттенках серого;
  • WRITERGB("file") — запись цветного изображения;
  • WRITEBMP (" file") — запись изображения в оттенках серого;
    • file — путь к файлу.

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

  • Действие функций доступа к графическим файлам иллюстрируется листингами 16.8—16.10. Заметим, что для создания изображения используется встроенная функция identity, создающая единичную матрицу. Изображение, созданное листингом 16.8, приведено на рис. 16.62.

Листинг 16.8. Запись матрицы I в графический файл

Листинг 16.9. Чтение из графического файла

Листинг 16.10. Запись в цветной графический файл

Рис. 16.62. Файл, созданный листингом 16.8

16.6.3. Звуковые файлы

В Mathcad версии 2001 появилась возможность записывать и считывать амплитуду акустических сигналов, записанных в звуковые файлы с расширением .wav:

  • READWAV ("file") — чтение звукового файла в матрицу;
  • wRiTEWAV ("file", s, b) — запись данных в звуковой файл;
  • GETWAVINFO ("file") — создает вектор из четырех элементов с информацией о звуковом файле;
    • file — путь к файлу;
    • s — скорость следования сэмплов, задаваемых матрицей;
    • b — разрешение звука в битах.

Использование этих встроенных функций позволяет организовать обработку звука.

Hosted by uCoz