- Aide de Scilab
- Scilab
- Mots clés Scilab
- ans
- backslash
- brackets ([,])
- colon
- comma
- comments
- dot (.)
- else
- elseif
- empty ([])
- end
- extraction
- global
- hat (^)
- insertion
- left ([)
- minus (-)
- not (~)
- parentheses ( )
- percent (%)
- plus (+)
- power
- quote (')
- semicolon
- slash (/)
- star (*)
- symbols
- tilde
- try
- comparison
- dollar
- equal
- less
Please note that the recommended version of Scilab is 2026.0.0. This page might be outdated.
See the recommended documentation of this function
backslash
(\) division matricielle à gauche
Séquence d'appel
x=A\b
Description
L'anti-slash représente la division matricielle à gauche.
x=A\b est une solution de A*x=b.
Si A est carrée et régulière x=A\b (unique) est équivalent mathématiquement à x=inv(A)*b (dont le calcul est par contre beaucoup plus coûteux).
Si A n'est pas carrée, x est une solution au sens des moindres carrés, c'est à dire que norm(A*x-b) est minimale (norme euclidienne). Si A est de rang maximal (colonnes linéairement indépendantes), la solution au sens des moindres carrés, x=A\b, est unique (le vecteur x minimisant norm(A*x-b) est unique).
Si A n'est pas de rang maximal, cette solution n'est pas unique, et x=A\b, en général, n'est pas la solution de norme minimale (la solution de norme minimale est x=pinv(A)*b).
A.\B est la matrice dont le terme (i,j) est égal à A(i,j)\B(i,j).
Si A (ou B) est un scalaire A.\B est équivalent à A*ones(B).\B (or A.\(B*ones(A)).
A\.B est un opérateur dont la signification n'est pas prédéfinie. il peut être utilisé pour définir de nouveaux opérateurs (voir overloading) avec la même priorité que * ou /.
Exemples
A=rand(3,2);b=[1;1;1]; x=A\b; y=pinv(A)*b; x-y A=rand(2,3);b=[1;1]; x=A\b; y=pinv(A)*b; x-y, A*x-b, A*y-b // Rang non maximal A=rand(3,1)*rand(1,2); b=[1;1;1]; x=A\b; y=pinv(A)*b; A*x-b, A*y-b A=rand(2,1)*rand(1,3); b=[1;1]; x=A\b; y=pinv(A)*b; A*x-b, A*y-b // Une comparaison de différents solveurs linéaire creux [A,descr,ref,mtype] = ReadHBSparse(SCI+"/modules/umfpack/examples/bcsstk24.rsa"); b = zeros(size(A,1),1); tic(); res = umfpack(A,'\',b); mprintf('\ntemps nécessaire à la résolution du système avec umfpack: %.3f\n',toc()); tic(); res = linsolve(A,b); mprintf('\ntemps nécessaire à la résolution du système avec linsolve: %.3f\n',toc()); tic(); res = A\b; mprintf('\ntemps nécessaire à la résolution du système avec l''opérateur backslash: %.3f\n',toc());
Voir aussi
| Report an issue | ||
| << ans | Mots clés Scilab | brackets ([,]) >> |