Arrayfun with multiple variable?

Hi, probably this question has already received answers but what I found don't solve my problem.
I know that I have a function that requires one input i can use arrayfun like this:
A=arrayfun(@functionExample, input1);
But if I have a function that requires more than one input how can I do?
Thanks

回答(2 个)

Two inputs:
A=arrayfun(@(x,y)functionExample(x,y), input1, input2);
Three inputs:
A=arrayfun(@(x,y,z)functionExample(x,y,z), input1, input2, input3);
And so on.

3 个评论

Thank you.
But I have this error:
Variable number of inputs is not supported.
For more information see Tips.
Is this caused by varargin in the function "functionExample"
It is not required to use anonymous functions, a simple function handle works with any number of inputs:
V = arrayfun(@max,[1,2,3],[0,9,0])
V = 1×3
1 9 3

请先登录,再进行评论。

"But if I have a function that requires more than one input how can I do?"
ARRAYFUN already works with any number of input arrays:
fnh = @(varargin)sum([varargin{:}]); % test function, any number of inputs
arrayfun(fnh,[1,2,3])
ans = 1×3
1 2 3
arrayfun(fnh,[1,2,3],[4,5,6])
ans = 1×3
5 7 9
arrayfun(fnh,[1,2,3],[4,5,6],[7,8,9])
ans = 1×3
12 15 18

类别

帮助中心File Exchange 中查找有关 GPU Computing in MATLAB 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by