주요 콘텐츠

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

colon, :

벡터 생성, 배열 첨자, for 루프 반복

구문

x = j:k
x = j:i:k
A(:,n)
A(m,:)
A(:)
A(j:k)

설명

콜론은 MATLAB®에서 가장 유용한 연산자 중 하나로, 벡터나 첨자 배열을 만들고 for 반복을 지정하는 데 사용할 수 있습니다.

x = j:k[j,j+1,j+2,...,j+m] 요소를 가진 단위 간격의 벡터 x를 만듭니다. 여기서 m = fix(k-j)입니다. jk가 둘 다 정수인 경우에는 간단히 [j,j+1,...,k]라는 요소가 생성됩니다.

예제

x = j:i:ki를 요소 간의 증분값으로 사용하여 균일한 간격의 벡터 x를 만듭니다. 벡터 요소는 대략적으로 [j,j+i,j+2*i,...,j+m*i]와 같습니다. 여기서 m = fix((k-j)/i)입니다. 그러나, i가 정수가 아닌 경우에는 부동소수점 연산방식을 통해 colon이 벡터에 끝점 k를 포함할지를 결정합니다. kj+m*i정확히 같지 않을 수 있기 때문입니다.

예제

x = colon(j,k)x = colon(j,i,k)j:k 명령과 j:i:k 명령을 실행하는 또 다른 방법이지만 거의 사용되지 않습니다. 이 구문은 클래스에 대한 연산자 오버로드를 지원합니다.

A(:,n), A(m,:), A(:), A(j:k)는 행렬 A의 요소를 콜론으로 참조하는 흔한 인덱싱 표현식입니다. 인덱싱 표현식에서 콜론을 첨자로 사용할 경우(예: A(:,n)) 콜론은 특정 배열 차원의 모든 첨자를 포함한다는 의미입니다. A(j:k)와 같이 콜론을 인덱싱에 사용하여 벡터를 만드는 경우도 자주 있는 일입니다. A(:,j:k)에서와 같이 일부 인덱싱 표현식에서는 두 가지 콜론 사용법을 결합하기도 합니다.

콜론을 포함하는 일반적인 인덱싱 표현식은 다음과 같습니다.

  • A(:,n)은 행렬 An번째 열입니다.

  • A(m,:)은 행렬 Am번째 행입니다.

  • A(:,:,p)는 3차원 배열 Ap번째 페이지입니다.

  • A(:)A의 모든 요소를 단일 열 벡터로 형태 변경합니다. A가 이미 열 벡터인 경우에는 아무 영향을 미치지 않습니다.

  • A(:,:)A의 모든 요소를 2차원 행렬로 형태 변경합니다. A가 이미 행렬 또는 벡터인 경우에는 아무 영향을 미치지 않습니다.

  • A(j:k)는 벡터 j:k를 사용하여 A의 요소를 참조합니다. A가 벡터인 경우 A(j:k)A와 방향이 동일합니다. A가 행렬인 경우 A(j:k)는 행 벡터입니다.

  • A(:,j:k)는 첫 번째 차원으로부터는 모든 첨자를 포함하지만 두 번째 차원으로부터는 벡터 j:k의 요소를 참조합니다. 즉, 열 [A(:,j), A(:,j+1), ..., A(:,k)]를 가진 행렬이 반환됩니다.

예제

예제

모두 축소

1에서 10 사이 숫자로 구성된 단위 간격 벡터를 만들어 보겠습니다. 콜론 연산자는 +1을 디폴트 증분값으로 사용합니다.

x = 1:10
x = 1×10

     1     2     3     4     5     6     7     8     9    10

지정된 값만큼 증가하거나 감소하는 벡터를 만듭니다.

요소가 0.1씩 증가하는 벡터를 만듭니다.

x = 0:0.1:1
x = 1×11

         0    0.1000    0.2000    0.3000    0.4000    0.5000    0.6000    0.7000    0.8000    0.9000    1.0000

요소가 -2씩 감소하는 벡터를 만듭니다.

y = 10:-2:0
y = 1×6

    10     8     6     4     2     0

콜론(:)을 사용하여 행렬의 요소를 참조하는 몇 가지 방법을 검토해 보겠습니다.

3×3 행렬을 만듭니다. 첫 번째 행의 요소를 참조합니다.

A = magic(3)
A = 3×3

     8     1     6
     3     5     7
     4     9     2

A(1,:)
ans = 1×3

     8     1     6

두 번째 열과 세 번째 열의 요소를 참조합니다.

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

     1     6
     5     7
     9     2

행렬을 열 벡터로 형태 변경합니다.

A(:)
ans = 9×1

     8
     3
     4
     1
     5
     9
     6
     7
     2

for 루프 컨텍스트에서 콜론은 루프 반복을 지정합니다.

1에서 4 사이의 숫자 값 n을 제곱하는 for 루프를 작성합니다.

for n = 1:4
    n^2
end
ans = 
1
ans = 
4
ans = 
9
ans = 
16

입력 인수

모두 축소

시작 벡터 값으로, 실수 숫자형 스칼라로 지정됩니다. j < k로 출력 벡터가 비어 있지 않은 경우 j는 벡터의 첫 번째 요소입니다.

예: x = 0:5

예: x = 0:0.5:5

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

종료 벡터 값으로, 실수 숫자형 스칼라로 지정됩니다. k는 증분값의 배수가 최종적으로 k가 될 경우에만 벡터의 마지막 값이 됩니다. 예를 들어, 벡터 0:5는 5를 마지막 값으로 포함하지만 0:0.3:1은 증분값의 배수가 끝점과 일치하지 않으므로 값 1을 마지막 값으로 포함하지 않습니다.

예: x = 0:5

예: x = 0:0.5:5

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

벡터 요소 사이의 증분값으로, 실수 숫자형 스칼라로 지정됩니다.

예: x = 0:0.5:5

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

출력 인수

모두 축소

균일한 간격의 벡터로, 행 벡터로 반환됩니다. j > k이면 x = j:k는 빈 행렬이 됩니다. 일반적으로, 다음과 같은 경우 구문 x = j:i:k는 빈 행렬을 반환합니다.

  • i, j 또는 k가 빈 입력값인 경우

  • i == 0

  • i > 0이고 j > k인 경우

  • i < 0이고 j < k인 경우

  • for 도움말 페이지에는 루프 문의 컨텍스트에서 :을 사용하는 방법에 대한 설명이 나와 있습니다.

  • linspace는 콜론 연산자 :과 유사하지만 점의 개수를 직접 제어할 수 있고 끝점을 항상 포함합니다. 형제 함수 logspace는 로그 간격의 값을 생성합니다.

  • 셀형 배열이나 구조체형 배열의 요소를 참조하기 위해 cellName{:}이나 structName(:).fieldName과 같이 벡터를 만들면 MATLAB이 쉼표로 구분된 목록에 여러 출력값을 반환합니다. 자세한 내용은 쉼표로 구분된 목록을 사용하는 방법 항목을 참조하십시오.

확장 기능

모두 확장

버전 내역

R2006a 이전에 개발됨

모두 확장