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 fonction func à chaque élément du tableau A, et renvoie le résultat dans B avec la même taille que A.

arrayfun(func, A1, ..., An) applique func 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

cellfun.

🕔 Historique

Version
📄 Description

1.14.0

version initiale

Last updated

Was this helpful?