Main Content

코드에서 섹션 만들고 실행하기

R2021b 이후. 코드 섹션(R2021a) 및 라이브 스크립트에서 섹션 실행하기(R2021a)를 대체합니다.

MATLAB® 코드 파일에는 종종 다수의 명령과 많은 줄의 텍스트가 들어 있습니다. 일반적으로 코드 및 관련 텍스트를 조각으로 나눠 한 번에 코드의 한 부분씩 집중해서 작업합니다. 문서를 더 쉽게 관리하고 탐색하려면 파일을 섹션으로 나눕니다. 이렇게 하면 개별 섹션에서 코드를 실행하고 필요에 따라 섹션 간에 이동할 수 있습니다.

File open in the Editor showing two sections. The second section has a blue border around it indicating that it is the selected section.

파일을 섹션으로 나누기

섹션을 생성하려면 편집기 또는 라이브 편집기 탭으로 이동하여 섹션 섹션에서 섹션 나누기 버튼을 클릭하십시오. 새로운 섹션을 시작하려는 라인의 시작 부분에 두 개의 퍼센트 기호(%%)를 입력해도 됩니다. 새 섹션은 파란색 테두리로 강조 표시되어 선택되었음을 나타냅니다. 코드 파일에 섹션이 하나만 있는 경우 섹션이 항상 선택된 상태이므로 강조 표시되지 않습니다.

편집기에서 섹션은 두 개의 퍼센트 기호(%%)로 시작합니다. %%와 같은 라인에 있는 텍스트를 섹션 제목이라고 합니다. 섹션 제목을 포함하는 것은 선택 사항이지만, 코드를 퍼블리시했을 때 파일의 가독성을 향상시켜서 소제목으로 표시됩니다.

File open in the Editor showing two percent signs on line eight and a blue border above line eight indicating the start of the section

라이브 편집기에서 섹션에는 코드, 텍스트, 출력값 등이 들어갈 수 있습니다. 섹션을 만들거나 기존 섹션을 수정하면 섹션 왼쪽에 있는 막대에 세로 줄무늬 효과가 표시됩니다. 이 줄무늬 효과는 해당 섹션이 미실행 상태임을 나타냅니다. 미실행 섹션은 아직 실행되지 않은 섹션이거나 마지막 실행 이후 수정된 섹션입니다.

File open in the Live Editor showing a blank code line on line eight and a blue border above line eight indicating the start of the section

섹션 삭제하기

편집기에서 섹션 나누기를 삭제하려면 섹션의 시작 부분에 있는 두 개의 퍼센트 기호(%%)를 삭제하십시오. 라이브 편집기에서 섹션 나누기를 삭제하려면 나누어진 섹션 바로 다음 라인의 시작 부분에 커서를 놓고 Backspace를 누르십시오. 또는, 섹션 나누기 바로 앞 라인의 끝에 커서를 놓고 Delete 키를 눌러도 됩니다.

참고

MATLAB에서 추가한 섹션 나누기는 제거할 수 없습니다. MATLAB에서 섹션 나누기를 추가하는 시점에 대한 자세한 내용은 함수 내에서 섹션의 동작 항목과 루프와 조건문에서 섹션의 동작 항목을 참조하십시오.

섹션 여백 최소화하기

편집기에서 코드 편집에 사용할 수 있는 공간을 최대화하기 위해 섹션 실행, 여기까지 실행 및 코드 접기의 여백을 숨길 수 있습니다. 그러면 코드 왼쪽의 회색 영역이 최소화됩니다. 하나 이상의 여백을 숨기려면 코드 왼쪽의 회색 영역을 마우스 오른쪽 버튼으로 클릭하고 실행 섹션 여백 표시, 여기까지 실행 여백 표시 및/또는 코드 접기 여백 표시 옵션을 선택 해제하십시오.

섹션 실행하기

각 섹션을 개별적으로 실행하거나 파일의 모든 코드를 한 번에 실행하여 코드 파일을 실행할 수 있습니다. 섹션을 개별적으로 실행하려면 섹션에 필요한 모든 값이 포함되어 있거나 MATLAB 작업 공간에 값이 존재해야 합니다. 개별 섹션을 실행할 때 MATLAB은 파일을 저장하지 않으며 파일은 검색 경로에 없어도 됩니다.

다음 표에서는 코드를 실행하는 여러 가지 방법을 설명합니다.

작업지침
파일에 있는 모든 코드를 실행합니다.

편집기 탭이나 라이브 편집기 탭의 실행 섹션에서 실행을 클릭합니다.

선택된 섹션에서 코드를 실행합니다.

편집기 탭이나 라이브 편집기 탭의 섹션 섹션에서 섹션 실행을 클릭합니다.

라이브 편집기에서 섹션 왼쪽에 있는 파란색 표시줄을 클릭해도 됩니다.

Section in the Live Editor showing a blue bar to the left of the section.

선택된 섹션에서 코드를 실행한 후 다음 섹션으로 이동합니다.

편집기 탭이나 라이브 편집기 탭의 섹션 섹션에서 실행 및 진행을 선택합니다.

선택된 섹션에서 코드를 실행한 다음 선택된 섹션 뒤에 있는 코드를 모두 실행합니다.

편집기 탭이나 라이브 편집기 탭의 섹션 섹션에서 끝까지 실행을 선택합니다.

코드의 특정 라인까지 실행하고 일시 중지합니다.

라인 왼쪽에 있는 여기까지 실행 버튼을 클릭합니다. 선택한 라인에 도달할 수 없는 경우, MATLAB은 파일 끝에 도달하거나 중단점이 나타날 때까지 계속 실행됩니다.

