[GNU Octave - 무료 매트랩] 함수를 변수에 담기 (함수의 매개변수화)
GNU Octave에서 특정 함수를 다른 함수의 매개변수로 전달하는 방법을 정리합니다. 아래는 샘플 코드입니다. 파일명은 function_as_argument.m이며, 메인 함수명과 일치시켜야 합니다.
function function_as_argument()
x = 2;
y = 3;
% 함수 핸들러(function handler) 선언
sum_xy_handle = @sum_xy;
prod_xy_handle = @prod_xy;
sum = treat_xy(sum_xy_handle, x, y); % 함수를 treat_xy 함수의 매개변수로 전달
fprintf('%f \n', sum);
prod = treat_xy(prod_xy_handle, x, y); % 함수를 treat_xy 함수의 매개변수로 전달
fprintf('%f \n', prod);
end
function result = treat_xy(f, x, y)
result = f(x, y);
end
function result = sum_xy(x, y)
result = x + y;
end
위 코드에서 treat_xy 함수 매개변수로 사용할 함수들을 @ 기호를 사용하여 함수핸들러(function handler)로 선언한 것을 알 수 있습니다. 커맨드 윈도우에서 실행하면 아래와 같은 결과를 확인할 수 있습니다.
>> function_as_argument
5.000000
6.000000
끝.
댓글
댓글 쓰기