график::

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

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

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

Для 3-D графика функций в MATLAB® смотрите surf.

Синтаксис

plot::Function3d(f, options)
plot::Function3d(f, x = xmin .. xmax, y = ymin .. ymax, <a = amin .. amax>, options)

Описание

plot::Function3d создает 3D график функции в 2 переменных.

Выражение f(x, y) выполнено в конечно многих точках x, y в области значений графика. Могут быть особенности. Несмотря на то, что эвристика используется, чтобы найти разумную область значений z, когда особенности присутствуют, она настоятельно рекомендована, чтобы задать область значений z через ViewingBoxZRange = `z_{min}` .. `z_{max}` с подходящими числовыми действительными значениями zmin, zmax. Смотрите Пример 2.

Анимации инициированы путем определения области значений a = `a_{min}` .. `a_{max}` для параметра a, который отличается от indedependent переменных x, y. Таким образом, в анимациях, x - области значений x = `x_{min}` .. `x_{max}`, y - область значений y = `y_{min}` .. `y_{max}`, а также область значений анимации a = `a_{min}` .. `a_{max}` должен быть задан. Смотрите Пример 3.

Функциональный f оценен на регулярной равноотстоящей mesh точек выборки, определенных атрибутами XMesh и YMesh (или краткое обозначение для обоих, Mesh). По умолчанию атрибут, AdaptiveMesh = 0 установлен, т.е. никакое адаптивное улучшение равноотстоящей mesh, используется.

Если стандартная mesh не достаточна, чтобы произвести достаточно подробный график, можно или увеличить значение XMesh и YMesh или установить AdaptiveMesh = n с некоторым (маленьким) положительным целочисленным n. Это может привести к до 4n времена столько же треугольников, сколько используется с AdaptiveMesh = 0, потенциально больше, когда f не изолировал особенности. Смотрите Пример 4.

“Координатные строки” (“строки параметра”) являются кривыми на функциональном графике.

Фраза “XLines” отсылает к кривым (x, y 0, f (x, y 0)) с параметром x, запускающийся от xmin до xmax, в то время как y 0 является некоторым фиксированным значением от интервала [ymin, ymax].

Фраза “YLines” отсылает к кривым (x 0, y, f (x 0, y)) с параметром y, запускающийся от ymin до ymax, в то время как x 0 является некоторым фиксированным значением от интервала [xmin, xmax].

По умолчанию строки параметра видимы. Они могут быть “выключены” путем определения XLinesVisible = FALSE и YLinesVisible = FALSE, соответственно.

Координатные строки, которыми управляет XLinesVisible = TRUE/FALSE и YLinesVisible = TRUE/FALSE, указывают на равноотстоящий регулярный набор mesh через атрибуты Mesh. Если mesh усовершенствована атрибутами Submesh или адаптивным механизмом, которым управляет AdaptiveMesh = n, никакие дополнительные линии параметра не проведены.

Насколько числовое приближение функционального графика затронуто, настройки

Mesh = [nx, ny], Submesh = [mx, my]

и

Mesh = [(nx - 1) (mx + 1) + 1, (ny - 1) (my + 1) + 1], Submesh = [0, 0]

эквивалентны. Однако в первой установке, строки параметра nx видимы в направлении x, в то время как в последнем параметре установки (nx - 1) (mx + 1) + 1 строки видимы. Смотрите Пример 5.

Атрибуты

