converting function handle into an operator

1 次查看(过去 30 天)
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
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 个)

类别

Help CenterFile Exchange 中查找有关 Graphics Object Programming 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by