Convert the variables x1, x2,... in an anonymous function to x(1,:) ,x(2,:).....

2 views (last 30 days)
For example: f = @(x1, x2, ... , x15) x1 .* x2 .* ... .* x15
I want get: f = @(x) x(1,:) .* x(2,:) .* ... .*x(15,:)

Answers (2)

Andrei Bobrov
Andrei Bobrov on 28 Mar 2013
Edited: Andrei Bobrov on 28 Mar 2013
x = randi([-5 5],2,10); % this is your data
xc = num2cell(xc,2);
out = f(xc{:});

Azzi Abdelmalek
Azzi Abdelmalek on 28 Mar 2013
f=@(x) prod(x)
  4 Comments
chen
chen on 28 Mar 2013
Thank you!
For example, I mean how to convert
f = @(x1,x2)sin(x1) .* exp(x2)
to
f = @(x)sin(x(1,:)) .* exp(x(2,:))
automatically in the program.

Sign in to comment.

Categories

Find more on Get Started with MATLAB in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!