АтрибутЦельЗначение по умолчанию
AdaptiveMeshадаптивная выборка0
AffectViewingBoxвлияние объектов на ViewingBox сценыTRUE
Colorосновной цветRGB::Red
Filledзаполненные или прозрачные области и поверхностиTRUE
FillColorцвет областей и поверхностейRGB::Red
FillColor2второй цвет областей и поверхностей для цветных смешенийRGB::CornflowerBlue
FillColorTypeтипы заполнения поверхностиDichromatic
FillColorFunctionфункциональная область / поверхностная окраска 
FillColorDirectionнаправление цветовых переходов на поверхностях[0, 0, 1]
FillColorDirectionXx-компонент направления цветовых переходов на поверхностях0
FillColorDirectionYy-компонент направления цветовых переходов на поверхностях0
FillColorDirectionZz-компонент направления цветовых переходов на поверхностях1
Framesколичество кадров в анимации50
Functionвыражение function или процедура 
Legendделает запись легенды 
LegendTextкороткий объяснительный текст для легенды 
LegendEntryдобавить этот объект в легенду?TRUE
LineColorцвет строкRGB::Black.[0.25]
LineWidthширина строк0.35
LineColor2цвет строкRGB::DeepPink
LineStyleтело, подчеркнутые штриховой линией или пунктирные линии?Solid
LinesVisibleвидимость строкTRUE
LineColorTypeтипы окраски строкиFlat
LineColorFunctionфункциональная окраска строки 
LineColorDirectionнаправление цветовых переходов на строках[0, 0, 1]
LineColorDirectionXx-компонент направления цветовых переходов на строках0
LineColorDirectionYy-компонент направления цветовых переходов на строках0
LineColorDirectionZz-компонент направления цветовых переходов на строках1
Meshколичество точек выборки[25, 25]
MeshVisibleвидимость неправильных строк mesh в 3DFALSE
Nameимя объекта графика (для браузера и легенды) 
ParameterEndзакончите значение параметра анимации 
ParameterNameимя параметра анимации 
ParameterBeginначальное значение параметра анимации 
ParameterRangeобласть значений параметра анимации 
PointSizeразмер точек1.5
PointStyleстиль презентации точекFilledCircles
PointsVisibleвидимость точек meshFALSE
Shadingсглаживайте цветное смешение поверхностейSmooth
Submeshплотность подmesh (дополнительные точки выборки)[0, 0]
TimeEndвремя окончания анимации10.0
TimeBeginвремя начала анимации0.0
TimeRangeоперативный промежуток анимации0.0 .. 10.0
Titleобъектный заголовок 
TitleFontшрифт объектных заголовков[" sans-serif ", 11]
TitlePositionположение объектных заголовков 
TitleAlignmentвыравнивание по горизонтали заголовков w.r.t. их координатыCenter
TitlePositionXположение объектных заголовков, x компонент 
TitlePositionYположение объектных заголовков, y компонент 
TitlePositionZположение объектных заголовков, z компонент 
VisibleвидимостьTRUE
VisibleAfterобъект, видимый после этой временной стоимости 
VisibleBeforeобъект, видимый до этой временной стоимости 
VisibleFromToобъект, видимый в это время, располагается 
VisibleAfterEndобъект, видимый после его законченного времени анимации?TRUE
VisibleBeforeBeginобъект, видимый перед его временем анимации, запускается?TRUE
XLinesVisibleвидимость строк параметра (x строки)TRUE
XMaxокончательное значение параметра “x”5
XMeshколичество точек выборки для параметра “x”25
XMinначальное значение параметра “x”-5
XNameимя параметра “x” 
XRangeобласть значений параметра “x”-5 .. 5
XSubmeshплотность дополнительных точек выборки для параметра “x”0
YLinesVisibleвидимость строк параметра (y строки)TRUE
YMaxокончательное значение параметра “y”5
YMeshколичество точек выборки для параметра “y”25
YMinначальное значение параметра “y”-5
YNameимя параметра “y” 
YRangeобласть значений параметра “y”-5 .. 5
YSubmeshплотность дополнительных точек выборки для параметра “y”0
ZContoursлинии контура в постоянных z значениях[]

Примеры

Пример 1

Следующий вызов возвращает объект, представляющий график функционального sin (x 2 + y 2) по области - 2 ≤ x ≤ 2, - 2 ≤ y ≤ 2:

g := plot::Function3d(sin(x^2 + y^2), x = -2..2, y = -2..2)

Вызовите plot, чтобы построить график:

plot(g)

Функции могут также быть заданы объектами piecewise или процедурами:

f := piecewise([x < y, 0], [x >= y, (x - y)^2]):
plot(plot::Function3d(f, x = -2 .. 4, y = -1 .. 3))

