3.3 논리형 배열
3.3.1 관계 연산자
관계 연산자(>
, <
, ==
, ~=
등)는 두 값을 비교. 결과는 1(true) 또는 0(false)이다.
t = pi < 4
결과 :
t =
1
이때, 결과는 정수형이 아닌 논리형이다.
3.3.2 논리형 배열
관계 연산자로 벡터 또는 행렬을 단일 스칼라값과 비교할 수 있다. 결과는 원래 배열과 동일한 크기의 논리형 배열.
[5 10 15] > 12
결과 :
ans =
0 0 1
3.3.3 논리형 indexing
Index로서의 논리형 배열
배열 index로 논리형 배열을 사용 가능. 이때 결과는 index가 true인 배열 요소.
x = [5 10 15 20];
v = x(x > 12)
결과 :
x =
15 20
논리형 indexing은 두 개의 다른 벡터에서도 사용 가능.
x = s(v > 6) \\ 6보다 큰 v의 요소들과 같은 위치에 있는 s의 요소들을 포함하는 변수 x를 생성.
v = [5 10 8 14];
s = [1 4 5 7];
x = s(v > 9)
결과 :
x =
4 7
논리형 indexing을 사용한 재할당
예를 들어, 배열 x에서 999에 해당하는 모든 값을 1로 재할당하려면,
x(x == 999) = 1
물론, &
(and)나 |
(or) 구문도 사용 가능.