How do you write a function that can take another function as an argument?

How do you write a function that can take another function as an argument?
This is pseudocode for what I want to write:
function [outputvector] = myfunction(inputfunction, myvector, arg 2, arg3,..., argn)
for i = 1:length(myvector) outputvector (i) = inputfunction(myvector(i), arg2, arg3, ...argn) end
Thanks.

回答(2 个)

Pass a function handle as the inputfunction argument, e.g.
myfunction(@sin, myvector, arg2, arg3,..., argn);
Same kind of thing with anonymous functions
myfunction(@(x) x+1 , myvector, arg2, arg3,..., argn);
If you are not used to function handles, you can simply pass the function name and feval it inside. As long as both functions are anywhere on the matlab path.

类别

在 帮助中心 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息

提问:

2012-11-1

Community Treasure Hunt

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

Start Hunting!

Translated by