f := proc(x, y)
begin
  if x + y^2 + 2*y < 0 then
     0
  else
     x + y^2 + 2*y 
  end_if:
end_proc:
plot(plot::Function3d(f, x = -3 .. 2, y = -2 .. 2))

delete g, f

Пример 2

Мы строим функцию с особенностями:

f := plot::Function3d(x/y + y/x, x = -1 .. 1, y = - 1 .. 1):
plot(f)

Мы задаем явную область значений просмотра для направления z:

plot(f, ViewingBoxZRange = -20 .. 20)

delete f

Пример 3

Мы генерируем анимацию параметрической функции:

plot(plot::Function3d(sin((x - a)^2 + y^2), 
                      x = -2 .. 2, y = -2 .. 2, a = 0 .. 5))

Пример 4

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

plot(plot::Function3d(besselJ(0, sqrt(x^2 + y^2)), 
                      x = -20 .. 20, y = -20 .. 20))

Мы увеличиваем число точек mesh. Здесь, мы используем XSubmesh и YSubmesh, чтобы поместить 2 дополнительных точки в каждое направление между каждой парой соседних точек mesh по умолчанию. Это увеличивает время выполнения фактором 9:

plot(plot::Function3d(besselJ(0, sqrt(x^2 + y^2)), 
                      x = -20 .. 20, y = -20 .. 20,
                      Submesh = [2, 2]))

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

plot(plot::Function3d(besselJ(0, sqrt(x^2 + y^2)), 
                      x = -20 .. 20, y = -20 .. 20,
                      AdaptiveMesh = 2))

Пример 5

По умолчанию строки параметра функционального графика “включаются”:

plot(plot::Function3d(x^2 + y^2, x = 0 .. 1, y = 0 .. 1))

Строки параметра “выключены” установкой XLinesVisible, YLinesVisible:

plot(plot::Function3d(x^2 + y^2, x = 0 .. 1, y = 0 .. 1,
                      XLinesVisible = FALSE,
                      YLinesVisible = FALSE))

Количество строк параметра определяется атрибутами Mesh:

plot(plot::Function3d(x^2 + y^2, x = 0 .. 1, y = 0 .. 1,
                      Mesh = [5, 12]))

Когда mesh усовершенствована через атрибуты Submesh, числовое приближение поверхности становится более сглаженным. Однако число строк параметра не увеличено:

plot(plot::Function3d(x^2 + y^2, x = 0 .. 1, y = 0 .. 1,
                      Mesh = [5, 12],
                      XSubmesh = 1, YSubmesh = 2))

Пример 6

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

plot(plot::Function3d(sqrt(1-x^2-y^2), x=-1..1, y=-1..1))

plot(plot::Function3d(sqrt(sin(x)+cos(y))))

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

chi := piecewise([x^2 < abs(y), 1])

plot(plot::Function3d(chi*sin(x+cos(y))),
     CameraDirection=[-1,0,0.5])

Параметры

f

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

f эквивалентен атрибуту Function.

x

Первая независимая переменная: идентификатор или индексируемый идентификатор.

x эквивалентен атрибуту XName.

xmin .. xmax

Область значений графика в направлении x: xmin, xmax должен быть числовыми действительными значениями или выражениями параметра анимации a. Если не заданный, область значений по умолчанию x = -5 .. 5 используется.

xmin .. xmax эквивалентен атрибутам XRange, XMin, XMax.

y

Вторая независимая переменная: идентификатор или индексируемый идентификатор.

y эквивалентен атрибуту YName.

ymin .. ymax

Область значений графика в направлении y: ymin, ymax должен быть числовыми действительными значениями или выражениями параметра анимации a. Если не заданный, область значений по умолчанию y = -5 .. 5 используется.

ymin .. ymax эквивалентен атрибутам YRange, YMin, YMax.

a

Параметр анимации, заданный как a = amin..amax, где amin является начальным значением параметров и amax, является итоговым значением параметров.

Смотрите также

Функции MuPAD

MuPAD графические примитивы