Execute a list of functions

27 vues (au cours des 30 derniers jours)
Hg
Hg le 2 Nov 2016
Commenté : Hg le 2 Nov 2016
How do I store a list of user-defined function in an array and execute it in a loop one by one?
[d] = func1(a),
[e] = func2(b),
[f] = func2(c) ...

Réponse acceptée

Walter Roberson
Walter Roberson le 2 Nov 2016
myfun = {@func1, @func2, @func2} ;
vars = {a, b, c};
for K = 1 : length(myfun)
result{K} = myfun{K}(vars{K});
end
  1 commentaire
Hg
Hg le 2 Nov 2016
Thank you!

Connectez-vous pour commenter.

Plus de réponses (1)

KSSV
KSSV le 2 Nov 2016
Modifié(e) : KSSV le 2 Nov 2016
myfun = {'func1','func2','func3'} ; % write function names in a cell
d = feval(myfun{1},a) ; % calls first function
e = feval(myfun{2},b) ; % calls second function
f = feval(myfun{3},c) ; % calls third function
doc feval.
  1 commentaire
Hg
Hg le 2 Nov 2016
This also works but Walter's answer is closer (regarding looping)

Connectez-vous pour commenter.

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by