Легкий графический вывод: графики функций

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

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

Примечание

В легко функции построения графика в MATLAB® смотрите, Создают Графики в Symbolic Math Toolbox™.

Вероятно, самая важная графическая задача в математическом контексте состоит в том, чтобы визуализировать функциональные графики, т.е. в функции построения графика. Существует две графических стандартных программы plotfunc2d и plotfunc3d, которые позволяют создавать 2D графики функций с одним аргументом (такие как f(x) = sin(x), f(x) = x*ln(x) и т.д.) или 3D графики функций с двумя аргументами (такими как f(x, y) = sin(x^2 + y^2), f(x, y) = y*ln(x) - x*ln(y) и т.д.). Синтаксис вызова прост: только передайте выражение, которое задает функцию и, опционально, область значений для независимой переменной (переменных).

2D функциональные графики: plotfunc2d

Мы рассматриваем 2D примеры, т.е. графики одномерных функций y = f (x). Вот один период синусоидальной функции:

plotfunc2d(sin(x), x = 0..2*PI):

Если несколько функций должны быть построены в той же графической сцене, только передайте последовательность выражений function. Все функции построены в заданной общей области значений:

plotfunc2d(sin(x)/x, x*cos(x), tan(x), x = -4..4):

Функции, которые не позволяют простое символьное представление по выражению, могут также быть заданы procedure, который производит численное значение f (x), когда названо численным значением x из области значений графика. В следующем примере мы рассматриваем самое большое собственное значение симметричного 3×3 матрица, которая содержит параметр x. Мы строим это собственное значение как функцию x:

f := x -> max(numeric::eigenvalues(matrix([[-x, x, -x  ], 
                                           [ x, x,  x  ], 
                                           [-x, x,  x^2]]))):
plotfunc2d(f, x = -1..1):

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

plotfunc2d(piecewise([x < 1, 1 - x],
                     [1 < x and x < 2, 1/2],
                     [x > 2, 2 - x]),
           x = -2..3)

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

plotfunc2d(sqrt(8 - x^4), ln(x^3 + 2)/(x - 1), x = -2 ..2):

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

plotfunc2d(x, x^2, x^3, x^4, x^5, x = 0..1,
           Colors = [RGB::Red, RGB::Orange, RGB::Yellow, 
                     RGB::BlueLight, RGB::Blue]):

Анимированные 2D графики функций создаются путем передачи выражений function в зависимости от переменной (x, скажите) и параметр анимации (a, скажите), и определение области значений и для x и для a:

plotfunc2d(cos(a*x), x = 0..2*PI, a = 1..2):

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

Количество по умолчанию кадров анимации равняется 50. Если различное значение желаемо, только передайте атрибут Frames = n, где n является количеством кадров, которые должны быть созданы:

plotfunc2d(sin(a*x), sin(x - a), x = 0..PI, a = 0..4*PI, 
           Colors = [RGB::Blue, RGB::Red], Frames = 200):

Кроме спецификации цветов или номера Frames, существует большое количество дальнейших атрибутов, которые могут быть переданы plotfunc2d. Каждый атрибут передается как уравнение AttributeName = AttributeValue к plotfunc2d. Здесь, мы только представляем некоторые выбранные атрибуты. Смотрите раздел по атрибутам для plotfunc для дальнейших таблиц с большим количеством атрибутов.

название атрибута возможные значения/примерзначениезначение по умолчанию
Height8*unit::cmфизическая высота изображения80*unit::mm
Width12*unit::cmфизическая ширина изображения120*unit::mm
Footerстрокатекст нижнего колонтитула"" (никакой нижний колонтитул)
Headerстрокатекст заголовка"" (никакой заголовок)
Titleстрокатекст заголовка"" (никакой заголовок)
TitlePositionДействительное значение [, действительный value]координаты левого нижнего угла заголовка 
GridVisibleTRUE, FALSEвидимость “главных” линий сетки во всех направленияхFALSE
SubgridVisibleTRUE, FALSEвидимость “незначительных” линий сетки во всех направленияхFALSE
AdaptiveMeshцелое число ≥ 2количество точек выборки числовой mesh121
Axes None, Automatic, Boxed, Frame, Origin тип осейAutomatic
AxesVisibleTRUE, FALSEвидимость всех осейTRUE
AxesTitles[string, string]заголовки осей["x","y"]
CoordinateType LinLin, LinLog, LogLin, LogLog линейно-линейный, линейно-логарифмический, логарифмически-линейный, логарифмический журнал LinLin
Colorsсписок значений RGBцвета линиисначала 10 записей RGB::ColorList
Framesцелое число ≥ 0количество кадров анимации50
LegendVisibleTRUE, FALSEлегенда вкл\выклTRUE
LineColorType Dichromatic, Flat, Functional, Monochrome, Rainbow цветовая схемаFlat
Meshцелое число ≥ 2количество точек выборки числовой mesh121
Scaling Automatic, Constrained, Unconstrained масштабирование режимаUnconstrained
TicksNumber None, Low, Normal, High количество маркированных меток деления во всех осяхNormal
VerticalAsymptotesVisibleTRUE, FALSEвертикальные асимптоты вкл\выклTRUE
ViewingBoxYRangeymin..ymaxограниченная область значений просмотра в направлении yAutomatic
YRangeymin..ymax ограниченная область значений просмотра в направлении y (эквивалентный ViewingBoxYRange) Automatic

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

plotfunc2d(sin(1/x), x = -0.5..0.5):

