Проверка допустимости хотя бы одного из уравнений и неравенств, представленных как элементы символьного массива
any( проверяет, является ли по крайней мере один элемент A)A возвращает логический 1 (true). Если A является матрицей, any тестирует элементы каждого столбца. Если A является многомерным массивом, any проверяет элементы вдоль одного размера.
Создать вектор 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 также преобразует все числовые значения вне уравнений и неравенств в логические 1s и 0с. Числовое значение 0 становится логическим 0:
syms x any([0, x == x + 1])
ans = logical 0
Все ненулевые числовые значения, включая отрицательные и комплексные, становятся логическими 1s:
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 для каждого вектора.