MATLAB: Converting function handle into an operator

function handleoperators

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 ?

Best Answer

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.)