Безусловно, значение по умолчанию 121 точки выборки, используемой plotfunc2d, не достаточно, чтобы создать достаточно разрешенный график. Мы увеличиваем число числовых точек mesh через атрибут Mesh. Кроме того, мы увеличиваем глубину разрешения адаптивного механизма графического вывода от его значения по умолчанию AdaptiveMesh = 2 к AdaptiveMesh = 4:

plotfunc2d(sin(1/x), x = -0.5..0.5, Mesh = 500,
           AdaptiveMesh = 4):

Следующий вызов задает заголовок через Header = "The function sin(x^2)". Расстояние между маркированными метками деления установлено в 0,5 вдоль  оси x и в 0,2 вдоль  оси y через XTicksDistance = 0.5 и YTicksDistance = 0.2, соответственно. Четыре дополнительных немаркированных метки деления между каждой парой маркированных меток деления установлены в направлении x через XTicksBetween = 4. Одну дополнительную немаркированную метку деления между каждой парой маркированных меток деления в направлении y требуют через YTicksBetween = 1. Линии сетки, присоединенные к меткам деления, “включаются” GridVisible = TRUE и SubgridVisible = TRUE:

plotfunc2d(sin(x^2), x = 0..7,
           Header = "The function sin(x^2)",
           XTicksDistance = 0.5, YTicksDistance = 0.2,
           XTicksBetween = 4, YTicksBetween = 1,
           GridVisible = TRUE, SubgridVisible = TRUE):

Когда особенности найдены в функции, автоматическое усечение называется, пытаясь ограничить вертикальную область значений просмотра в некотором роде, чтобы получить “довольно” масштабируемое изображение. Это - эвристический подход, для которого иногда нужна адаптация помощи “вручную”. В следующем примере, автоматически выбранной области значений между y ≈ - 1 и y ≈ 440 в вертикальном направлении подходит, чтобы представлять 6-й полюс порядка в x = 1, но это не обеспечивает хорошее разрешение полюса первого порядка в x = - 1:

plotfunc2d(1/(x + 1)/(x - 1)^6, x = -2..2):

Нет никакой хорошей области значений просмотра, которая достаточна для обоих полюсов, потому что они имеют различный порядок. Однако некоторый компромисс может быть найден. Мы заменяем автоматическую область значений просмотра, предложенную plotfunc2d, и запрашиваем определенную область значений просмотра в вертикальном направлении через ViewingBoxYRange:

plotfunc2d(1/(x + 1)/(x - 1)^6, x = -2..2, 
           ViewingBoxYRange = -10..10):

Значения следующей функции имеют нижнюю границу, но никакую верхнюю границу. Мы используем атрибут ViewingBoxYRange = Automatic..10, чтобы позволить plotfunc2d найти нижнюю границу для поля просмотра отдельно при запросе определенного значения 10 для верхней границы:

plotfunc2d(exp(x)*sin(PI*x) + 1/(x + 1)^2/(x - 1)^4, x = -2..2, 
           ViewingBoxYRange = Automatic..10):

3D функциональные графики: plotfunc3d

Мы рассматриваем 3D примеры, т.е. графики двумерных функций z = f (x, y). Вот график функционального sin (x 2 + y 2):

plotfunc3d(sin(x^2 + y^2), x = -2..2, y = -2..2):

Если несколько функций должны быть построены в той же графической сцене, только передайте последовательность выражений function; все функции построены в заданной общей области значений:

plotfunc3d((x^2 + y^2)/4, sin(x - y)/(x - y),
                       x = -2..2, y = -2..2):

Функции, которые не позволяют простое символьное представление по выражению, могут также быть заданы procedure, который производит численное значение f (x, y), когда названо численными значениями x, y из области значений графика. В следующем примере мы рассматриваем самое большое собственное значение симметричного 3×3 матрица, которая содержит два параметра x, y. Мы строим это собственное значение как функцию x и y:

f := (x, y) -> max(numeric::eigenvalues(
                   matrix([[-y, x, -x],
                             [x, y, x],
                          [-x, x, y^2]]))):
plotfunc3d(f, x = -1..1, y = -1..1):

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

plotfunc3d(piecewise([x < y, y - x], [x > y, (y - x)^2]),
                                     x = 0..1, y = 0..1)

Обратите внимание на то, что существуют разрывы в определении функции выше: никакое значение функции не задано для x = y. Это не вызывает проблемы, потому что plotfunc3d просто игнорирует точки, которые не производят действительные численные значения, если это находит подходящие значения в окружении. Таким образом упускающая суть не обнаруживается в графике, если эти точки изолируются или ограничиваются некоторой 1-мерной кривой в x-y плоскость. Если функция не действительна оцененный в областях ненулевой меры, получившийся график содержит дыры. Следующая функция действительна оцененный только в диске x 2 + y 2 ≤ 1:

plotfunc3d(sqrt(1 - x^2 - y^2), x = 0..1, y = 0..1):

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

plotfunc3d(2 + x^2 + y^2, 1 + x^4 + y^4, x^6 + y^6,
           x = -1..1, y = -1..1,
           Colors = [RGB::Red, RGB::Green, RGB::Blue]):

Анимированные 3D графики функций создаются путем передачи выражений function в зависимости от двух переменных (x, y, скажите) и параметр анимации (a, скажите), и определение области значений для x, y и a:

plotfunc3d(x^a + y^a, x = 0..2, y = 0..2, a = 1..2):

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

Количество по умолчанию кадров анимации равняется 50. Если различное значение желаемо, только передайте атрибут Frames = n, где n является количеством кадров, которые должны быть созданы:

