이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

배열 인덱싱

MATLAB®의 모든 변수는 많은 수를 포함할 수 있는 배열입니다. 선택한 배열의 요소에 액세스하기 위해서는 인덱싱을 사용합니다.

A라는 4x4 마방진을 예로 들어보겠습니다.

A = magic(4)
A = 4×4

    16     2     3    13
     5    11    10     8
     9     7     6    12
     4    14    15     1

배열의 특정 요소를 참조하는 방법에는 두 가지가 있습니다. 가장 일반적인 방법은 다음과 같이 행 첨자와 열 첨자를 지정하는 것입니다.

A(4,2)
ans = 14

자주 쓰이지는 않지만 때로 유용한 방법으로, 단일 첨자를 사용해 열을 순서대로 아래쪽으로 세어 나가는 방법도 있습니다.

A(8)
ans = 14

단일 첨자를 사용하여 배열의 특정 요소를 참조하는 것을 선형 인덱싱(Linear Indexing)이라고 합니다.

대입문 우변에서 배열의 범위를 벗어난 요소를 참조하려고 하면 MATLAB에서 오류가 발생합니다.

test = A(4,5)

Index exceeds matrix dimensions.

하지만 대입문 좌변에서는 현재 차원을 벗어난 요소를 지정할 수 있습니다. 그러면 새로운 요소를 수용할 수 있도록 배열의 크기가 늘어납니다.

A(4,5) = 17
A = 4×5

    16     2     3    13     0
     5    11    10     8     0
     9     7     6    12     0
     4    14    15     1    17

배열의 요소를 여러 개 참조하려면 콜론 연산자를 사용하십시오. 콜론 연산자를 사용하면 start:end 형식으로 범위를 지정할 수 있습니다. 예를 들어, A의 두 번째 열에 위치한 처음 세 행의 요소를 나열해 보겠습니다.

A(1:3,2)
ans = 3×1

     2
    11
     7

start 값과 end 값을 지정하지 않고 콜론만 사용하여 해당 차원의 모든 요소를 지정할 수 있습니다. 예를 들어, A의 세 번째 행에 있는 모든 열을 선택해 보겠습니다.

A(3,:)
ans = 1×5

     9     7     6    12     0

또한 콜론 연산자를 사용하면 좀 더 일반적인 형식인 start:step:end를 사용하여, 균일한 간격의 값으로 구성된 벡터를 만들 수 있습니다.

B = 0:10:100
B = 1×11

     0    10    20    30    40    50    60    70    80    90   100

start:end처럼 가운데에 있는 step을 생략하면 MATLAB에서는 디폴트 step 값인 1을 사용합니다.