DiscontinuitySearch
Полусимвольный поиск разрывов
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
Объекты | Значения по умолчанию DiscontinuitySearch |
---|---|
plot::Curve2d , plot::Curve3d , plot::Function2d , plot::Polar , plot::Sweep | TRUE |
DiscontinuitySearch
= TRUE
по сравнению с DiscontinuitySearch
= FALSE
определяет, проверяется ли графический объект (полу-) символически для разрывов и особенностей.
Определенные графические объекты, такие как функциональные графики или параметризованные кривые могут иметь особенности. Это может создать графические артефакты, такие как побочные строки между числовыми точками выборки, которые заключают особенность. С DiscontinuitySearch
= TRUE
, объект предварительно обрабатывается, чтобы найти потенциальные особенности. Если особые точки найдены, объект разделен в несколько непересекающихся подобъектов (“ответвления”), каждое из которых сглаженно.
DiscontinuitySearch
только доступен для объектов линии (2D функциональные графики и параметризованные кривые в 2D и 3D). Это не доступно для объектов подложки, таких как 3D функциональные графики и параметризованные поверхности!
Разрывы будут только обнаружены, если они будут вызваны системными функциями, которые реализованы как функциональная среда с соответствующим слотом "realDiscont"
или "numericDiscont"
.
Поиск разрывов использует арифметику интервала. Если специальные функции будут включены, которые не поддерживают этот вид арифметики, поиск не успешно выполнится.
По причинам эффективности рекомендуется отключить поиск разрывов с DiscontinuitySearch
= FALSE
, когда известно, что графический объект непрерывен.
Следующий график содержит полюса первого порядка. Когда поиск разрыва отключен, побочные вертикальные строки происходят, соединяя точки выборки слева от полюса с соседними точками выборки справа от полюса. Далее, окружение полюсов плохо выбирается:
plot(plot::Function2d(tan(x^2), x=-3..3, ViewingBoxYRange = -10..10, DiscontinuitySearch = FALSE)):
Без спецификации DiscontinuitySearch
настройка по умолчанию используется DiscontinuitySearch = TRUE
. Побочные строки исчезают. С VerticalAsymptotesVisible = TRUE
по умолчанию они заменяются пунктирными вертикальными асимптотами, указывающими на полюса. Также обратите внимание, что числовая выборка около полюсов лучше, потому что существование особенностей и их положений известно, прежде чем численная оценка функционального графика запускается:
plot(plot::Function2d(tan(x^2), x=-3..3, ViewingBoxYRange = -10..10)):
Функция Heaviside имеет разрыв скачка. Без поиска разрыва появляется побочная строка, соединяющая левые и правые предельные точки скачка:
plot(plot::Function2d(heaviside(x-1), x = -1..3, DiscontinuitySearch = FALSE)):
Эта побочная строка исчезает с настройкой по умолчанию DiscontinuitySearch
= TRUE
:
plot(plot::Function2d(heaviside(x-1), x = -1..3), VerticalAsymptotesVisible = FALSE):
Без поиска разрыва полюса следующей сингулярной 3D кривой плохо представлены графически:
plot(plot::Curve3d([cos(u), sin(u), tan(2*u)], u = 0..2*PI, ViewingBox = [-1..1, -1..1, -10..10], DiscontinuitySearch = FALSE)):
Настройка по умолчанию DiscontinuitySearch = TRUE
производит лучшее графическое представление:
plot(plot::Curve3d([cos(u), sin(u), tan(2*u)], u = 0..2*PI, ViewingBox = [-1..1, -1..1, -10..10])):