plotfunc3d(sin(a)*sin(x) + cos(a)*cos(y),
                x = 0..2*PI, y = 0..2*PI,
                a = 0..2*PI, Frames = 32):

Кроме спецификации цветов или номера Frames, существует большое количество дальнейших атрибутов, которые могут быть переданы plotfunc3d. Каждый атрибут передается как уравнение AttributeName = AttributeValue к plotfunc3d. Здесь, мы только представляем некоторые выбранные атрибуты. Разделите Атрибуты для plotfunc2d, и plotfunc3d предоставляет дальнейшим таблицам больше атрибутов.

plotfunc3d

название атрибута возможные значения/примерзначениезначение по умолчанию
Height8*unit::cmфизическая высота изображения 80*unit::mm
Width12*unit::cmфизическая ширина изображения 120*unit::mm
Footerстрока текст нижнего колонтитула "" (никакой нижний колонтитул)
Headerстрока текст заголовка "" (никакой заголовок)
Titleстрока текст заголовка "" (никакой заголовок)
TitlePositionДействительное значение [, действительный value]координаты левого нижнего угла заголовка  
GridVisibleTRUE, FALSEвидимость “главных” линий сетки во всех направлениях FALSE
SubgridVisibleTRUE, FALSEвидимость “незначительных” линий сетки во всех направлениях FALSE
AdaptiveMeshцелое число ≥ 0глубина адаптивной mesh 0
AxesAutomatic, Boxed, Frame, Originтип осей Boxed
AxesVisibleTRUE, FALSEвидимость всех осей TRUE
AxesTitles[string, string, string]заголовки осей ["x","y","z"]
Colorsсписок значений RGBцвета заливки  
Framesцелое число ≥ 0количество кадров анимации 50
LegendVisibleTRUE, FALSEлегенда вкл\выкл TRUE
FillColorTypeDichromatic, Flat, Functional, Monochrome, Rainbowцветовая схема Dichromatic
Mesh[целое число ≥ 2, целое число ≥ 2] количество “главных” точек mesh [25, 25]
Submesh[целое число ≥ 0, целое число ≥ 0] количество “незначительных” точек mesh [0, 0]
ScalingAutomatic, Constrained, Unconstrainedмасштабирование режима Unconstrained
TicksNumberNone, Low, Normal, Highколичество маркированных меток деления во всех осях Normal
ViewingBoxZRangezmin..zmaxограниченная область значений просмотра в направлении z Automatic
ZRangezmin..zmaxограниченная область значений просмотра в направлении z (эквивалентный ViewingBoxZRange) Automatic

В следующем примере mesh по умолчанию 25 ×25 точек выборки, используемых plotfunc3d, не достаточна, чтобы создать достаточно разрешенный график:

plotfunc3d(sin(x^2 + y^2), x = -3..3, y = -3..3):

Мы увеличиваем число числовых точек mesh через атрибут Submesh:

plotfunc3d(sin(x^2 + y^2), x = -3..3, y = -3..3, Submesh = [3, 3])

Следующий вызов задает заголовок через Header = "The function sin(x - y^2)". Линии сетки, присоединенные к меткам деления, “включаются” GridVisible = TRUE и SubgridVisible = TRUE:

plotfunc3d(sin(x - y^2), x = -2*PI..2*PI, y = -2..2,
           Header = "The function sin(x - y^2)",
           GridVisible = TRUE, SubgridVisible = TRUE):

Когда особенности найдены в функции, автоматическое усечение называется, пытаясь ограничить вертикальную область значений просмотра в некотором роде, чтобы получить “довольно” масштабируемое изображение. Это - эвристический подход, для которого иногда нужна адаптация помощи “вручную”. В следующем примере, автоматически выбранной области значений между z ≈ 0 и z ≈ 0.8 в вертикальном направлении подходит, чтобы представлять полюс в x = 1, y = 1, но это не обеспечивает хорошее разрешение полюса в x = - 1, y = 1:

plotfunc3d(1/((x + 1)^2 + (y - 1)^2)/((x - 1)^2 + (y - 1)^2)^5,
                        x = -2..3, y = -2..3, Submesh = [3, 3]):

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

plotfunc3d(1/((x + 1)^2 + (y - 1)^2)/((x - 1)^2 + (y - 1)^2)^5,
                                          x = -2..3, y = -2..3,
                   Submesh = [3, 3], ViewingBoxZRange = 0..0.1):

Значения следующей функции имеют нижнюю границу, но никакую верхнюю границу. Мы используем атрибут ViewingBoxZRange = Automatic..20, чтобы позволить plotfunc2d найти нижнюю границу для поля просмотра отдельно при запросе определенного значения 20 для верхней границы:

plotfunc3d(1/x^2/y^2 + exp(-x)*sin(PI*y),
                    x = -2..2, y = -2..2,
        ViewingBoxZRange = Automatic..20):

Атрибуты для plotfunc2d и plotfunc3d

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

Атрибуты передаются как уравнения AttributeName = AttributeValue к plotfunc2d и plotfunc3d. Несколько атрибутов могут быть переданы одновременно как последовательность таких уравнений.

Атрибуты могут быть изменены в интерактивном режиме в инспекторе свойств. Нажмите на график заставить подокна появиться для “обозревателя объектов” и “инспектора свойств” (см. раздел Viewer, Браузер и Инспектора: Интерактивная Манипуляция). Функции, построенные по plotfunc2d и plotfunc3d, появляются как объекты графика типа plot::Function2d и plot::Function3d, соответственно. Они встраиваются в систему координат в графической сцене. Сцена встраивается в область просмотра, названную 'Холстом'. В средстве просмотра различные атрибуты графика сопоставлены с различными объектами этой графической иерархии. Как правило, параметры размещения и заголовки установлены в холсте, пока оси, линии сетки, просматривающие поля и т.д. сопоставлены с системой координат. Некоторые атрибуты, такие как цвета, ширина линии, числовой размер mesh и т.д. принадлежит функциональным графикам и может быть установлен отдельно для каждой функции, построенной по plotfunc2d/plotfunc3d.

