Проверяйте, верно ли хотя бы одно из уравнений и неравенств, представленных в качестве элементов символьного массива
Создайте векторные V
который содержит символическое уравнение и неравенства как его элементы:
syms x real V = [x ~= x + 1, abs(x) >= 0, x == x];
Использование any
проверить, действителен ли хотя бы один из них для всех значений x
:
any(V)
ans = logical 1
Создайте эту матрицу символьных уравнений и неравенств:
syms x real M = [x == 2*x, x == abs(x); abs(x) >= 0, x == 2*x]
M = [ x == 2*x, x == abs(x)] [ 0 <= abs(x), x == 2*x]
Использование any
для проверки уравнений и неравенств этой матрицы. По умолчанию any
проверяет, действителен ли какой-либо элемент каждого столбца для всех возможных значений переменных. Если хотя бы одно уравнение или неравенство в столбце верно (возвращает логическое 1
), затем any
возвращает логический 1
для этого столбца. В противном случае возвращается логический 0
для столбца. Таким образом, он возвращается 1
для первого столбца и 0
для второго столбца:
any(M)
ans = 1×2 logical array 1 0
Создайте эту матрицу символьных уравнений и неравенств:
syms x real M = [x == 2*x, x == abs(x); abs(x) >= 0, x == 2*x]
M = [ x == 2*x, x == abs(x)] [ 0 <= abs(x), x == 2*x]
Для матриц и многомерных массивов, any
можно тестировать элементы по заданному измерению. Чтобы задать размерность, используйте второй аргумент any
. Для примера, чтобы протестировать элементы каждого столбца матрицы, используйте значение 1 в качестве второго аргумента:
any(M, 1)
ans = 1×2 logical array 1 0
Чтобы протестировать элементы каждой строки, используйте значение 2 в качестве второго аргумента:
any(M, 2)
ans = 2×1 logical array 0 1
Проверьте, возвращает ли какой-либо элемент этого вектора логический 1
. Обратите внимание, что any
также преобразует все числовые значения вне уравнений и неравенства в логические 1
s и 0
s. Числовое значение 0 становится логическим 0
:
syms x any([0, x == x + 1])
ans = logical 0
Все ненулевые числовые значения, включая отрицательные и комплексные числа, становятся логическими 1
s:
any([-4 + i, x == x + 1])
ans = logical 1
Если A
- пустой символьный массив, any(A)
возвращает логический 0
.
Если некоторые элементы A
являются просто числовыми значениями (не уравнениями или неравенствами), any
преобразует эти значения следующим образом. Все ненулевые числовые значения становятся логическими 1
. Значение 0 становится логическим 0
.
Если A
является вектором, и любой из его элементов возвращает логический 1
, any(A)
возвращает логический 1
. Если все элементы равны нулю, any(A)
возвращает логический 0
.
Если A
- многомерный массив, any(A)
обрабатывает значения первой размерности, не равные 1 (не синглтонная размерность), как векторы, возвращая логические 1
или 0
для каждого вектора.