converting function handle into an operator

Hi all,
i have a function handle as F =@ (x) func(x)
i want to convert this function handle into an multiplication operator means if i type F*x then it should be equivalent to calling the function as func(x). Can anyone have the solution for this ?

 채택된 답변

Walter Roberson
Walter Roberson 2011년 8월 25일

2 개 추천

You could create an "operator" class, and make F a member of that class... e.g., through syntax such as
F = operator_handle(@(x) func(x));
where operator_handle is the constructor for the class.
Once you have done that, writing F*x would be the same as writing mtimes(F,x) . You would then define a mtimes() method within your class that extracted the function handle from the object and applied it to the data.
(Corrected to "mtimes" instead of "mult" that I had before.)

추가 답변 (0개)

카테고리

도움말 센터 및 File Exchange에서 Data Type Identification에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by