plot::Function3d

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}` с подходящими числовыми действительными значениями zminzmax . Смотрите пример 2.

Анимации инициированы путем указания диапазона a = `a_{min}` .. `a_{max}` для параметра a это отличается от indedependent переменных xY. Таким образом, в анимациях, 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: xminxmax должны быть числовые действительные значения или выражения параметра анимации a. Если не заданный, область значений по умолчанию x = -5 .. 5 используется.

xmin xmax эквивалентно атрибутам XRangexmin xmax .

y

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

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

ymin .. ymax

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

ymin ymax эквивалентно атрибутам YRangeymin ymax .

a

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

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

Функции MuPAD

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