график::
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: |
|
Параметр анимации, заданный как |