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).

Примеры

Пример 1

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]))

Пример 2

iszero не реагирует на свойства:

assume(a = b): is(a - b = 0)

iszero(a - b)

Пример 3

Несмотря на то, что iszero возвращает FALSE в следующем примере, рассматриваемое выражение математически представляет нуль:

iszero(sin(x)^2 + cos(x)^2 - 1)

В этом случае simplify может решить это:

simplify(sin(x)^2 + cos(x)^2 - 1)

Пример 4

iszero не должен использоваться в условии, переданном piecewise:

delete x:
piecewise([iszero(x), 0], [x <> 0, 1])

Первое ответвление было отброшено, потому что iszero(x) сразу оценивает к FALSE. Вместо этого используйте условие x = 0, который передается неоцененный piecewise:

piecewise([x = 0, 0], [x <> 0, 1])

Параметры

object

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

Возвращаемые значения

Или TRUE или FALSE

Перегруженный

object

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

Аксиомы MuPAD

Функции MuPAD