linsolve
solveur d'équation linéaire
Séquence d'appel
[x0,kerA]=linsolve(A,b [,x0])
Paramètres
- A
une matrice réelle
na x ma
(éventuellement creuse)- b
un vecteur
na x 1
- x0
un vecteur réel
- kerA
une matrice réelle
ma x k
Description
linsolve
donne toutes les solutions de A*x+b=0
.
x0
est une solution particulière (s'il en existe une) et kerA
est le noyau de A
. Tout vecteur de la forme x=x0+kerA*w
avec w
quelconque vérifie
A*x+b=0
.
Si un x0
compatible est donné en entrée, x0
est renvoyé. Dans le cas contraire un x0
compatible, s'il en existe un, est renvoyé.
Exemples
A=rand(5,3)*rand(3,8); b=A*ones(8,1);[x,kerA]=linsolve(A,b);A*x+b // b compatible b=ones(5,1);[x,kerA]=linsolve(A,b);A*x+b // b incompatible A=rand(5,5);[x,kerA]=linsolve(A,b), -inv(A)*b // x est unique // Une comparaison des différentes méthode de résolution de systèmes linéaire creux [A,descr,ref,mtype] = ReadHBSparse(SCI+"/modules/umfpack/demos/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 | ||
<< inv | Linear Equations | lsq >> |