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

코드 섹션

파일을 코드 섹션으로 분할하기

MATLAB® 파일은 대개 여러 명령으로 구성됩니다. 일반적으로 사용자는 청크 단위로 코드 작업을 수행하며 한 번에 프로그램의 한 부분에 대해서만 집중적으로 작업합니다. 마찬가지로, 다른 사람에게 파일을 설명할 때에도 대개 청크 단위로 프로그램을 설명합니다. 이러한 프로세스를 원활하게 수행하기 위해 코드 셀 또는 셀 모드라고도 하는 코드 섹션을 사용합니다. 코드 섹션은 MATLAB 스크립트에서 하나의 그룹으로 실행할 코드의 연속적인 라인을 포함하며, 두 개의 주석 문자(%%)로 시작합니다.

코드 섹션의 경계를 명시적으로 정의하려면 다음 방법을 사용하여 섹션 나누기를 삽입하십시오.

  • 편집기(Editor) 탭의 편집(Edit) 섹션에 있는 삽입(Insert) 버튼 그룹에서 을 클릭합니다.

  • 새 코드 섹션을 시작하려는 라인의 시작 부분에 두 개의 퍼센트 기호(%%)를 입력합니다.

%%와 같은 라인에 있는 텍스트를 섹션 제목 이라고 합니다. 섹션 제목을 포함시키는 것은 선택 사항이지만, 섹션 제목을 포함시키면 파일의 가독성이 향상되고 코드를 퍼블리시할 때 제목으로 나타납니다.

코드 섹션 실행하기

MATLAB 파일을 개발할 때 편집기의 섹션 기능을 사용하여 섹션별로 파일을 실행할 수 있습니다. 이 방법은 프로그램을 시험하고 세부 조정하는 데 도움이 됩니다. 섹션 간을 탐색하고 각 섹션을 개별적으로 실행할 수 있습니다. 섹션을 실행하려면 해당 섹션에 필요한 모든 값이 포함되어 있거나 이러한 값이 MATLAB 작업 공간에 존재해야 합니다.

섹션 실행 기능은 현재 노란색으로 강조 표시되어 있는 섹션 코드를 실행합니다. MATLAB은 개별 코드 섹션을 실행할 때 파일을 자동으로 저장하지 않습니다. 이 파일이 검색 경로에 있을 필요는 없습니다.

다음 표에는 코드 섹션 실행과 관련된 지침이 나와 있습니다.

작업지침
현재 섹션의 코드를 실행합니다.
  • 코드 섹션에 커서를 놓습니다.

  • 편집기(Editor) 탭의 실행(Evaluate) 섹션에서 섹션 실행(Run Section)을 클릭합니다.

현재 섹션의 코드를 실행한 후 다음 섹션으로 이동합니다.
  • 코드 섹션에 커서를 놓습니다.

  • 편집기(Editor) 탭의 실행(Evaluate) 섹션에서 실행 및 진행(Run and Advance)을 클릭합니다.

파일에 포함된 모든 코드를 실행합니다.
  • 저장된 스크립트 이름을 명령 창에 입력합니다.

  • 편집기(Editor) 탭의 실행(Evaluate) 섹션에서 실행(Evaluate)을 클릭합니다.

코드 섹션 내 값 증가시키기

섹션 내 값의 숫자를 증가시키고 해당 섹션을 다시 실행할 수 있습니다. 그러면 코드를 세부 조정하고 시험하는 데 도움이 됩니다.

섹션 내 숫자를 증가시키거나 감소시키려면 다음을 수행하십시오.

  1. 코드 중 숫자를 강조 표시하거나 숫자 옆에 커서를 놓습니다.

  2. 마우스 오른쪽 버튼을 클릭하여 상황별 메뉴를 엽니다.

  3. 값 증가 및 섹션 실행(Increment Value and Run Section)을 선택합니다. 작은 대화 상자가 나타납니다.

  4. / 텍스트 상자나 / 텍스트 상자에 적절한 값을 입력합니다.

  5. , , , 버튼 중 하나를 클릭하여 섹션에서 선택한 숫자에 더하거나, 이 숫자에서 빼거나, 이 숫자와 곱하거나 나눕니다.

    MATLAB은 클릭할 때마다 섹션을 실행합니다.

