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