편집기에서 여기까지 실행 버튼은 저장된 코드에만 사용할 수 있습니다. 라이브 편집기에서는 코드 저장 여부와 관계없이 모든 코드에 여기까지 실행 버튼을 사용할 수 있습니다. 함수 및 클래스에서 여기까지 실행 버튼은 실행이 일시 중지된 경우에만 사용할 수 있습니다.

자세한 내용은 MATLAB 코드 파일 디버그하기 항목을 참조하십시오.

섹션에서 값 증분하기

변경 사항이 발생할 때마다 섹션을 다시 실행하여 섹션 내의 숫자형 값을 증분할 수 있습니다. 이렇게 하면 코드를 세부 조정하고 시험해 볼 수 있습니다.

섹션 내에서 숫자형 값을 증가시키려면 라이브 편집기의 컨트롤을 사용하십시오. 예를 들어, 다음 코드는 변수 x의 계승을 계산합니다.

x = 5;
y = factorial(x)
y =
   120
x 값을 대화형 방식으로 변경하려면 라이브 스크립트에서 값 5를 숫자 슬라이더로 바꾸십시오. 기본적으로 MATLAB은 슬라이더의 값이 변경되면 현재 섹션을 다시 실행합니다.

Code that calculates the factorial of x. The value of x is replaced with a numeric slider with a minimum value of 0, a maximum value of 10, and an actual value of 5.

자세한 내용은 라이브 스크립트에 대화형 방식 컨트롤 추가하기 항목을 참조하십시오.

섹션 간 이동하기

한 파일 내에서 섹션의 코드를 실행하지 않고 섹션 간에 이동할 수 있습니다. 이 방법을 사용하면 한 파일 내에서 여러 섹션 간에 빠르고 쉽게 이동할 수 있습니다. 예를 들어, 큰 파일에서 특정 코드를 찾기 위해 이 방법으로 이동할 수도 있습니다.

작업지침
특정 섹션으로 이동합니다.

편집기 탭이나 라이브 편집기 탭의 탐색 섹션에서 이동 을 클릭합니다. 그런 다음 섹션 섹션에 있는 사용 가능한 옵션 중에서 선택합니다.

이전 섹션으로 이동합니다.

편집기 탭이나 라이브 편집기 탭의 탐색 섹션에서 이동 을 클릭한 다음 이전 섹션을 클릭합니다. 또는 Ctrl+위쪽 화살표 바로 가기 키를 사용해도 됩니다.

다음 섹션으로 이동합니다.

편집기 탭이나 라이브 편집기 탭의 탐색 섹션에서 이동 을 클릭한 다음 다음 섹션을 클릭합니다. 또는 Ctrl+아래쪽 화살표 바로 가기 키를 사용해도 됩니다.

함수 내에서 섹션의 동작

편집기에서 함수 내에 섹션 나누기를 추가하면 MATLAB은 함수 선언과 함수 end 문에 섹션 나누기를 삽입합니다. 함수를 end 문으로 끝내지 않으면 MATLAB은 이 함수가 다음 함수의 시작 직전에 끝나는 것처럼 동작합니다.

라이브 편집기에서는 함수 내에 섹션 나누기를 추가할 수 없습니다. 로컬 함수 내에서는 섹션이 지원되지 않습니다. 라이브 스크립트에 로컬 함수를 추가하면 MATLAB이 첫 번째 로컬 함수 정의 앞에 섹션 나누기를 추가하고 그 뒤의 섹션 나누기는 모두 제거합니다. 라이브 스크립트에서 개별 섹션을 실행할 때는 로컬 함수 정의 앞에 있는 섹션만 실행할 수 있습니다.

루프와 조건문에서 섹션의 동작

편집기에서 루프 또는 조건문(예: if 문 또는 for 루프) 내에 섹션 나누기를 추가하면 MATLAB은 명령문의 시작과 끝을 포함하는 라인에 섹션 나누기를 추가합니다(이러한 라인에 이미 섹션 나누기가 포함되지 않은 경우). 루프나 조건문 내의 섹션은 나머지 코드에 있는 섹션과 독립되어 있으며 나머지 코드에 있는 섹션 내부에 중첩됩니다. 중첩된 루프나 조건문 내의 섹션도 중첩됩니다.

예를 들어, 이 코드는 10개의 요소를 가진 벡터를 사전할당한 다음 9개 값을 계산합니다. 계산된 값이 짝수이면 MATLAB은 계산된 값에 1을 더합니다.

x = ones(1,10);
for n = 2:10

    x(n) = 2 * x(n - 1);
    if rem(x(n), 2) == 0
        
        x(n) = x(n) + 1;
    end
end

3번 라인(for 루프 내)에 섹션 나누기를 추가하면 MATLAB은 9번 라인(for 루프의 end 문)에 섹션 나누기를 추가합니다. 6번 라인(if 문 내)에 섹션 나누기를 추가하면 MATLAB은 8번 라인(if 문의 end 문)에 섹션 나누기를 추가하여 세 개 수준으로 중첩된 섹션이 생깁니다.

  • 가장 바깥쪽 중첩 수준에서는 한 섹션이 전체 파일로 확장됩니다.

    File open in the Editor with the selected section spanning the entire file, and section breaks at line three, six, eight, and nine

  • 두 번째 중첩 수준에서는 한 섹션이 for 루프 내에 존재합니다.

    File open in the Editor with the selected section spanning from line three to line nine, and section breaks at line six and eight

  • 세 번째 중첩 수준에서는 한 섹션이 if 문 내에 존재합니다.

    File open in the Editor with the selected section spanning from line six to line eight, and section breaks at line three and nine

관련 항목