любой

Протестируйте, допустимо ли по крайней мере одно из уравнений и неравенств, представленных как элементы символьного массива,

Синтаксис

any(A)
any(A,dim)

Описание

пример

any(A) тесты, возвращает ли по крайней мере один элемент A логический 1 (true). Если A является матрицей, any тестирует элементы каждого столбца. Если A является многомерным массивом, any тестирует элементы по одному измерению.

пример

any(A,dim) тесты по измерению A заданы dim.

Примеры

Тестовый вектор символьных условий

Создайте векторный 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,1) тестирует элементы каждого столбца и возвращает вектор - строку из логического 1 s и 0 s. any(A,2) тестирует элементы каждой строки и возвращает вектор-столбец логического 1 s и 0 s.

Советы

  • Если A является пустым символьным массивом, any(A) возвращает логический 0.

  • Если некоторые элементы A являются только числовыми значениями (не уравнения или неравенства), any преобразовывает эти значения можно следующим образом. Все ненулевые числовые значения становятся логическим 1. Значение 0 становится логическим 0.

  • Если A является вектором, и любой из его элементов возвращает логический 1, any(A) возвращает логический 1. Если все элементы являются нулем, any(A) возвращает логический 0.

  • Если A является многомерным массивом, any(A) обрабатывает значения по первому измерению, которое не равно 1 (неодноэлементная размерность) как векторы, возвращая логический 1 или 0 для каждого вектора.

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

| | | | |

Представленный в R2012a

Для просмотра документации необходимо авторизоваться на сайте