Asked by chen
on 28 Mar 2013

For example: f = @(x1, x2, ... , x15) x1 .* x2 .* ... .* x15

I want get: f = @(x) x(1,:) .* x(2,:) .* ... .*x(15,:)

Answer by Andrei Bobrov
on 28 Mar 2013

Edited by Andrei Bobrov
on 28 Mar 2013

x = randi([-5 5],2,10); % this is your data

xc = num2cell(xc,2); out = f(xc{:});

Matt J
on 28 Mar 2013

I think this should be

xc = num2cell(xc,2);

Andrei Bobrov
on 28 Mar 2013

Thank you Matt! Corrected.

Answer by Azzi Abdelmalek
on 28 Mar 2013

f=@(x) prod(x)

Show 1 older comment

Azzi Abdelmalek
on 28 Mar 2013

If your function is different then change it. t's not clear for me what you want

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.

Azzi Abdelmalek
on 28 Mar 2013

You can't do conversion

Related Content

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today
## 0 Comments