참고

MATLAB은 스크립트의 숫자에 수행한 변경 내용을 자동으로 저장하지 않습니다.

파일 내 코드 섹션 간 탐색하기

섹션 내 코드를 실행하지 않고 파일 내 섹션 간을 탐색할 수 있습니다. 이를 통해 파일 내 섹션 간을 신속하게 이동할 수 있습니다. 예를 들어, 이 방법으로 대형 파일에서 특정 코드를 찾을 수 있습니다.

작업지침
다음 섹션으로 이동합니다.
  • 편집기(Editor) 탭의 실행(Evaluate) 섹션에서 진행(Advance)을 클릭합니다.

이전 섹션으로 이동합니다.
  • Ctrl + 위쪽 화살표를 누릅니다.

특정 섹션으로 이동합니다.
  • 편집기(Editor) 탭의 탐색(Navigate) 섹션에서 이동(Go)을 사용하여 선택한 섹션으로 커서를 이동합니다.

코드 섹션 실행의 예

이 예제에서는 sine_wave.m이라는 파일에 두 개의 코드 섹션을 정의한 후 파라미터를 증가시켜 가며, 생성되는 플롯을 조정합니다. 편집기에서 이 파일을 열려면 다음 명령을 실행한 후 파일을 로컬 폴더에 저장하십시오.

edit(fullfile(matlabroot,'help','techdoc','matlab_env',...
'examples','sine_wave.m'))

편집기에서 파일이 열리면 다음을 수행하십시오.

  1. 파일의 첫 번째 라인에 섹션 나누기와 다음 제목을 삽입합니다.

     %% Calculate and Plot Sine Wave
    

  2. plot(x,y) 뒤에 빈 라인과 두 번째 섹션 나누기를 삽입합니다. 전체 파일에 이 코드가 포함되도록 섹션 제목 Modify Plot Properties를 추가합니다.

    %% Calculate and Plot Sine Wave
    % Define the range for x.
    % Calculate and plot y = sin(x).
    x = 0:1:6*pi;
    y = sin(x);
    plot(x,y)
    
    %% Modify Plot Properties
    title('Sine Wave')
    xlabel('x')
    ylabel('sin(x)')
    fig = gcf;
    fig.MenuBar = 'none';

  3. 파일을 저장합니다.

  4. Calculate and Plot Sine Wave라는 제목의 섹션에 커서를 놓습니다. 편집기(Editor) 탭의 실행(Evaluate) 섹션에서 섹션 실행(Run Section)을 클릭합니다.

    sin(x)의 플롯 전개를 보여주는 Figure가 나타납니다.

  5. 사인 플롯을 스무딩합니다.

    1. 명령문 x = 0:1:6*pi; 에서 1을 강조 표시합니다.

    2. 마우스 오른쪽 버튼을 클릭하고 값 증가 및 섹션 실행(Increment Value and Run Section)을 선택합니다. 작은 대화 상자가 나타납니다.

    3. / 텍스트 상자에 2를 입력합니다.

    4. 버튼을 여러 번 클릭합니다.

      후속 클릭이 수행될 때마다 사인 플롯이 더 매끄러워집니다.

    5. Figure를 닫고 파일을 저장합니다.

  6. 전체 sine_wave.m 파일을 실행합니다. 제목이 포함된 매끄러운 사인 플롯이 새 Figure에 나타납니다.

코드 섹션의 모양 변경하기

