iszeroТипичный нулевой тест
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
iszero(object)
iszero(object) проверяет, является ли object нулевым элементом в области object.
Используйте условие iszero(object) вместо object = 0, чтобы решить, является ли object нулевым элементом, потому что iszero(object) является более общим, чем object = 0. Если вызов, bool(object = 0) возвращает TRUE, то iszero(object) возвращает TRUE также, но в целом не наоборот (см. Пример 1).
Если object является элементом основного типа, то iszero возвращает TRUE точно, если одно из следующего верно: object является целочисленный 0 (доменного типа DOM_INT), значение с плавающей точкой 0.0 (доменного типа DOM_FLOAT), интервал с плавающей точкой (доменного типа DOM_INTERVAL) 0...0 или нулевой полином (доменного типа DOM_POLY). В случае полинома результат FALSE, как гарантируют, будет правилен, только если коэффициенты полинома находятся в нормальной форме (т.е. если нуль имеет уникальное представление в содействующем звонке). См. также Ax::normalRep.
Если object является элементом области библиотеки, то метод, которым "iszero" области называется и результат, возвращен. Если этот метод не существует, то функциональный iszero возвращает FALSE.
iszero выполняет чисто синтаксический нулевой тест. Если iszero возвращает TRUE, то ответ всегда правилен. Если iszero возвращает FALSE, однако, то это может все еще быть верно, что математически object представляет нуль (см. Пример 3). В таких случаях функции MuPAD® normal или simplify могут смочь распознать это.
iszero не учитывает свойства идентификаторов в object, которые были установлены через assume. В частности, вы не должны использовать iszero в аргументе, переданном assume или is; используйте форму object = 0 вместо этого (см. Пример 2).
Не используйте iszero в условии, переданном piecewise. В отличие от object = 0, команда iszero(object) сразу оценен, прежде чем это будет передано piecewise, в то время как оценка object = 0 обработана самим piecewise. Таким образом использование iszero в команде piecewise обычно приводит к нежелательным эффектам (см. Пример 4).
iszero обрабатывает типы основных данных:
iszero(0), iszero(1/2), iszero(0.0), iszero(I), iszero(-1...1)
![]()
iszero работает на полиномы:
p:= poly(x^2 + y, [x]): iszero(p)
![]()
iszero(poly(0, [x, y]))
![]()
iszero является более общим, чем =:
bool(0 = 0), bool(0.0 = 0), bool(poly(0, [x]) = 0)
![]()
iszero(0), iszero(0.0), iszero(poly(0, [x]))
![]()
Несмотря на то, что iszero возвращает FALSE в следующем примере, рассматриваемое выражение математически представляет нуль:
iszero(sin(x)^2 + cos(x)^2 - 1)
![]()
В этом случае simplify может решить это:
simplify(sin(x)^2 + cos(x)^2 - 1)
![]()
iszero не должен использоваться в условии, переданном piecewise:
delete x: piecewise([iszero(x), 0], [x <> 0, 1])
![]()
Первое ответвление было отброшено, потому что iszero(x) сразу оценивает к FALSE. Вместо этого используйте условие x = 0, который передается неоцененный piecewise:
piecewise([x = 0, 0], [x <> 0, 1])

|
Произвольный объект MuPAD |
object