график::
2D функциональные графики
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
plot::Function2d(f
,options
) plot::Function2d(f
,x = xmin .. xmax
, <a = amin .. amax
>,options
)
plot::Function2d
создает 2D график одномерной функции.
Графика игнорирует все точки, где выражение/функция f
не производит числовое действительное значение. Смотрите Пример 2.
Выражение/функция f
может иметь особенности в области значений графика. Несмотря на то, что эвристика используется, чтобы найти разумную область значений y, когда особенности присутствуют, она настоятельно рекомендована, чтобы задать область значений y через ViewingBoxYRange
= `y_{min}` .. `y_{max}`
с подходящими числовыми действительными значениями ymin
, ymax
. Смотрите Пример 3.
Анимации инициированы путем определения области значений a = `a_{min}` .. `a_{max}`
для параметра a
, который отличается от независимой переменной x
. Таким образом, в анимациях, оба x - область значений x = `x_{min}` .. `x_{max}`
, а также область значений анимации a = `a_{min}` .. `a_{max}`
должен быть задан. Смотрите Пример 4.
Функциональный f
оценен на равноотстоящей mesh точек выборки, определенных атрибутом XMesh
(или краткое обозначение Mesh
). По умолчанию атрибут, AdaptiveMesh = 0
установлен, т.е. никакое адаптивное улучшение равноотстоящей mesh, используется.
Если стандартная mesh не достаточна, чтобы произвести достаточно подробный график, можно или увеличить значение XMesh
или установить AdaptiveMesh = n
с некоторым (маленьким) положительным целочисленным n
. При необходимости до 2n дополнительные точки помещаются между смежными точками начальной равноотстоящей mesh. Смотрите Пример 5.
По умолчанию атрибут DiscontinuitySearch = TRUE
установлен. Это инициировало полусимвольную предварительную обработку выражения f
, чтобы искать разрывы и особенности. В каждой особой точке функциональный график разделен в непересекающиеся ответвления налево и справа от особенности. Это избегает графических артефактов, таких как соединительные точки строк налево и справа от особенности.
Если функция, как известно, является регулярной в области значений графика, полусимвольный поиск может быть отключен путем определения DiscontinuitySearch = FALSE
. Это повысит эффективность команд plot.
Особые точки подсвечены вертикальной строкой, если VerticalAsymptotesVisible = FALSE
не задан. Его стиль может быть установлен атрибутами VerticalAsymptotesStyle
, VerticalAsymptotesWidth
и VerticalAsymptotesColor
.
Эта функциональность только доступна, если функция задана арифметическое выражение или процедура, которая принимает символьные аргументы. Это не доступно, если функция задана объектом piecewise
или процедурой, которая принимает только числовые аргументы.
Смотрите пример 6.
plot::Hatch
позволяет штриховать области между функциональными графиками. Смотрите Пример 7.
Атрибут | Цель | Значение по умолчанию |
---|---|---|
AdaptiveMesh | адаптивная выборка | 2 |
AffectViewingBox | влияние объектов на ViewingBox сцены | TRUE |
AntiAliased | сглаженные строки и точки? | TRUE |
Color | основной цвет | RGB::Blue |
DiscontinuitySearch | полусимвольный поиск разрывов | TRUE |
Frames | количество кадров в анимации | 50 |
Function | выражение function или процедура | |
Legend | делает запись легенды | |
LegendText | короткий объяснительный текст для легенды | |
LegendEntry | добавить этот объект в легенду? | TRUE |
LineColor | цвет строк | RGB::Blue |
LineWidth | ширина строк | 0.35 |
LineColor2 | цвет строк | RGB::DeepPink |
LineStyle | тело, подчеркнутые штриховой линией или пунктирные линии? | Solid |
LinesVisible | видимость строк | TRUE |
LineColorType | типы окраски строки | Flat |
LineColorFunction | функциональная окраска строки | |
LineColorDirection | направление цветовых переходов на строках | [0, 1] |
LineColorDirectionX | x-компонент направления цветовых переходов на строках | 0 |
LineColorDirectionY | y-компонент направления цветовых переходов на строках | 1 |
Mesh | количество точек выборки | 121 |
Name | имя объекта графика (для браузера и легенды) | |
ParameterEnd | закончите значение параметра анимации | |
ParameterName | имя параметра анимации | |
ParameterBegin | начальное значение параметра анимации | |
ParameterRange | область значений параметра анимации | |
PointSize | размер точек | 1.5 |
PointStyle | стиль презентации точек | FilledCircles |
PointsVisible | видимость точек mesh | FALSE |
Submesh | плотность подmesh (дополнительные точки выборки) | 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 компонент | |
VerticalAsymptotesColor | цвет вертикальных асимптот, указывающих на полюса | RGB::Grey50 |
VerticalAsymptotesWidth | ширина линии вертикальных асимптот, указывающих на полюса | 0.2 |
VerticalAsymptotesStyle | стиль линии вертикальных асимптот, указывающих на полюса | Dashed |
VerticalAsymptotesVisible | вертикальные асимптоты, указывающие на полюса | TRUE |
Visible | видимость | TRUE |
VisibleAfter | объект, видимый после этой временной стоимости | |
VisibleBefore | объект, видимый до этой временной стоимости | |
VisibleFromTo | объект, видимый в это время, располагается | |
VisibleAfterEnd | объект, видимый после его законченного времени анимации? | TRUE |
VisibleBeforeBegin | объект, видимый перед его временем анимации, запускается? | TRUE |
XMax | окончательное значение параметра “x” | 5 |
XMesh | количество точек выборки для параметра “x” | 121 |
XMin | начальное значение параметра “x” | -5 |
XName | имя параметра “x” | |
XRange | область значений параметра “x” | -5 .. 5 |
XSubmesh | плотность дополнительных точек выборки для параметра “x” | 0 |
Следующий вызов возвращает объект, представляющий график синусоидальной функции на интервале [0, 2 π]:
f := plot::Function2d(sin(x), x = 0 .. 2*PI)
Вызовите plot
, чтобы построить график:
plot(f):
Функции могут также быть заданы объектами piecewise
или процедурами:
f := piecewise([x < 1, 1 - x], [x >= 1, x^2]): plot(plot::Function2d(f, x = -2 .. 4)):
f := proc(x) begin if x^2 - 2*x < 0 then 0 else x^2 - 2*x end_if: end_proc: plot(plot::Function2d(f, x = -2 .. 4)):
delete f:
Недействительные значения проигнорированы в графике:
plot(plot::Function2d(sqrt(1 - x^2), x = -2 .. 2), Scaling = Constrained):
Мы строим функцию с особенностями:
f := plot::Function2d(sin(x)/(1 - x) - 1/cos(x), x = 0 .. PI): plot(f):
Мы задаем явную область значений просмотра для направления y:
plot(f, ViewingBoxYRange = -20 .. 10):
delete f:
Мы генерируем анимацию параметрической функции:
plot(plot::Function2d(a*sin(x) + (1 - a)*cos(x), x = -PI .. PI, a = 0 .. 1)):
Стандартная mesh для численной оценки функционального графика не достаточна, чтобы сгенерировать удовлетворяющую графику в следующем случае:
plot(plot::Function2d(sin(PI/x), x = -1 .. 1)):
Мы увеличиваем число точек mesh:
plot(plot::Function2d(sin(PI/x), x = -1 .. 1, XMesh = 1000)):
Также мы включаем адаптивную выборку установкой AdaptiveMesh
к некоторому положительному значению:
plot(plot::Function2d(sin(PI/x), x = -1 .. 1, AdaptiveMesh = 3)):
Наконец, мы увеличиваем значение XMesh
и используем адаптивную выборку:
plot(plot::Function2d(sin(PI/x), x = -1 .. 1, XMesh = 1000, AdaptiveMesh = 3)):
С VerticalAsymptotesVisible = TRUE/FALSE
особые точки подсвечены вертикальной асимптотой, или это выделение выключено, соответственно:
plot(plot::Function2d(ln(x + PI) + 1/(x - 1) - 1/(x + 1)^2, x = -4 .. 4, VerticalAsymptotesVisible = TRUE, ViewingBoxYRange = -10 .. 10)):
plot(plot::Function2d(ln(x + PI) + 1/(x - 1) - 1/(x + 1)^2, x = -4 .. 4, VerticalAsymptotesVisible = FALSE, ViewingBoxYRange = -10 .. 10)):
Объект plot::Hatch
позволяет штриховать области между функциями. Это ожидает графические объекты типа plot::Function2d
или plot::Curve2d
как контуры:
f1:= plot::Function2d(sin(x), x = -PI .. 2*PI): f2:= plot::Function2d(cos(x), x = -PI .. 2*PI): plot(f1, f2, plot::Hatch(f1, f2, -1 .. 5)):
delete f1, f2:
|
Функция: арифметическое выражение или объект
|
|
Независимая переменная: идентификатор или индексируемый идентификатор.
|
|
Область значений графика: |
|
Параметр анимации, заданный как |