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 ?

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 25 Aug. 2011

2 Stimmen

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

Weitere Antworten (0)

Kategorien

Community Treasure Hunt

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

Start Hunting!

Translated by