Последняя запись в следующих таблицах обеспечивает местоположение атрибута в графической иерархии обозревателя объектов. Например, для изменения цвета фона изображения, выберите сцену путем двойного щелчка по ‘Scene2d’/‘Scene3d’ запись в обозревателе объектов. Теперь, инспектор свойств предоставляет дереву атрибутов с узлами 'Аннотация', 'Размещение' и 'Стиль'. Открывая поддерево 'Стиля', каждый находит запись для BackgroundColor, который позволяет изменять цвет фона в интерактивном режиме.

Вот таблица самых важных атрибутов для установки размещения и фона изображения:

Атрибуты для размещения

название атрибута возможные значения/пример значение значение по умолчанию запись браузера
Width12*unit::cmфизическая ширина изображения 120*unit::mmCanvas
Height8*unit::cmфизическая высота изображения 80*unit::mmCanvas
BackgroundColorRgb цвет цвет фона RGB::WhiteScene2d/3d
BorderColorRgb цвет цвет границы RGB::Grey50Scene2d/3d
BorderWidth1*unit::mmширина границы 0Scene2d/3d
Margin1*unit::mmобщая ширина для всех полей: BottomMargin, LeftMargin, и т.д. 1*unit::mmScene2d/3d
BottomMargin1*unit::mmширина нижнего поля 1*unit::mmScene2d/3d
LeftMargin1*unit::mmширина левого поля 1*unit::mmScene2d/3d
RightMargin1*unit::mmширина правого поля 1*unit::mmScene2d/3d
TopMargin1*unit::mmширина верхнего поля 1*unit::mmScene2d/3d
BackgroundStyleFlat, LeftRight, TopBottom, Pyramidстиль фона 3D сцен FlatScene3d
BackgroundColor2Rgb цвет дополнительный цвет фона (используемый для цветных смешений) RGB::Grey75Scene3d
BackgroundTransparentTRUE, FALSEпрозрачный фон? FALSEScene2d

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

Атрибуты для нижнего колонтитула и заголовка

название атрибута возможные значения/пример значение значение по умолчанию запись браузера
Footerстрока текст нижнего колонтитула "" (никакой нижний колонтитул) Scene2d/3d
Headerстрока текст заголовка "" (никакой заголовок) Scene2d/3d
FooterAlignmentLeft, Center, RighthorizontalAlignment CenterScene2d/3d
HeaderAlignmentLeft, Center, RighthorizontalAlignment CenterScene2d/3d
FooterFontсмотрите раздел Fontsшрифт для нижнего колонтитула гротесковый шрифт 12 Scene2d/3d
HeaderFontсмотрите раздел Fontsшрифт для заголовка гротесковый шрифт 12 Scene2d/3d

Кроме нижних колонтитулов и/или заголовков сцен и холста, существуют заголовки, сопоставленные с функциями. В отличие от нижнего колонтитула и заголовка, функциональные заголовки могут быть помещены куда угодно в системе координат через атрибут TitlePosition. Как правило, заголовки сопоставлены с отдельными объектами, а не с целыми сценами. Таким образом, при использовании plotfunc2d или plotfunc3d, атрибут заголовка будет обычно только использоваться, когда одна функция будет отображена. Однако несколько заголовков с отдельными положениями могут быть установлены в интерактивном режиме в инспекторе свойств для каждой из функций:

Атрибуты для заголовков

название атрибута возможные значения/пример значение значение по умолчанию запись браузера
Titleстрока текст заголовка "" (никакой заголовок) Function2d/3d
TitlePositionДействительное значение [, действительный value]координаты левого нижнего угла заголовка  Function2d
TitlePositionДействительное значение [, действительное значение, действительный value]координаты левого нижнего угла заголовка  Function3d
TitlePositionXдействительное значение  Координата x левого нижнего угла заголовка  Function2d/3d
TitlePositionYдействительное значение  Координата y левого нижнего угла заголовка  Function2d/3d
TitlePositionZдействительное значение  Координата z левого нижнего угла заголовка  Function3d
TitleFontсмотрите раздел Fontsшрифт для заголовков гротесковый шрифт 11 Function2d/3d

Если несколько функций чертятся одновременно в одном изображении, полезно отобразить легенду, указывающую, какой цвет используется для который функция. Смотрите раздел Legends для получения дальнейшей информации по легендам. Вот таблица самых важных атрибутов, определяющих форму легенды. LegendEntry атрибутов, LegendText и LegendVisible = TRUE установлены автоматически plotfunc2d/plotfunc3d, если больше чем одна функция построена. Инспектор свойств (Средство просмотра, Браузер и Инспектор: Интерактивная Манипуляция), позволяет сбрасывать запись легенды для каждой функции:

Атрибуты для легенды

название атрибута возможные значения/пример значение значение по умолчанию запись браузера
LegendEntryTRUE, FALSEдобавить эту функцию в легенду? TRUEFunction2d/3d
LegendTextстрока текст легенды  Function2d/3d
LegendVisibleTRUE, FALSEлегенда вкл\выкл TRUEScene2d/3d
LegendPlacementTop, Bottomвертикальное размещение BottomScene2d/3d
LegendAlignmentLeft, Center, RighthorizontalAlignment CenterScene2d/3d
LegendFontсмотрите раздел Fontsшрифт для текста легенды гротесковый шрифт 8 Scene2d/3d

