<< percent Scilab palavra-chave brackets [,;] >>

Scilab Help >> Scilab > Scilab palavra-chave > backslash

backslash

(\) divisão matricial direita-esquerda

Seqüência de Chamamento

X = A \ B

Descrição

(\) denota a divisão matricial direita-esquerda. x=A\b é a solução para A*x=b.

Se A é quadrada e não-singular, x=A\b (unicamente definida) é equivalente a x=inv(A)*b (mas as computações são menos custosas).

Se A não é quadrada, x é uma solução de mínimo quadrado, i.e., norm(A*x-b) é mínima (norma euclidiana). Se A é de posto coluna cheio, a solução de mínimo quadrado, x=A\b , é unicamente definida (há um único x que minimiza norm(A*x-b)). Se Anão é de posto coluna cheio, então a solução de mínimo quadrado não é única e x=A\b , em geral, não é a solução com norma mínima (a solução com norma mínima é x=pinv(A)*b).

A.\B é a matriz com entrada (i,j) igual a A(i,j)\B(i,j). Se A (ou Bé um escalar, A.\B é equivalente a A*ones(B).\B (ou A.\(B*ones(A))

A\.B é um operador sem significado predefinido. Pode ser usado para definir um novo operador (ver overloading) com a mesma precedência que * ou /.

Exemplos

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
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

// A benchmark of several linear solvers

[A,descr,ref,mtype] = ReadHBSparse(SCI+"/modules/umfpack/demos/bcsstk24.rsa");

b = zeros(size(A,1),1);

tic();
res = umfpack(A,'\',b);
mprintf('\ntime needed to solve the system with umfpack: %.3f\n',toc());

tic();
res = linsolve(A,b);
mprintf('\ntime needed to solve the system with linsolve: %.3f\n',toc());

tic();
res = A\b;
mprintf('\ntime needed to solve the system with the backslash operator: %.3f\n',toc());

Ver Também

Histórico

VersionDescription
5.5.0 The threshold level which switches between Gaussian Elimination with row pivoting and linear least squares when computing A\B is decreased from sqrt(eps) to eps.

Report an issue
<< percent Scilab palavra-chave brackets [,;] >>