Ayuda para el código MATLAB para calcular la matriz de pasos RREF()
Escriba la línea de comando de matlab
gt;gt;?type?rref
Verá el código fuente de rref que viene con el sistema
función?[A,jb]?=?rref(A,tol)
RREF¿Reducida?fila?escalón?forma.
R?=?RREF(A) ? produce? también devuelve un vector jb de modo que:
r?length(jb) es la comprensión del algoritmo del rango de A,
x(jb) es el enlace en el sistema lineal Variable definida, Ax=?b,
A(:,jb) es la base del rango de A,
R(1:r,jb) es el identificador de matriz r por r. =?RREF(A,TOL)?Este algoritmo calcula diferentes valores de clasificación en comparación con RANK, ORTH y NULL.
Soporte de clase para la entrada A:
Coma flotante: doble, simple
Ver también RANK , ORTH, NULO, QR, SVD. MathWorks, Inc.
$Revisión:?5.9.4.3?$? $Fecha:?2006/01/18?21:58:54?$
[m,n] ? =?tamaño(A);
?¿Es así?/den);
? Si no se proporciona ninguna tolerancia predeterminada, se calcula la tolerancia predeterminada.
if(nargin?lt;?2), tol? =?max(m,n)*eps(class(A))*norm(A,'inf');?end
?[];
mientras(i?lt;=?m)?(j?lt;=?n)
? Encuentra el valor y el índice del elemento más grande en el resto de la columna j.
[p,k]? =?max(abs(A(i:m,j)));?k?=?k i-1;
si? A(i:m,j)? 1, 1); j? =?j ?1;
else ?Recuerde el índice de columna jb?[jb?j]; ([i?k],j:n)? =?A([k?i],j:n); ?Dividir?el?pivote? n)/A(i, j); Reste múltiplos de la fila pivote de todas las demás filas. para?[1:i-1?i 1:m] A(k,j:n)? =?A(k,j:n)?-?A(k,j)*A(i,j:n) ); fin i?=?i?1; j?=?j ?1;
fin
fin
fin
?Retorno?"RACIONAL"?"números?si?apropiado.
Retorno?"racional"?"números?".
[num,den] ? =?rat (A);
A=num./den;
fin