Когда сингулярные функции построены, часто полезно запросить определенную область значений просмотра. Вот таблица самых важных атрибутов для установки областей значений просмотра. В браузере интерактивного объекта вы найдете их под CoordinateSystem2d (CS2d) и CoordinateSystem3d (CS3d), соответственно:

Атрибуты для просмотра областей значений

название атрибута возможные значения/пример значение значение по умолчанию запись браузера
ViewingBox[xmin..xmax, ymin..ymax], [Automatic, Automatic]просмотр области значений в x и направлении y [Automatic, Automatic]CS2d
ViewingBox[xmin..xmax, ymin..ymax, zmin..zmax], [Automatic, Automatic, Automatic]просматривая область значений в x, y, направлении z [Automatic, Automatic, Automatic]CS3d
ViewingBoxXRangexmin..xmaxпросмотр области значений в направлении x Automatic.. AutomaticCS2d/3d
ViewingBoxYRangeymin..ymaxпросмотр области значений в направлении y Automatic.. AutomaticCS2d/3d
ViewingBoxZRangezmin..zmaxпросмотр области значений в направлении z Automatic.. AutomaticCS3d
ViewingBoxXMinxmin : действительное значение или Automaticсамое низкое значение просмотра в направлении x AutomaticCS2d/3d
ViewingBoxXMaxxmax : действительное значение или Automaticсамое высокое значение просмотра в направлении x AutomaticCS2d/3d
ViewingBoxYMinymin : действительное значение или Automaticсамое низкое значение просмотра в направлении y AutomaticCS2d/3d
ViewingBoxYMaxymax : действительное значение или Automaticсамое высокое значение просмотра в направлении y AutomaticCS2d/3d
ViewingBoxZMinzmin : действительное значение или Automaticсамое низкое значение просмотра в направлении z AutomaticCS3d
ViewingBoxZMaxzmax : действительное значение или Automaticсамое высокое значение просмотра в направлении z AutomaticCS3d

В отличие от стандартных программ библиотеки plot, plotfunc2d и plotfunc3d также принимают атрибуты YMin, YMax, YRange и ZMin, ZMax, ZRange, соответственно, как ярлыки для несколько неуклюжих названий атрибута ViewingBoxYMin и т.д. Например,

plotfunc2d(f(x), x = xmin..xmax, YRange = ymin..ymax)

эквивалентно

plotfunc2d(f(x), x = xmin..xmax,
           ViewingBoxYRange = ymin..ymax)

и

plotfunc3d(f(x, y), x = xmin..xmax, y = ymin..ymax,
           ZRange = zmin..zmax)

эквивалентно

plotfunc3d(f(x, y), x = xmin..xmax, y = ymin..ymax,
           ViewingBoxZRange = zmin..zmax)

Вот таблица самых важных атрибутов для расположения осей координат. В браузере интерактивного объекта вы найдете их под CoordinateSystem2d (CS2d) и CoordinateSystem3d (CS3d), соответственно:

Атрибуты для осей

название атрибута возможные значения/пример значение значение по умолчанию запись браузера
AxesAutomatic, Boxed, Frame, Originтип осей AutomaticCS2d/3d
AxesVisibleTRUE, FALSEвидимость всех осей TRUECS2d/3d
XAxisVisibleTRUE, FALSEвидимость  оси x TRUECS2d/3d
YAxisVisibleTRUE, FALSEвидимость  оси y TRUECS2d/3d
ZAxisVisibleTRUE, FALSEвидимость  оси z TRUECS3d
AxesTitles[string, string]заголовки (2D) осей ["x","y"]CS2d
AxesTitles[string, string, string]заголовки (3D) осей ["x","y","z"]CS3d
XAxisTitleстрока заголовок  оси x "x"CS2d/3d
YAxisTitleстрока заголовок  оси y "y"CS2d/3d
ZAxisTitleстрока заголовок  оси z "z"CS3d
AxesTitleAlignmentBegin, Center, Endвыравнивание для всех заголовков осей EndCS2d
AxesTitleAlignmentBegin, Center, Endвыравнивание для всех заголовков осей CenterCS3d
XAxisTitleAlignmentBegin, Center, Endвыравнивание для  заголовка оси x EndCS2d
XAxisTitleAlignmentBegin, Center, Endвыравнивание для  заголовка оси x CenterCS3d
YAxisTitleAlignmentBegin, Center, Endвыравнивание для  заголовка оси y EndCS2d
YAxisTitleAlignmentBegin, Center, Endвыравнивание для  заголовка оси y CenterCS3d
ZAxisTitleAlignmentBegin, Center, Endвыравнивание для  заголовка оси z CenterCS3d
YAxisTitleOrientationVertical, Horizontalориентация  заголовка оси y HorizontalCS2d
AxesTipsTRUE, FALSEоси с советами? TRUECS2d/3d
AxesOriginДействительное значение [, действительный value]точка пересечения (2D) осей [0, 0]CS2d
AxesOriginДействительное значение [, действительное значение, действительный value]точка пересечения (3D) осей [0, 0, 0]CS3d
AxesOriginXдействительное значение Значение x AxesOrigin0CS2d/3d
AxesOriginYдействительное значение Значение y AxesOrigin0CS2d/3d
AxesOriginZдействительное значение Значение z AxesOrigin0CS3d
AxesLineColorRgb цвет цвет осей RGB::BlackCS2d/3d
AxesLineWidth0.18*unit::mmфизическая ширина строк осей 0.18*unit::mmCS2d/3d
AxesInFrontTRUE, FALSEоси перед объектами? FALSECS2d
AxesTitleFontсмотрите раздел Fontsшрифт для заголовков осей гротесковый шрифт 10 CS2d/3d

