스크립트와 함수 비교
여기에서는 스크립트와 함수 간의 차이점에 대해 설명하고 스크립트를 함수로 변환하는 방법을 보여줍니다.
스크립트와 함수 모두에서 코드 파일에 일련의 명령을 저장하여 해당 명령을 재사용할 수 있습니다. 사용자가 명령줄에 입력하는 것과 같은 형식으로 명령을 저장하기 때문에 스크립트는 가장 간단한 유형의 코드 파일이라 할 수 있습니다. 그러나, 함수가 더 유연하며 더 쉽게 확장이 가능합니다.
triarea.m
이라는 파일에 삼각형의 면적을 계산하는 스크립트를 생성해 보겠습니다.
b = 5; h = 3; a = 0.5*(b.*h)
파일을 저장한 후에는 명령줄에서 해당 스크립트를 호출할 수 있습니다.
triarea
a = 7.5000
동일한 스크립트를 사용하여 다른 삼각형의 면적을 계산하려면 스크립트에서 b
값과 h
값을 업데이트하여 다시 실행할 수 있습니다. 스크립트를 실행할 때마다 스크립트는 기본 작업 공간에 있는 a
라는 변수에 결과를 저장합니다.
그러나, 스크립트를 매번 수동으로 업데이트하는 대신 함수로 변환하여 코드를 더 유연하게 만들 수 있습니다. 값을 b
및 h
에 할당하는 명령문을 함수 선언문으로 바꿉니다. 선언에는 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
에 결과를 할당합니다.