How to input vector into a function handle

i have a function handle fx1=@(x,y,z) x*2+3*y+2z;
and a vector a=[1 2 3].
is there any possible way so that i can input a into fx, without changing a into a cell arrays?
thanks in advance

5 commentaires

a = [1,2,3];
fx1 = @(x,y,z) x*2+3*y+2*z;
fx1(a(1),a(2),a(3))
ans = 14
Ruby Teja Kusuma
Ruby Teja Kusuma le 31 Août 2021
thankyou before, but is there are any ways so they specifically specify each element in a into function's input?
i've done this, but in array's way that is fx1(a{:}) (i've converted the a before)
Stephen23
Stephen23 le 31 Août 2021
Modifié(e) : Stephen23 le 31 Août 2021
"but is there are any ways so they specifically specify each element in a into function's input?"
You are trying to generate a comma-separated list from one array. The two ways of generating a comma-separated list from one array (either from a cell array or from a structure array) are explained here:
Ruby Teja Kusuma
Ruby Teja Kusuma le 31 Août 2021
yeah this is excatly what im looking for, heavy thanks mate
Walter Roberson
Walter Roberson le 31 Août 2021
If you just happen to be generating the function handle using matlabFunction() in the Symbolic Math Toolbox, then see the 'vars' option: it is possible to arrange that the generated function takes its input from a vector instead of from from individual arguments.

Connectez-vous pour commenter.

Réponses (0)

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by