Applying a Function to Every Element of a List

10 views (last 30 days)
I have a function taking 2 input values, say f(x,y) and a list, say L=[L1 L2 ... Ln]
How can I get the list L'=[f(L1,a) f(L2,a) ... f(L3,a)] where a is just a constant?
Thanks

Answers (2)

Azzi Abdelmalek
Azzi Abdelmalek on 24 Feb 2013
Edited: Azzi Abdelmalek on 24 Feb 2013
arrayfun(@(x) f(x,a),L,'un',0)
read
doc arrayfun
doc cellfun
Example
L=randi(10,1,10)
out=arrayfun(@(x) max(x,5),L)

Andrei Bobrov
Andrei Bobrov on 25 Feb 2013
f2 = @(x,y)bsxfun(str2func(vectorize(func2str(f))),x,y.');
out = f2(1:4,2:4); % example

Community Treasure Hunt

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

Start Hunting!