2017-04-19 2 views
1

Je peux calculer la forme d'échelon de ligne réduite R d'une matrice C dans Matlab en utilisant la commande R = rref(C). Cependant, je voudrais aussi garder une trace des étapes effectuées, c'est-à-dire, obtenir la matrice de transformation T qui me donne TC = R. Cette matrice devrait, à ma connaissance, être implicitement calculée en utilisant Élimination de Gauss-Jordan.matrice de transformation de forme d'échelon de ligne réduite

Existe-t-il un moyen d'obtenir T? Peut-être une solution de contournement? Dans le matlab documentation, je n'ai trouvé aucune information. Y a-t-il peut-être des fonctions rref dans d'autres langages de programmation qui retourneraient T?

Répondre

1

Vous pouvez utiliser le fait que les opérations de lignes élémentaires équivalent à la multiplication par une matrice élémentaire sur la gauche. Soit c une matrice de taille (mxn);

z= rref([c eye(m)]); % [c I] is multiplied by some matrix T 
% the result is [rref(c) T] 
r= z(:,1:n); % the reduced row echelon form of c 
t= z(:,n+1:end); % now we have T