Function handle as function input?

Hello there, I have a function handle, for example f = @(x) x.^2 and I want to use this as a function input, something like (just schematic):
function scalar = fct(f(x));
scalar = int(@(x) f(x).*x^2);
end
Is that possible? Greets and thanks!

 Accepted Answer

Inside such a wrapper, I highly doubt that. But in principle it should be possible to do what you want. I haven't tested this code, but I think this should work. (After a peek at the doc for int, I suspect this would error, but the principle should hold, after all, f is just a variable, even if it is a weird variable because it is an anonymous function)
function scalar=fct(f)
temp=@(x) f(x).*x.^2;
scalar=int(temp);
end

3 Comments

Thank you! Unfortunately this does not work, tried it before..
What exactly is the error you are getting here? Because as I understand it, int needs more inputs if the first input does not contain a symbolic variable. So is the problem occurring at the function call level, or inside the function fct?
I am sorry youre answer worked! Thanks! And that what I wrote down above even works too! I have thousands nested functions and I understood the errors wrong ;-)

Sign in to comment.

More Answers (0)

Categories

Asked:

on 23 May 2017

Edited:

on 24 May 2017

Community Treasure Hunt

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

Start Hunting!