Вот таблица самых важных атрибутов для установки отметок деления и меток в виде галочки вдоль осей. В браузере интерактивного объекта вы найдете их под CoordinateSystem2d (CS2d) и CoordinateSystem3d (CS3d), соответственно:

Атрибуты для отметок деления и меток в виде галочки

название атрибута возможные значения/пример значение значение по умолчанию запись браузера
TicksVisibleTRUE, FALSEвидимость меток деления вдоль всех осей TRUECS2d/3d
XTicksVisibleTRUE, FALSEвидимость меток деления вдоль  оси x TRUECS2d/3d
YTicksVisibleTRUE, FALSEвидимость меток деления вдоль  оси y TRUECS2d/3d
ZTicksVisibleTRUE, FALSEвидимость меток деления вдоль  оси z TRUECS3d
TicksDistanceположительное действительное значение расстояние между маркированными метками деления вдоль всех осей  CS2d/3d
XTicksDistanceположительное действительное значение расстояние между маркированными метками деления вдоль  оси x  CS2d/3d
YTicksDistanceположительное действительное значение расстояние между маркированными метками деления вдоль  оси y  CS2d/3d
ZTicksDistanceположительное действительное значение расстояние между маркированными метками деления вдоль  оси z  CS3d
TicksAnchorдействительное значение положение маркированной метки деления, чтобы запуститься с 0CS2d/3d
XTicksAnchorдействительное значение положение маркированной метки деления, чтобы запуститься с 0CS2d/3d
YTicksAnchorдействительное значение положение маркированной метки деления, чтобы запуститься с 0CS2d/3d
ZTicksAnchorдействительное значение положение маркированной метки деления, чтобы запуститься с 0CS3d
TicksNumberNone, Low, Normal, Highколичество маркированных меток деления вдоль всех осей NormalCS2d/3d
XTicksNumberNone, Low, Normal, Highколичество маркированных меток деления вдоль  оси x NormalCS2d/3d
YTicksNumberNone, Low, Normal, Highколичество маркированных меток деления вдоль  оси y NormalCS2d/3d
ZTicksNumberNone, Low, Normal, Highколичество маркированных меток деления вдоль  оси z NormalCS3d
TicksBetweenцелое число ≥ 0количество меньших немаркированных меток деления между маркированными метками деления вдоль всех осей 1CS2d/3d
XTicksBetweenцелое число ≥ 0количество меньших немаркированных меток деления между маркированными метками деления вдоль  оси x 1CS2d/3d
YTicksBetweenцелое число ≥ 0количество меньших немаркированных меток деления между маркированными метками деления вдоль  оси y 1CS2d/3d
ZTicksBetweenцелое число ≥ 0количество меньших немаркированных меток деления между маркированными метками деления вдоль  оси z 1CS3d
TicksLabelStyleDiagonal, Horizontal, Shifted, Verticalориентация и стиль меток в виде галочки вдоль всех осей HorizontalCS2d/3d
XTicksLabelStyleDiagonal, Horizontal, Shifted, Verticalориентация и стиль меток в виде галочки вдоль осей x HorizontalCS2d/3d
YTicksLabelStyleDiagonal, Horizontal, Shifted, Verticalориентация и стиль меток в виде галочки вдоль  оси y HorizontalCS2d/3d
ZTicksLabelStyleDiagonal, Horizontal, Shifted, Verticalориентация и стиль меток в виде галочки вдоль  оси z HorizontalCS3d
TicksAt[tick1, tick2, ...], где tick.i является действительным значением (положение) или уравнение position = "label string" (такой как 3.14 = "pi") метки деления установлены пользователем, допустимым для всех осей  CS2d/3d
XTicksAtсмотрите TicksAtметки деления вдоль  оси x установлены пользователем  CS2d/3d
YTicksAtсмотрите TicksAtметки деления вдоль  оси y установлены пользователем  CS2d/3d
ZTicksAtсмотрите TicksAtметки деления вдоль  оси z установлены пользователем  CS3d
TicksLength2*unit::mmдлина отметок деления 2*unit::mmCS2d
TicksLabelFontсмотрите раздел Fontsшрифт для всех заголовков осей гротесковый шрифт 8 CS2d/3d

Линии координатной сетки могут быть проведены в фоновом режиме графической сцены (соответствующий управлениям выровненной бумаги). Они присоединены к отметкам деления вдоль осей. Существуют линии сетки, присоединенные к “главным” маркированным отметкам деления, которые упоминаются как “Grid”. Существуют также линии сетки, сопоставленные с “незначительным” немаркированным набором отметок деления быть атрибутом TicksBetween. Эти “незначительные” линии сетки упоминаются как “Subgrid”. Два вида линий сетки могут быть установлены независимо. В браузере интерактивного объекта вы найдете следующие атрибуты под CoordinateSystem2d (CS2d) и CoordinateSystem3d (CS3d), соответственно:

Атрибуты для линий сетки

