argument list of a function handel

2 visualizzazioni (ultimi 30 giorni)
Ruye Wang
Ruye Wang il 19 Mar 2013
I can pass the elements of a list to a function handle:
>> f=@(x,y)x+y
>> f(1,2)
ans = 3
>> x=[1 2]
>> f(x(1),x(2))
ans = 3
But how can I pass the list to the function handle instead of explicitly specifying each element of it? I tried the following but neither worked:
>> f(x)
??? Input argument "y" is undefined.
>> f(x(:))
??? Input argument "y" is undefined.
Thanks for help!

Risposta accettata

Walter Roberson
Walter Roberson il 19 Mar 2013
xcell = num2cell(x);
f(xcell{:});
Note that if you are not using scalars, the approach would need to be modified.

Più risposte (0)

Categorie

Scopri di più su Entering Commands in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by