plot::Curve2d

Параметризованные 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)")

Параметры

xY

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

A2d

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

piecewiseF(t)

piecewise объект

t

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

tmin, tmax

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

a

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

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

Функции MuPAD

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