название атрибута возможные значения/пример значение значение по умолчанию запись браузера
GridVisibleTRUE, FALSEвидимость “главных” линий сетки во всех направлениях FALSECS2d/3d
SubgridVisibleTRUE, FALSEвидимость “незначительных” линий сетки во всех направлениях FALSECS2d/3d
XGridVisibleTRUE, FALSEвидимость “главных” линий сетки в  направлении x FALSECS2d/3d
XSubgridVisibleTRUE, FALSEвидимость “незначительных” линий сетки в  направлении x FALSECS2d/3d
YGridVisibleTRUE, FALSEвидимость “главных” линий сетки в  направлении y FALSECS2d/3d
YSubgridVisibleTRUE, FALSEвидимость “незначительных” линий сетки в  направлении y FALSECS2d/3d
ZGridVisibleTRUE, FALSEвидимость “главных” линий сетки в  направлении z FALSECS3d
ZSubgridVisibleTRUE, FALSEвидимость “незначительных” линий сетки в  направлении z FALSECS3d
GridLineColorRgb цвет цвет всех “главных” линий сетки RGB::Grey75CS2d/3d
SubgridLineColorRgb цвет цвет всех “незначительных” линий сетки RGB::GreyCS2d/3d
GridLineWidth0.1*unit::mmширина всех “главных” линий сетки 0.1*unit::mmCS2d/3d
SubgridLineWidth0.1*unit::mmширина всех “незначительных” линий сетки 0.1*unit::mmCS2d/3d
GridLineStyleDashed, Dotted, Solidрисование стиля всех “главных” линий сетки SolidCS2d/3d
SubgridLineStyleDashed, Dotted, Solidрисование стиля всех “незначительных” линий сетки SolidCS2d/3d
GridInFrontTRUE, FALSEлинии сетки перед всеми объектами? FALSECS2d

Анимации требуют, чтобы, строя области значений x = xmin..xmaxy = ymin..ymax) был полностью задан в plotfunc2d (или plotfunc3d, соответственно). Анимации инициированы путем передачи дополнительной области значений, такой как a = amin..amax к plotfunc2d/plotfunc3d. a параметра анимации может подняться в выражении функций, которые должны быть построены, а также в различных других местах, таких как координаты заголовков и т.д. Смотрите раздел Graphics и Animations для деталей.

Атрибуты для анимаций

название атрибута возможные значения/пример значение значение по умолчанию запись браузера
Framesцелое число ≥ 0количество кадров анимации 50Function2d/3d
ParameterNameсимвольное имя имя параметра анимации  Function2d/3d
ParameterRangeamin..amaxобласть значений параметра анимации  Function2d/3d
ParameterBeginamin: действительное значение самое низкое значение параметра анимации  Function2d/3d
ParameterEndamax: действительное значение самое высокое значение параметра анимации  Function2d/3d
TimeRangestart..endфизическая область значений времени для анимации 0..10Function2d/3d
TimeBeginзапуск: действительное значение физическое время, когда анимация начинается 0Function2d/3d
TimeEndконец: действительное значение физическое время, когда анимация заканчивается 10Function2d/3d
VisibleBeforeдействительное значение физическое время, когда объект становится невидимым Function2d/3d
VisibleAfterдействительное значение физическое время, когда объект становится видимым Function2d/3d
VisibleFromToобласть значений действительных значений физическая область значений времени, когда объект видим Function2d/3d
VisibleBeforeBeginTRUE, FALSEвидимый, прежде чем анимация начинается? TRUEFunction2d/3d
VisibleAfterEndTRUE, FALSEвидимый после того, как анимация заканчивается? TRUEFunction2d/3d

Функции построены как полигоны, состоящие из сегментов прямой линии между точками “числовой mesh”. Число точек в этой числовой mesh установлено различными атрибутами “mesh”:

Атрибуты для числовой Mesh

название атрибута возможные значения/пример значение значение по умолчанию запись браузера
Meshцелое число ≥ 2количество “главной” mesh указывает в  направлении x. То же самое как XMesh. 121Function2d
MeshЦелое число [ ≥ 2, целое число ≥ 2]количество “главной” mesh указывает в  направлении y и x. Соответствует XMesh, YMesh. [25,25]Function3d
Submeshцелое число ≥ 0количество “незначительной” mesh указывает между “главными” точками mesh, установленными Mesh. То же самое как XSubmesh. 0Function2d
SubmeshЦелое число [ ≥ 0, целое число ≥ 0]количество “незначительной” mesh указывает между “главными” точками mesh, установленными Mesh. Соответствует XSubmesh, YSubmesh. [0, 0]Function3d
XMeshцелое число ≥ 2количество “главной” mesh указывает в  направлении x 121Function2d
XMeshцелое число ≥ 2количество “главной” mesh указывает в  направлении x 25Function3d
XSubmeshцелое число ≥ 0количество “незначительной” mesh указывает между “главными” точками mesh, установленными XMesh0Function2d/3d
YMeshцелое число ≥ 2количество “главной” mesh указывает в  направлении y 121Function2d
YMeshцелое число ≥ 2количество “главной” mesh указывает в  направлении y 25Function3d
YSubmeshцелое число ≥ 0количество “незначительной” mesh указывает между “главными” точками mesh, установленными YMesh0Function3d
AdaptiveMeshцелое число ≥ 0глубина адаптивной mesh 2Function2d
AdaptiveMeshцелое число ≥ 0глубина адаптивной mesh 0Function3d

В 2D изображениях, сгенерированных plotfunc2d, особенности функции обозначаются вертикальными строками (“вертикальные асимптоты”), если DiscontinuitySearch = FALSE не установлен. Вот таблица с атрибутами для установки стиля вертикальных асимптот:

Атрибуты для вертикальных асимптот

