operator_expand
Extension automatique des dimensions unitaires pour les opérateurs binaires
Syntaxe
X op Y
Paramètres
- X, Y
Scalaires, vecteurs, matrices ou hypermatrices de nombres (réels ou complexes), entiers codés, polynômes ou chaînes, selon l'opérateur appliqué.
Description
L'expansion reproduit automatiquement toute dimension égale à 1
pour que les deux opérandes aient la même forme avant l'application d'un opérateur
binaire élément par élément. Les dimensions manquantes en fin sont supposées valoir
1. La taille obtenue est le maximum des deux formes, dimension par dimension.
Un scalaire est un cas particulier où toutes les dimensions valent 1 :
l'extension des scalaires est donc un sous-cas de l'expansion.
L'expansion est actuellement implémenté pour les opérateurs suivants :
+ (addition), - (soustraction),
.* (multiplication élément par élément),
./ (division à droite élément par élément),
et .^ (puissance élément par élément).
Exemples
// Addition avec expansion a = [1; 2]; b = [10 20 30]; a + b
--> a = [1; 2]; --> b = [10 20 30]; --> a + b ans = 11. 21. 31. 12. 22. 32.
// Soustraction avec expansion a = [1; 2]; b = [10 20 30]; b - a
--> b - a ans = 9. 19. 29. 8. 18. 28.
// Multiplication élément par élément avec expansion a = [1; 2; 3]; b = [10 20]; a .* b
--> a = [1; 2; 3]; --> b = [10 20]; --> a .* b ans = 10. 20. 20. 40. 30. 60.
// Division élément par élément avec expansion a = [100; 200]; b = [1 2 4]; a ./ b
--> a = [100; 200]; --> b = [1 2 4]; --> a ./ b ans = 100. 50. 25. 200. 100. 50.
// Puissance élément par élément avec expansion a = [2; 3]; b = [1 2 3]; a .^ b
--> a = [2; 3]; --> b = [1 2 3]; --> a .^ b ans = 2. 4. 8. 3. 9. 27.
// Complex doubles ca = [1+%i; -2+2*%i]; cb = [%i, 2-%i, -1+3*%i]; ca + cb
--> ca = [1+%i; -2+2*%i]; --> cb = [%i, 2-%i, -1+3*%i]; --> ca + cb ans = 1. + 2.i 3. + 0.i 0. + 4.i -2. + 3.i 0. + i -3. + 5.i
// Polynomials pcol = [%s; 1 + %s]; prow = [%s^2, 2 - %s]; pcol + prow
--> pcol = [%s; 1 + %s]; --> prow = [%s^2, 2 - %s]; --> pcol + prow ans = s +s^2 2 1. +s +s^2 3
// Incompatible shapes still fail [1 2; 3 4] + ones(3, 2)
--> [1 2; 3 4] + ones(3, 2) Operator +: Wrong dimensions for operation [2x2] + [3x2], same dimensions expected.
Voir aussi
- addition — Addition numérique. Concaténation (collage) de textes entre eux
- soustraction — opérateur de soustraction, changement de signe
- multiplication — opérateur de multiplication
- division — division à droite et feedback
- puissance — élévation à la puissance
- opérateurs — opérateurs de Scilab
Historique
| Version | Description |
| 2026.1.0 | Fonctionnalité ajoutée. |
| Report an issue | ||
| << not (~) | Mots clés Scilab | parentheses ( ) >> |