MATLAB 편집기 내에 코드 섹션이 나타나는 방식을 변경할 수 있습니다. MATLAB은 코드 섹션을 기본적으로 노란색으로 강조 표시하고 가로선으로 나눕니다. 커서가 섹션 내 어느 라인에 위치하는지에 상관없이 편집기가 전체 섹션을 강조 표시합니다.

코드 섹션이 나타나는 방식을 변경하려면 다음을 수행하십시오.

  1. 홈(Home) 탭의 환경(Environment) 섹션에서 기본 설정(Preferences)을 클릭합니다.

    기본 설정 대화 상자가 나타납니다.

  2. 왼쪽 창에서 MATLAB > 색(Color) > 프로그래밍 툴(Programming Tools)을 선택합니다.

  3. 섹션 표시 옵션(Section display options)에서 코드 섹션의 모양을 선택합니다.

    섹션을 강조 표시할지 여부, 강조 표시할 색, 코드 섹션 간 분할선을 표시할지 여부를 선택할 수 있습니다.

제어문이나 함수에 코드 섹션 사용하기

제어문이나 함수 내에는 사용자가 명시적으로 섹션 나누기를 삽입하지 않아도 MATLAB이 편집기에 표시되지 않는 섹션 나누기를 자동으로 삽입합니다. 따라서, 제어문이나 함수 내에 코드 섹션을 사용하면 예기치 않은 결과가 나타날 수 있습니다. 중첩 코드를 사용하는 경우 특히 그렇습니다. 중첩 코드는 제어문이나 함수 범위 내에 다른 제어문이나 함수를 추가하는 경우 항상 발생합니다.

MATLAB은 다음 기준에 따라 코드 블록에서 섹션 경계를 자동으로 정의합니다.

  • MATLAB은 파일의 맨 위와 맨 아래에 섹션 나누기를 삽입하여 전체 파일을 포함하는 코드 섹션을 생성합니다. 그러나, 사용자가 하나 이상의 명시적 코드 섹션을 파일에 추가하지 않는 한 편집기는 전체 파일을 아우르는 추가된 섹션을 강조 표시하지 않습니다.

  • 제어 흐름 명령문(예: if 또는 while 문) 내에 섹션 나누기를 정의하는 경우 MATLAB은 명령문의 시작 및 끝을 포함하는 라인에 섹션 나누기를 자동으로 삽입합니다.

  • 함수 내에 섹션 나누기를 정의하면 MATLAB은 함수 선언과 함수 종료 명령문에 섹션 나누기를 삽입합니다. end 문을 사용하여 함수를 끝내지 않으면 MATLAB은 함수의 끝이 다음 함수의 시작 직전에 있는 것으로 간주하고 동작을 수행합니다.

사용자가 삽입하는 나누기와 동일한 라인에서 자동 나누기가 발생하는 경우 하나의 섹션 나누기로 축소됩니다.

중첩 코드 섹션 나누기

다음 코드에서는 중첩 코드 섹션의 개념을 보여줍니다.

t = 0:.1:pi*4;
y = sin(t);

for k = 3:2:9
    %%
    y = y + sin(k*t)/k;
    if ~mod(k,3)
        %%
        display(sprintf('When k = %.1f',k));
        plot(t,y)
    end
end
이 코드를 MATLAB 편집기에 복사하고 붙여넣으면 2개의 섹션 나누기가 3개의 중첩 수준을 생성하는 것을 확인할 수 있습니다.

  • 중첩의 가장 바깥쪽 수준에 있는 섹션의 범위는 전체 파일입니다.

    코드 블록 내에서 동일한 수준에 섹션 나누기를 지정하면 MATLAB은 해당 코드 블록의 섹션만 정의합니다. 따라서, MATLAB은 커서가 전체 파일을 포함하는 섹션 내에 있다고 간주합니다.

  • 중첩의 두 번째 수준에 있는 섹션은 for 루프 내에 존재합니다.

  • 중첩의 세 번째 수준에 있는 섹션은 if 문 내에 존재합니다.

관련 항목