график::

Параметризованные 2D кривые

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.

Синтаксис

plot::Curve2d([x, y], t = tmin .. tmax, <a = amin .. amax>, options)
plot::Curve2d(A2d, t = tmin .. tmax, <a = amin .. amax>, options)
plot::Curve2d(piecewiseF(t), t = tmin .. tmax, <a = amin .. amax>, options)

Описание

plot::Curve2d([x(t), y(t)], t = tmin.. tmax) создает плоскую кривую

.

plot::Curve2d строит кривые в одном параметре. Смотрите Пример 1,

Можно использовать его, чтобы построить анимированные кривые. Смотрите Пример 2.

Кривые могут содержать полюса, в этом случае автоматическое усечение используется по умолчанию. Смотрите Пример 4.

По умолчанию кривые выбираются в равноотстоящих значениях параметра t. Чтобы изменить это поведение так, чтобы более плотный уровень выборки использовался в областях высшей кривизны, используйте атрибут AdaptiveMesh. Смотрите Пример 5.

Кривые являются графическими объектами, которыми можно управлять. Смотрите примеры и документацию для атрибутов для деталей.

Атрибуты

АтрибутЦельЗначение по умолчанию
AdaptiveMeshадаптивная выборка0
AffectViewingBoxвлияние объектов на ViewingBox сценыTRUE
AntiAliasedсглаженные строки и точки?TRUE
Colorосновной цветRGB::Blue
DiscontinuitySearchполусимвольный поиск разрывовTRUE
Framesколичество кадров в анимации50
Legendделает запись легенды 
LegendTextкороткий объяснительный текст для легенды 
LegendEntryдобавить этот объект в легенду?TRUE
LineColorцвет строкRGB::Blue
LineWidthширина строк0.35
LineColor2цвет строкRGB::DeepPink
LineStyleтело, подчеркнутые штриховой линией или пунктирные линии?Solid
LinesVisibleвидимость строкTRUE
LineColorTypeтипы окраски строкиFlat
LineColorFunctionфункциональная окраска строки 
LineColorDirectionнаправление цветовых переходов на строках[0, 1]
LineColorDirectionXx-компонент направления цветовых переходов на строках0
LineColorDirectionYy-компонент направления цветовых переходов на строках1
Meshколичество точек выборки121
Nameимя объекта графика (для браузера и легенды) 
ParameterEndзакончите значение параметра анимации 
ParameterNameимя параметра анимации 
ParameterBeginначальное значение параметра анимации 
ParameterRangeобласть значений параметра анимации 
PointSizeразмер точек1.5
PointStyleстиль презентации точекFilledCircles
PointsVisibleвидимость точек meshFALSE
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 компонент 
UMaxокончательное значение параметра “u”5
UMeshколичество точек выборки для параметра “u”121
UMinначальное значение параметра “u”-5
UNameимя параметра “u” 
URangeобласть значений параметра “u”-5 .. 5
USubmeshплотность дополнительных точек выборки для параметра “u”0
VisibleвидимостьTRUE
VisibleAfterобъект, видимый после этой временной стоимости 
VisibleBeforeобъект, видимый до этой временной стоимости 
VisibleFromToобъект, видимый в это время, располагается 
VisibleAfterEndобъект, видимый после его законченного времени анимации?TRUE
VisibleBeforeBeginобъект, видимый перед его временем анимации, запускается?TRUE
XFunctionфункция для x значений 
YFunctionфункция для y значений 

Примеры

Пример 1

Спираль Archimedes задана f (r) = (rsin (r), rcos (r)). Соответствующий вызов чтений plot::Curve2d:

curve := plot::Curve2d([r*sin(r), r*cos(r)], r = 0..35)

plot(curve)

Обратите внимание на то, что этот конкретный пример является еще более прямым, чтобы построить использование plot::Polar.

Пример 2

При продолжении примера сверху, задайте легкую анимацию путем создания угловой части зависящей от времени:

curve := plot::Curve2d([r*sin(r-t), r*cos(r-t)],
                       r = 0..35, t = 0..2*PI,
                       TimeEnd = 5,
                       ViewingBox = [-25..25, -25..25]):
plot(curve)

Обратите внимание на то, что, чтобы запустить анимацию, необходимо дважды кликнуть изображение в блокноте и выбрать "Start" из меню “Animation”.

Пример 3

Другой полезный и легкий тип анимации достигается путем анимации области значений параметра. Это создает иллюзию кривой, чертившей в режиме реального времени:

curve := plot::Curve2d([sin(thet), cos(thet)],
                       thet = 0..a,
                       a = 0..2*PI):
plot(curve)

Комбинируя это с анимированным LineColorFunction, можно даже моделировать движение:

colorfunc := (thet, x, y, a) -> [a-thet, a-thet, 1.0]:
curve := plot::Curve2d([sin(3*thet), sin(4*thet)],
                       thet = a-1..a,
                       LineColorFunction = colorfunc,
                       LineWidth = 1,
                       a = 0..2*PI):
plot(curve)

Пример 4

Кривые с полюсами автоматически отсекаются:

curve := plot::Curve2d([(1+tan(3*t)^2)*sin(t),
                        (1+tan(3*t)^2)*cos(t)],
                       t = 0..2*PI):
plot(curve);

Можно явным образом установить другие значения для просмотра поля:

curve::ViewingBox := [-2..2, -2..2]:
plot(curve)

Пример 5

По умолчанию кривые чертятся путем оценки в равноотстоящих значениях параметра кривой. Для кривых, которые имеют немного областей высокого искривления, это может быть несоответствующим:

plot(plot::Curve2d([arctan(t), t^2-10*exp(-50*t^2)],
                   t = -PI..PI))

Отметьте твердую “петлю” в нижней части изображения. С другой стороны, остаток от кривой достаточно сглажен, таким образом, глобально увеличение числа точек оценки не желательно. AdaptiveMesh заставляет plot::Curve2d искать эти петли и адаптивно повысить плотность mesh в проблематичных областях:

plot(plot::Curve2d([arctan(t), t^2-10*exp(-50*t^2)],
                   t = -PI..PI, AdaptiveMesh = 2))

Пример 6

Чтобы отобразить кривую в комплексной плоскости, сопоставьте функциональный [Re, Im] со знаком списка с кривой:

plot(plot::Curve2d([Re, Im](zeta(I*y+1/2)), y=0..42,
                   AdaptiveMesh=3),
     XAxisTitle = "Re(z)", YAxisTitle = "Im(z)")

Параметры

x, y

Выражения с действительным знаком в t (и возможно параметр анимации)

A2d

Матрица категории Cat::Matrix с двумя записями, которые предоставляют параметризации x, y 2D кривой

piecewiseF(t)

Объект piecewise

t

Идентификатор или индексируемый идентификатор

tmin, tmax

Выражения с действительным знаком (возможно в параметре анимации)

a

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

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

Функции MuPAD

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