Main Content

프로그래밍과 스크립트

MATLAB® 프로그램의 가장 간단한 유형을 스크립트라고 합니다. 스크립트는 여러 줄의 MATLAB 명령과 함수 호출이 순차적으로 포함되어 있는 파일입니다. 스크립트를 실행하려면 명령줄에 스크립트의 이름을 입력하면 됩니다.

스크립트

스크립트를 만들려면 edit 명령을 사용하십시오.

edit mysphere

그러면 mysphere.m이라는 빈 파일이 열립니다. 단위구를 생성하고 반지름을 두 배로 늘린 다음 결과를 플로팅하는 코드를 입력해 보겠습니다.

[x,y,z] = sphere; 
r = 2;
surf(x*r,y*r,z*r)
axis equal

그런 다음, 곡면 면적과 구의 부피를 계산하는 코드를 추가합니다.

A = 4*pi*r^2;
V = (4/3)*pi*r^3;

코드를 작성할 때는 항상 해당 코드에 대해 설명하는 주석을 추가하는 것이 좋습니다. 주석을 달아 놓으면 다른 사람들이 자신의 코드를 이해하는 데 도움이 되는 것은 물론 나중에 다시 코드를 살펴볼 때도 쉽게 기억을 떠올릴 수 있습니다. 주석을 추가할 때는 퍼센트 기호(%)를 사용합니다.

% Create and plot a sphere with radius r.
[x,y,z] = sphere;       % Create a unit sphere.
r = 2;
surf(x*r,y*r,z*r)       % Adjust each dimension and plot.
axis equal              % Use the same scale for each axis. 
 
% Find the surface area and volume.
A = 4*pi*r^2;
V = (4/3)*pi*r^3;

현재 폴더에 파일을 저장합니다. 스크립트를 실행하려면 명령줄에 스크립트의 이름을 입력하십시오.

mysphere

편집기에서 실행 버튼 을 사용하여 스크립트를 실행할 수도 있습니다.

라이브 스크립트

코드와 주석을 일반 텍스트로 작성하는 대신 라이브 스크립트에서 서식 지정 옵션을 사용하여 코드를 향상시킬 수 있습니다. 라이브 스크립트에서는 코드와 출력값을 모두 확인하고 이와 상호 작용할 수 있으며 서식 지정된 텍스트, 수식, 이미지를 포함시킬 수 있습니다.

예를 들어, 다른 이름으로 저장을 선택하고 파일 형식을 MATLAB 라이브 코드 파일(*.mlx)로 변경하여 mysphere를 라이브 스크립트로 변환합니다. 그런 다음, 코드 주석을 서식 지정된 텍스트로 바꿉니다. 예를 들면 다음과 같습니다.

  • 주석 라인을 텍스트로 변환합니다. 퍼센트 기호로 시작하는 각 라인을 선택한 다음 텍스트 를 선택합니다. 퍼센트 기호를 제거합니다.

  • 텍스트를 다시 작성하여 코드 라인의 끝에 있는 주석을 옮겨 놓습니다. 텍스트에서 함수 이름에 고정 폭 글꼴을 적용하려면 M을 선택하십시오. 수식을 추가하려면 삽입 탭에서 수식을 선택하십시오.

Text and font options are in the Text section of the Live Editor tab.

edit 명령을 사용하여 새 라이브 스크립트를 만들려면 파일 이름에 .mlx 확장자를 포함하십시오.

edit newfile.mlx

루프와 조건문

스크립트 내에서, 루프에서 반복되거나 조건부로 실행되는 코드 섹션을 정의할 수 있습니다. 루프는 for 또는 while 키워드를 사용하고 조건문은 if 또는 switch를 사용합니다.

루프는 시퀀스를 생성할 때 유용합니다. 예를 들어, for 루프를 사용하여 피보나치 수열의 처음 100개 숫자를 계산하는 fibseq라는 스크립트를 만들어 보겠습니다. 이 수열에서 처음 두 숫자는 1이고 그 뒤에 오는 각 숫자는 이전 두 숫자의 합계로, Fn = Fn-1 + Fn-2입니다.

N = 100;
f(1) = 1;
f(2) = 1;

for n = 3:N
    f(n) = f(n-1) + f(n-2);
end
f(1:10)

스크립트를 실행하면 for 문은 3에서 시작하는 n이라는 카운터를 정의합니다. 그러면 루프는 100에 도달할 때까지 각 실행마다 n을 증가시키면서 f(n)에 반복적으로 대입합니다. 스크립트에 있는 마지막 명령인 f(1:10)f의 처음 10개 요소를 표시합니다.

ans =
     1     1     2     3     5     8    13    21    34    55 

조건문은 주어진 표현식이 true인 경우에만 실행됩니다. 예를 들어, 난수의 크기에 따라 변수에 값 'low', 'medium' 또는 'high'를 할당해 보겠습니다. 이 경우 난수는 1과 100 사이의 정수입니다.

num = randi(100)
if num < 34
   sz = 'low'
elseif num < 67
   sz = 'medium'
else
   sz = 'high'
end

명령문 sz = 'high'num이 67보다 크거나 같은 경우에만 실행됩니다.

스크립트 위치

MATLAB에서는 스크립트와 그 밖의 파일을 특정 위치에서 검색합니다. 스크립트를 실행하려면 스크립트 파일이 현재 폴더에 있거나 검색 경로의 폴더에 있어야 합니다.

기본적으로 MATLAB 인스톨러가 생성한 MATLAB 폴더는 검색 경로 상에 있습니다. 프로그램을 다른 폴더에 저장하고 실행하려면 해당 폴더를 검색 경로에 추가하십시오. 특정 폴더를 검색 경로에 추가하려면 현재 폴더 브라우저에서 폴더를 선택하고 마우스 오른쪽 버튼으로 클릭한 다음 경로에 추가를 선택합니다.