график::

Кривые корней рациональных выражений

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

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

Синтаксис

plot::Rootlocus(p(z, u), u = umin .. umax, <a = amin .. amax>, options)

Описание

plot::Rootlocus(p(z, u), u = umin.. umax) создает 2D график кривых в комплексной плоскости, данной полностью p (z, u) = 0 (решенный для z) как параметр, u отличается между umin и umax.

Для любого данного значения u plot::Rootlocus решает уравнение p (z, u) = 0 для z. Решения задают точки с координатами x = (z), y = (z) в комплексной плоскости. Как параметр отличается u, решения формируют непрерывные кривые что изображенный plot::Rootlocus.

Корни числителя p(z, u) рассматриваются. Все сложные решения этого полинома в z вычисляются численно через numeric::polyroots.

Полином первоначально решен для некоторых значений u из области значений u = `u_{min}` .. `u_{max}`. Дополнительный аргумент Mesh = n может использоваться, чтобы задать номер n этих начальных точек (значение по умолчанию равняется 51). Эти точки не равномерно распределены, но накапливаются близко к концу области значений.

Стандартная программа затем пытается разделить на пары корни для смежных значений u путем выбора самых близких друг к другу.

Наконец, стандартная программа пытается проследить различные кривые путем соединения смежных точек с линейными сегментами. Если сегменты смежной строки показывают углы, которые не являются близко к 180 градусам, дополнительные корни вычисляются для значений параметров u между значениями начальной mesh. До m такие шаги bisectioning возможны, где m задан дополнительным аргументом AdaptiveMesh = m (значение по умолчанию равняется 4). С AdaptiveMesh = 0, может быть выключен этот адаптивный механизм.

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

  • Область значений параметра u = `u_{min}` .. `u_{max}` может быть необоснованно большой. Уменьшайте эту область значений до разумного размера!

  • Увеличьте размер n начальной mesh с помощью опции Mesh = n. Обратите внимание на то, что увеличение n некоторым фактором может увеличить время выполнения графика того же фактора!

  • Увеличьте число m возможных адаптивных шагов bisectioning с помощью опции AdaptiveMesh = m. Обратите внимание на то, что увеличение m 1 может увеличить время выполнения графика фактора 2!

  • Используя опции LinesVisible = FALSE в сочетании с PointsVisible = TRUE, корни отображены как отдельные точки, не соединяя линейные сегменты.

Cf. Пример 2.

Анимации инициированы путем определения области значений a = `a_{min}` .. `a_{max}` для параметра a, который отличается от переменных z и u. Cf. Пример 3.

Кривые могут быть окрашены схемой определяемого пользователем цвета. Только передайте опцию LineColorFunction = mycolor, где mycolor является пользователем definied процедура, которая возвращает значение цвета RGB. Стандартный plot::Rootlocus вызывает mycolor(u, x, y), где u является значением параметров и x, y действительные и мнимые части корня p (x + i y, u) = 0. Cf. Пример 4.

Атрибуты

АтрибутЦельЗначение по умолчанию
AdaptiveMeshадаптивная выборка4
AffectViewingBoxвлияние объектов на ViewingBox сценыTRUE
AntiAliasedсглаженные строки и точки?TRUE
Framesколичество кадров в анимации50
Legendделает запись легенды 
LegendTextкороткий объяснительный текст для легенды 
LegendEntryдобавить этот объект в легенду?FALSE
LineColorцвет строкRGB::Blue
LineWidthширина строк0.35
LineStyleтело, подчеркнутые штриховой линией или пунктирные линии?Solid
LinesVisibleвидимость строкTRUE
LineColorTypeтипы окраски строкиFlat
LineColorFunctionфункциональная окраска строки 
Meshколичество точек выборки51
Nameимя объекта графика (для браузера и легенды) 
ParameterEndзакончите значение параметра анимации 
ParameterNameимя параметра анимации 
ParameterBeginначальное значение параметра анимации 
ParameterRangeобласть значений параметра анимации 
PointSizeразмер точек1.0
PointStyleстиль презентации точекFilledCircles
PointsVisibleвидимость точек meshFALSE
RationalExpressionрациональное выражение в графике rootlocus 
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” 
UMeshколичество точек выборки для параметра “u”51
UMinначальное значение параметра “u” 
UNameимя параметра “u” 
URangeобласть значений параметра “u” 
VisibleвидимостьTRUE
VisibleAfterобъект, видимый после этой временной стоимости 
VisibleBeforeобъект, видимый до этой временной стоимости 
VisibleFromToобъект, видимый в это время, располагается 
VisibleAfterEndобъект, видимый после его законченного времени анимации?TRUE
VisibleBeforeBeginобъект, видимый перед его временем анимации, запускается?TRUE