название атрибута возможные значения/пример значение значение по умолчанию запись браузера
VerticalAsymptotesVisibleTRUE, FALSEвидимость TRUEFunction2d
VerticalAsymptotesColorRgb цвет цвет RGB::Grey50Function2d
VerticalAsymptotesStyleDashed, Dotted, Solidрисование стиля DashedFunction2d
VerticalAsymptotesWidth0.2*unit::mmфизическая ширина 0.2*unit::mmFunction2d

Цвета функций, построенных по plotfunc2d, выбраны автоматически. Инспектор свойств (см. раздел Viewer, Браузер и Инспектора: Интерактивная Манипуляция), позволяет изменять эти атрибуты:

Атрибуты для строк

название атрибута возможные значения/пример значение значение по умолчанию запись браузера
LinesVisibleTRUE, FALSEвидимость строк (переключают эту функцию вкл\выкл), TRUEFunction2d
LineWidth0.2*unit::mmфизическая ширина линии 0.2*unit::mmFunction2d
LineColorRgb цвет цвет  Function2d
LineColor2Rgb цвет   Function2d
LineStyleDashed, Dotted, Solidрисование стиля объектов линии SolidFunction2d
LineColorTypeDichromatic, Flat, Functional, Monochrome, Rainbowцветовая схема для строк FlatFunction2d
LineColorFunctionпроцедура определяемая пользователем окраска  Function2d

Устанавливая LinesVisible = FALSE и PointsVisible = TRUE, функции, построенные по plotfunc2d, не будут отображены как полигоны, но как последовательности точек. Вот таблица атрибутов, чтобы установить стиль презентации точек:

Атрибуты для точек

название атрибута возможные значения/пример значение значение по умолчанию запись браузера
PointsVisibleTRUE, FALSEвидимость точек FALSEFunction2d
PointSize1.5*unit::mmфизический размер точек 1.5*unit::mmFunction2d
PointStyleCircles, Crosses, Diamonds, FilledCircles, FilledDiamonds, FilledSquares, Squares, Stars, XCrossesстиль презентации точек FilledCirclesFunction2d

Цвета и поверхностные стили функций, построенных по plotfunc3d, выбраны автоматически. Инспектор свойств (см. раздел Viewer, Браузер и Инспектора: Интерактивная Манипуляция), позволяет изменению эти атрибуты:

Атрибуты для поверхностного стиля 3-D функциональных графиков

название атрибута возможные значения/пример значение значение по умолчанию запись браузера
FilledTRUE, FALSEотобразиться как поверхность или как каркасная модель? TRUEFunction3d
FillColorRgb или цвет RGBa основной цвет (для плоской окраски)  Function3d
FillColor2Rgb или цвет RGBa дополнительный цвет (для Dichromatic и Monochrome, окрашивающего)  Function3d
FillColorTypeDichromatic, Flat, Functional, Monochrome, Rainbowцветовая схема DichromaticFunction3d
FillColorFunctionпроцедура определяемая пользователем окраска  Function3d
ShadingSmooth, Flatсглаженное или закрашивание плоскостями? SmoothFunction3d
XLinesVisibleTRUE, FALSEвидимость  строк параметра x TRUEFunction3d
YLinesVisibleTRUE, FALSEвидимость  строк параметра y TRUEFunction3d
MeshVisibleTRUE, FALSEвидимость внутренней триангуляции FALSEFunction3d
LineWidth0.35*unit::mmфизическая ширина линии 0.35*unit::mmFunction3d
LineColorRgb или цвет RGBa цвет строк параметра RGB::Black.[0.25]Function3d

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

С Scaling = Constrained модуль окружает образцовые координаты (квадрат в 2D, куб в 3D) отображен как модульное поле. С Scaling = Unconstrained средство отображения применяет различное преобразование масштабирования в координатных направлениях, чтобы получить оптимальный припадок изображения в окне экрана. Это, однако, может исказить круг к эллипсу. С Scaling = Constrained 2D круг появляется на экране как круг, 3D сфера появляется как сфера.

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

Когда очень трудоемкие графики состоят в том, чтобы быть созданы, может быть полезно создать графики в “пакетном режиме”. С атрибутом OutputFile = filename вывод графических данных не представляется на экран. Внешний файл с указанным именем, содержащим графические данные, создается вместо этого. Это может содержать данные XML, которые могут быть просмотрены позже путем открытия файла с инструментом 'VCam' графики MuPAD®. Также растровые файлы в различных стандартных растровых форматах, таких как bmp, jpg и т.д. могут быть созданы, который может быть просмотрен другими стандартными инструментами. Смотрите раздел Batch Mode для получения дальнейшей информации.

Различные атрибуты

название атрибута возможные значения/пример значение значение по умолчанию запись браузера
CoordinateTypeLinLin, LinLog, LogLin, LogLogлинейно-линейный, линейно-логарифмический, логарифмически-линейный, логарифмический журнал LinLinCoord.Sys.2d
CoordinateType LinLinLin, ..., LogLogLog "линейный линейный линейный", …, логарифмический логарифмический журнал LinLinLinCoord.Sys.3d
ScalingAutomatic, Constrained, Unconstrainedмасштабирование режимаUnconstrainedCoord.Sys.2d/3d
YXRatioположительное действительное значение соотношение сторон y : x (только для Scaling = Unconstrained) 1Scene2d/3d
ZXRatioположительное действительное значение соотношение сторон z : x (только для Scaling = Unconstrained) 2/3Scene3d
DiscontinuitySearchTRUE, FALSEпозвольте/запретите полусимвольный поиск разрывов TRUEFunction2d
OutputFileстрока сохраните данные о графике в файле