- 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 2025.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 ([,]) >> |