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}`
с подходящими числовыми действительными значениями 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 ] |
FillColorDirectionX | x-компонент направления цветовых переходов на поверхностях | 0
|
FillColorDirectionY | y-компонент направления цветовых переходов на поверхностях | 0
|
FillColorDirectionZ | z-компонент направления цветовых переходов на поверхностях | 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 ] |
LineColorDirectionX | x-компонент направления цветовых переходов на линиях | 0
|
LineColorDirectionY | y-компонент направления цветовых переходов на линиях | 0
|
LineColorDirectionZ | z-компонент направления цветовых переходов на линиях | 1
|
Mesh | количество точек выборки | [25 , 25 ] |
MeshVisible | видимость неправильных линий mesh в 3D | FALSE |
Name | имя объекта графика (для браузера и легенды) | |
ParameterEnd | закончите значение параметра анимации | |
ParameterName | имя параметра анимации | |
ParameterBegin | начальное значение параметра анимации | |
ParameterRange | область значений параметра анимации | |
PointSize | размер точек | 1.5
|
PointStyle | стиль презентации точек | FilledCircles |
PointsVisible | видимость точек mesh | FALSE |
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 значениях | [] |
Следующий вызов возвращает объект, представляющий график функционального 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
Мы строим функцию с сингулярностью:
f := plot::Function3d(x/y + y/x, x = -1 .. 1, y = - 1 .. 1): plot(f)
Мы указываем явный диапазон просмотра для направления z:
plot(f, ViewingBoxZRange = -20 .. 20)
delete f
Мы генерируем анимацию параметрической функции:
plot(plot::Function3d(sin((x - a)^2 + y^2), x = -2 .. 2, y = -2 .. 2, a = 0 .. 5))
Стандартная 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))
По умолчанию линии параметра функционального графика “включаются”:
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))
Функции не должны быть заданы в целой области значений параметра:
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])
|
Функция: арифметическое выражение или
|
|
Первая независимая переменная: идентификатор или индексируемый идентификатор.
|
|
Область значений графика в направлении x: |
|
Вторая независимая переменная: идентификатор или индексируемый идентификатор.
|
|
Область значений графика в направлении y: |
|
Параметр анимации, заданный как |