Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Português - 日本語 - Русский
Aide de Scilab >> Scilab > Mots clés Scilab > slash (/)

slash (/)

division à droite et feedback

Syntax

X = A / B // while A = X * B
X = A ./ B // while A = X .* B
X = A ./. B // while A = X .*. B
S = G /. K
// on-row comment
/* block of multilines comments */

Description

Division à droite. x=A / b est la solution de x*b=A.

b/a = (a' \ b')'.

a./ b est la matrice dont les termes sont égaux à a(i,j)/ b(i,j). Si b est un scalaire (matrice 1x1) cette opération est la même que a./b*ones(a) (même convention si a est un scalaire).

L'anti-slash ("contre-barre" ou backslash) signifie quant à lui la division à gauche (voir backslash).

Feedback de systèmes dynamiques. S=G/.K évalue S=G*(eye()+K*G)^(-1). Cet opérateur évite des problèmes de simplification.

Noter que 123./b est interprété comme (123)./b. Dans de tels cas, le point fait partie de l'opérateur, non du nombre décimal.

Mais attention : G/.5 est interprété comme G/(.5) : Le point fait ici partie du nombre décimal, non de l'opérateur, contrairement à G/. 5

La suite de symboles // met une ligne en commentaire, c'est à dire, les lignes commençant par // sont ignorées par l'interpréteur.

De le même façon, /* débute un commentaire et */ termine un commentaire.

Exemples

a = [3.,-24.,30.];
B = [
   9.   -36.    30.
  -36.   192.  -180.
   30.  -180.   180.
];
x = a / B
x*B-a // proche de zéro

a = 4 / 2;      // valeur 2 attendue
a = 2 ./ [2,4]; //   [1. 0.5]

Division tensorielle de Kronecker à droite :

A = [1 100 ; 10 1000], B = [1 2 4],
P = A .*. B
P ./. B
--> A = [1 100 ; 10 1000], B = [1 2 4],
 A  =
   1.    100.
   10.   1000.

 B  =
   1.   2.   4.

--> P = A .*. B
 P  =
   1.    2.    4.    100.    200.    400.
   10.   20.   40.   1000.   2000.   4000.

--> P ./. B
 ans  =
   1.   100.
   10.  1000.

// Un commentaire aide à comprendre le code.
a = 1;  // Commentaire en queue de ligne
/* Même longs, sur plusieurs lignes,
les commentaires sont utiles. */

Voir aussi

  • inv — inverse d'une matrice
  • backslash — (\) division matricielle à gauche
  • kron ./. — Kronecker left and right divisions
  • comments — (// ou /*...*/) commentaires
  • overloading — display, functions and operators overloading capabilities

Historique

VersionDescription
5.4.1 The threshold level which switches between Gaussian Elimination with row pivoting and linear least squares when computing B/A is decreased from sqrt(eps) to eps.
6.0.0 1./B signifie désormais 1 ./ B, non plus 1. / B
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Feb 25 08:50:15 CET 2020