C = bsxfun(fun, A, B)
| Paramètre | Description |
|---|---|
| fun | handle vers une fonction binaire élément par élément (ou chaîne de caractères contenant le nom de la fonction). Les opérations intégrées courantes utilisables sont : @plus, @minus, @times, @rdivide, @ldivide, @power, @max, @min, @rem, @mod, @hypot, @atan2, @eq, @ne, @lt, @le, @gt, @ge, @and, @or et @xor. Tout handle de fonction binaire élément par élément défini par l'utilisateur est également accepté. |
| A | tableau (numérique ou logique). |
| B | tableau (numérique ou logique). |
| Paramètre | Description |
|---|---|
| C | résultat de l'application de fun à A et B avec expansion des dimensions singleton. |
bsxfun applique la fonction binaire élément par élément fun aux tableaux A et B, avec expansion implicite (les dimensions singleton sont virtuellement répliquées) de sorte que A et B n'ont pas besoin d'avoir la même taille.
Pour chaque dimension, les tailles de A et B doivent être soit égales, soit l'une des deux doit valoir 1. Une dimension de taille 1 est étendue pour correspondre à la taille de l'autre tableau. Si deux dimensions correspondantes diffèrent et qu'aucune ne vaut 1, une erreur est déclenchée.
Le résultat C a, selon chaque dimension, la plus grande des deux tailles d'entrée. Par exemple, combiner une colonne m-par-1 avec une ligne 1-par-n produit un résultat m-par-n.
Les opérateurs élément par élément de Nelson se propagent déjà sur les dimensions singleton, ainsi A + B est équivalent à bsxfun(@plus, A, B) et constitue généralement la forme préférée.
bsxfun(@plus, (1:3)', 1:4)
A = magic(4);
bsxfun(@minus, A, mean(A))
bsxfun(@gt, (1:3)', 1:4)
bsxfun(@(x, y) sqrt(x.^2 + y.^2), (1:3)', 1:4)
bsxfun('times', (1:3)', 1:4)
| Version | Description |
|---|---|
| 2.0.0 | version initiale |