Main Content

스크립트와 함수 비교

여기에서는 스크립트와 함수 간의 차이점에 대해 설명하고 스크립트를 함수로 변환하는 방법을 보여줍니다.

스크립트와 함수 모두에서 코드 파일에 일련의 명령을 저장하여 해당 명령을 재사용할 수 있습니다. 사용자가 명령줄에 입력하는 것과 같은 형식으로 명령을 저장하기 때문에 스크립트는 가장 간단한 유형의 코드 파일이라 할 수 있습니다. 그러나, 함수가 더 유연하며 더 쉽게 확장이 가능합니다.

triarea.m이라는 파일에 삼각형의 면적을 계산하는 스크립트를 생성해 보겠습니다.

b = 5;
h = 3;
a = 0.5*(b.*h)

파일을 저장한 후에는 명령줄에서 해당 스크립트를 호출할 수 있습니다.

triarea
a =
    7.5000

동일한 스크립트를 사용하여 다른 삼각형의 면적을 계산하려면 스크립트에서 b 값과 h 값을 업데이트하여 다시 실행할 수 있습니다. 스크립트를 실행할 때마다 스크립트는 기본 작업 공간에 있는 a라는 변수에 결과를 저장합니다.

그러나, 스크립트를 매번 수동으로 업데이트하는 대신 함수로 변환하여 코드를 더 유연하게 만들 수 있습니다. 값을 bh에 할당하는 명령문을 함수 선언문으로 바꿉니다. 선언에는 function 키워드, 입력 인수 및 출력 인수의 이름, 함수의 이름이 포함됩니다.

function a = triarea(b,h)
a = 0.5*(b.*h);
end

파일을 저장한 후에는 스크립트를 수정하지 않고도 명령줄에서 다른 밑변(b)과 높이(h) 값을 사용하여 함수를 호출할 수 있습니다.

a1 = triarea(1,5)
a2 = triarea(2,10)
a3 = triarea(3,6)
a1 =
    2.5000
a2 =
    10
a3 =
     9

함수는 자체 작업 공간을 가지며, 이 작업 공간은 기본 작업 공간과 별개입니다. 따라서, 함수 triarea에 대한 호출로 인해 기본 작업 공간에 있는 a의 값이 덮어쓰여지지 않습니다. 대신, 함수는 변수 a1, a2, a3에 결과를 할당합니다.

관련 항목

외부 웹사이트