Main Content

any

모든 배열 요소가 0이 아닌 값인지 확인

설명

예제

B = any(A)는 크기가 1이 아닌 A의 첫 번째 배열 차원에 따라 테스트하고 모든 요소가 0이 아닌 숫자이거나 논리값 1(true)인지를 확인합니다. 사실상 any는 논리 연산자 OR의 확장된 개념이라고 할 수 있습니다.

  • A가 벡터인 경우 B = any(A)A의 모든 요소가 0이 아닌 숫자이거나 논리값 1이면 논리값 1(true)을 반환하고 모든 요소가 0이면 논리값 0(false)을 반환합니다.

  • A가 비어 있지 않으며 벡터가 아닌 행렬인 경우 B = any(A)A의 열을 벡터로 취급하여 논리값 10으로 구성된 행 벡터를 반환합니다.

  • A가 빈 0×0 행렬인 경우 any(A)는 논리값 0(false)을 반환합니다.

  • A가 다차원 배열인 경우 any(A)는 크기가 1이 아닌 첫 번째 배열 차원을 따라 동작을 수행하고 논리값으로 구성된 배열을 반환합니다. 이 차원의 크기는 1이 되고 다른 모든 차원의 크기는 변경되지 않습니다.

B = any(A,'all')A의 모든 요소를 테스트합니다. 이 구문은 MATLAB® 버전 R2018b 이상에서 유효합니다.

예제

B = any(A,dim)은 차원 dim을 따라 요소를 테스트합니다. dim 입력값은 양의 정수 스칼라입니다.

예제

B = any(A,vecdim)은 벡터 vecdim에 지정된 차원을 기준으로 요소를 테스트합니다. 예를 들어, A가 행렬인 경우 any(A,[1 2])는 1번째 차원과 2번째 차원으로 정의된 배열 슬라이스가 행렬의 모든 요소를 포함하므로, 결국 A의 모든 요소를 테스트하게 됩니다.

예제

모두 축소

3×3 행렬을 만듭니다.

A = [0 0 3;0 0 3;0 0 3]
A = 3×3

     0     0     3
     0     0     3
     0     0     3

각 열의 요소가 0이 아닌지를 테스트합니다.

B = any(A)
B = 1x3 logical array

   0   0   1

소수로 구성된 벡터를 만들어 어느 값이 0.5보다 작은지를 테스트합니다.

A = [0.53 0.67 0.01 0.38 0.07 0.42 0.69];
B = (A < 0.5)
B = 1x7 logical array

   0   0   1   1   1   1   0

출력값은 논리값으로 구성된 벡터입니다. any 함수는 이러한 논리값으로 구성된 벡터를 단일 조건으로 축소합니다. 이 경우 B = any(A < 0.5)는 논리값 1을 생성합니다.

따라서 anyif 문에 특히 유용합니다.

if any(A < 0.5)

%do something

else

%do something else

end

상충할 수 있는 여러 조건의 벡터가 아니라 단일 조건에 따라 코드가 실행됩니다.

3×7×5 다차원 배열을 만들어 모든 요소가 3보다 큰지를 테스트합니다.

A = rand(3,7,5) * 5;
B = any(A(:) > 3)
B = logical
   1

또한 배열의 요소가 0보다 작은지를 테스트할 수도 있습니다.

B = any(A(:) < 0)
B = logical
   0

구문 A(:)A의 요소를 단일 열 벡터로 바꾸어 이 유형의 명령문을 크기에 관계없이 모든 배열에 사용할 수 있게 합니다.

3×3 행렬을 만듭니다.

A = [0 0 3;0 0 3;0 0 3]
A = 3×3

     0     0     3
     0     0     3
     0     0     3

dim = 2를 지정하여 A의 행에서 요소가 0이 아닌지를 테스트합니다.

B = any(A,2)
B = 3x1 logical array

   1
   1
   1

3차원 배열을 만들고 데이터의 각 페이지(행과 열)에 0이 아닌 요소가 있는지 여부를 확인합니다.

A(:,:,1) = [2 0; 0 0];
A(:,:,2) = [0 0; 0 0];
A(:,:,3) = [0 0; 0 1];
B = any(A,[1 2])
B = 1x1x3 logical array
B(:,:,1) =

   1


B(:,:,2) =

   0


B(:,:,3) =

   1

입력 인수

모두 축소

입력 배열로, 스칼라, 벡터, 행렬, 다차원 배열 중 하나로 지정됩니다. any 함수는 NaN(Not-a-Number)인 A의 요소를 무시합니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char
복소수 지원 여부:

연산을 수행할 차원으로, 양의 정수 스칼라로 지정됩니다. 차원을 지정하지 않을 경우 디폴트 값은 크기가 1보다 큰 첫 번째 배열 차원이 됩니다.

2차원 입력 배열 A가 있다고 가정하겠습니다.

  • any(A,1)A의 열에 있는 연속된 요소에 대해 동작을 수행하고 논리값으로 구성된 행 벡터를 반환합니다.

  • any(A,2)A의 행에 있는 연속된 요소에 대해 동작을 수행하고 논리값으로 구성된 열 벡터를 반환합니다.

any(A,1) column-wise computation and any(A,2) row-wise computation.

데이터형: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

차원의 벡터로, 양의 정수로 구성된 벡터로 지정됩니다. 각 요소는 입력 배열의 차원을 나타냅니다. 지정된 연산 차원의 출력값의 길이는 1이고, 다른 모든 차원의 길이는 변경되지 않습니다.

2×3×3 입력 배열 A가 있다고 가정하겠습니다. any(A,[1 2])는 1×1×3 배열을 반환하는데 이 배열의 요소는 A의 각 페이지에서 0이 아닌 값을 나타냅니다.

any(A,[1 2]) collapses the pages of a 2-by-3-by-3 array into a 1-by-1-by-3 array.

데이터형: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

출력 인수

모두 축소

논리형 배열로, 스칼라, 벡터, 행렬, 다차원 배열 중 하나로 반환됩니다. any가 동작을 수행하는 A의 차원 크기는 B1로 지정되어 있습니다.

확장 기능

버전 내역

R2006a 이전에 개발됨

참고 항목

| | | | |