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