Примеры

Пример 1

Корнями полиномиального z 2 - 2 u z + 1 дают и. Мы визуализируем эти две кривые с помощью графика rootlocus:

plot(plot::Rootlocus(z^2 - 2*u*z + 1, u = -1.5..1.5))

Для рациональных выражений рассматриваются корни числителя. Следующий график отображает корни полинома числителя (z 2 - u) 2 + u   (z - u) 3:

plot(plot::Rootlocus(1 + u * (z - u)^3/(z^2 - u)^2, u = -1..1)):

Вот различные другие примеры:

plot(plot::Rootlocus((z^2 - 2*u*z + 1)^2 + u, u = -1..1))

plot(plot::Rootlocus((z^2 - u)^6 + u^2, u = -2..2,
                                 Color = RGB::Red))

plot(plot::Rootlocus((z^5  - 1)^3 + u, u = -1..1, PointsVisible,
                                                  PointSize = 1.5))

Пример 2

Следующий график довольно грязен, поскольку размер mesh по умолчанию 51 начальной точки на каждой кривой не достаточен, чтобы получить хорошее разрешение:

plot(plot::Rootlocus((z-u)^3 - u/z^3, u = -10^3 .. 10^3)):

Мы получаем лучшее разрешение путем уменьшения области значений параметра u к разумному размеру. Существует все еще несколько точек, которые правильно не подходятся в кривых:

plot(plot::Rootlocus((z-u)^3 - u/z^3, u = -10 .. 10)):

Мы увеличиваем размер mesh, чтобы исправить эту проблему:

plot(plot::Rootlocus((z-u)^3 - u/z^3, u = -10 .. 10, Mesh = 251)):

Мы строим корни как отдельные точки, не отображая сегменты соединительной линии:

plot(plot::Rootlocus((z-u)^3 - u/z^3, u = -10 .. 10, Mesh = 501,
                     LinesVisible = FALSE, PointsVisible)):

Пример 3

Мы анимируем выражение, корни которого к нанесенному на график:

plot(plot::Rootlocus(z^2 - 2*u*z + a, u = -1..1, a = -0.2 .. 2, Mesh = 10),
     plot::Text2d(a -> "a = ".stringlib::formatf(a, 2, 5), [1.2, 1.0], a = -0.2 .. 1));

Мы анимируем область значений параметра:

plot(plot::Rootlocus(z^2 - 2*u*z + 0.81, u = -1 .. a, a = -1 .. 1, Mesh = 10))

Пример 4

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

plot(plot::Rootlocus(z^2 - 2*u*z + 0.81, u = -1..1,
                     LineColorFunction = ((u, x, y) -> [(1 - u)/2, 0, (1 + u)/2])))

Параметры

p(z, u)

Арифметическое выражение в двух неизвестных z и u и, возможно, параметр анимации a. Это должно быть рациональное выражение в z.

p(z, u) эквивалентен атрибуту RationalExpression.

z

Имя неизвестного: идентификатор или индексируемый идентификатор.

u

Имя параметра кривой: идентификатор или индексируемый идентификатор.

u эквивалентен атрибуту UName.

umin .. umax

Область значений параметра кривой: umin, umax должен быть числовыми действительными значениями или выражениями параметра анимации a.

umin.. umax эквивалентен атрибутам URange, UMin, UMax.

a

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

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

Функции MuPAD

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

Для просмотра документации необходимо авторизоваться на сайте