[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


끝.

댓글

이 블로그의 인기 게시물

공압 속도 제어: 미터인 vs 미터아웃

전력(kW) 계산하기 (직류, 교류 단상, 교류 삼상)

[PLC] AWG => SQ 단위 변환

[투자] ETF 투자 가이드 : 카테고리별 ETF 선택 전략

[아두이노] 가변저항(Potential Divider)과 전압분배(Voltage Divider)

[전기실무] 부하 특성 데이터와 KEC 차단기 선정 가이드

[산업자동화] 머신비전 - 프레임 그래버란?

[PLC] 릴레이와 전자 접촉기 (MC)

[수학] 유클리드 기하학, 비-유클리드 기하학, 형식주의란?

Industrial Control with Relay: 파워릴레이와 범용릴레이