arrayfun
Appliquer une fonction à chaque élément d'un tableau.
📝 Syntaxe
B = arrayfun(func, A)
B = arrayfun(func, A1, ..., An)
B = arrayfun(..., 'UniformOutput', false)
[B1, ..., Bm] = arrayfun(...)
📥 Argument d'entrée
func - handle de fonction à appliquer à chaque élément. Doit renvoyer un scalaire sauf si 'UniformOutput' est false.
A, A1, ..., An - tableaux d'entrée de même taille.
'UniformOutput' - scalaire logique. Si false, les sorties sont renvoyées dans un tableau cellulaire.
📤 Argument de sortie
B, B1, ..., Bm - sorties de la fonction appliquée élément par élément. Tableau cellulaire si 'UniformOutput' est false.
📄 Description
arrayfun(func, A) applique la fonctionfunc à chaque élément du tableauA, et renvoie le résultat dans B avec la même taille queA.
arrayfun(func, A1, ..., An) appliquefunc aux éléments correspondants des tableaux d'entrée. Tous les tableaux doivent avoir la même taille.
Utilisez l'option 'UniformOutput' àfalse pour autoriser des valeurs de sortie qui ne peuvent pas être concaténées dans un seul tableau. Dans ce cas, le résultat est un tableau cellulaire.
[B1, ..., Bm] = arrayfun(...) capture plusieurs sorties de la fonction appliquée.
💡 Exemples
Apply mean to structure field
S(1).f1 = rand(1, 5);
S(2).f1 = rand(1, 10);
S(3).f1 = rand(1, 15);
means = arrayfun(@(x) mean(x.f1), S);
Return multiple outputs from function
f = @(x) deal(x, x^2);
[A, B] = arrayfun(f, 1:4);
Return variable-sized outputs in a cell array
S(1).f1 = rand(3,5);
S(2).f1 = rand(2,6);
A = arrayfun(@(x) mean(x.f1), S, 'UniformOutput', false);
🔗 Voir aussi
🕔 Historique
1.14.0
version initiale
Last updated
Was this helpful?