Aprenda Matlab 6.1 - Universidad Politécnica de Madrid
Aprenda Matlab 6.1 - Universidad Politécnica de Madrid
Aprenda Matlab 6.1 - Universidad Politécnica de Madrid
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Capítulo 5: Otros tipos <strong>de</strong> datos <strong>de</strong> MATLAB página 55<br />
elementos agrupados alre<strong>de</strong>dor <strong>de</strong> la diagonal principal (mínima anchura<br />
<strong>de</strong> banda). Se aplica a matrices simétricas y no simétricas.<br />
p=colperm(S) Obtiene una permutación <strong>de</strong> columnas que or<strong>de</strong>na las columnas en or<strong>de</strong>n<br />
<strong>de</strong> número <strong>de</strong> ceros no <strong>de</strong>creciente. A veces se utiliza para or<strong>de</strong>nar antes<br />
<strong>de</strong> aplicar la factorización LU. Si la matriz es simétrica la permutación se<br />
pue<strong>de</strong> aplicar a filas y a columnas.<br />
randperm(n) Calcula una permutación aleatoria <strong>de</strong> los n primeros números naturales<br />
5.5.3. OPERACIONES DE ÁLGEBRA LINEAL CON MATRICES DISPERSAS<br />
A continuación se <strong>de</strong>scriben muy brevemente las funciones <strong>de</strong> MATLAB que pue<strong>de</strong>n utilizarse para<br />
operar con matrices dispersas. Algunas <strong>de</strong> estas funciones se llaman igual que las correspondientes<br />
funciones para matrices llenas, y otras son específicas <strong>de</strong> matrices dispersas. Casi todas estas<br />
funciones tienen varias formas <strong>de</strong> utilizarse. Para más <strong>de</strong>talles se sugiere recurrir al Help.<br />
[L,U,P]=lu(S) Realiza la factorización LU<br />
L=chol(S) Realiza la factorización <strong>de</strong> Cholesky<br />
[Q,R]=qr(S) Realiza la factorización QR<br />
[L,U]=luinc(A,tol) Realiza una factorización LU incompleta<br />
L=cholinc(S) Calcula una factorización <strong>de</strong> Cholesky incompleta (Ver la Ayuda)<br />
[V,D,FLAG] = eigs(S) Calcula algunos valores propios <strong>de</strong> una matriz cuadrada. Esta<br />
función tiene muchas posibles formas: consultar la Ayuda<br />
svds(S) Calcula algunos valores singulares <strong>de</strong> una matriz rectangular. Esta<br />
función tiene muchas posibles formas: consultar la Ayuda<br />
normest(S,tol) Estimación <strong>de</strong> la norma sub-2 con una <strong>de</strong>terminada tolerancia (por<br />
<strong>de</strong>fecto 1e-06)<br />
con<strong>de</strong>st(S) Estimación <strong>de</strong> condición numérica sub-1<br />
sprank(S) Calcula el rango <strong>de</strong> una matriz dispersa<br />
symbfact(S) Symbolic factorization analysis. Devuelve información sobre los<br />
elementos que se harán distintos <strong>de</strong> cero en la factorización <strong>de</strong><br />
Cholesky, sin llegar a realizar dicha factorización<br />
Los sistemas <strong>de</strong> ecuaciones con matrices dispersas se pue<strong>de</strong>n resolver con métodos directos,<br />
que son variantes <strong>de</strong> la eliminación gaussiana. El camino habitual <strong>de</strong> acce<strong>de</strong>r a los métodos directos<br />
es a través <strong>de</strong> los operadores / y \, igual que para matrices llenas.<br />
También se pue<strong>de</strong>n utilizar métodos iterativos, que tienen la ventaja <strong>de</strong> no cambiar ningún<br />
elemento <strong>de</strong> la matriz. Se trata <strong>de</strong> obtener soluciones aproximadas <strong>de</strong>spués <strong>de</strong> un número finito <strong>de</strong><br />
pasos.<br />
Se llama factorizaciones “incompletas” a aquéllas que no calculan la factorización exacta sino<br />
una aproximada, <strong>de</strong>spreciando los elementos que se hacen distintos <strong>de</strong> cero pero tienen un valor<br />
pequeño. Aunque la factorización es incompleta y sólo aproximada, se pue<strong>de</strong> hacer en mucho<br />
menos tiempo y para ciertas finalida<strong>de</strong>s es suficiente. Estas factorizaciones incompletas se utilizan<br />
por ejemplo como pre-condicionadores <strong>de</strong> algunos métodos iterativos.<br />
Las siguientes funciones son muy especializadas y aquí sólo se van a citar sus nombres (en<br />
inglés, tal como los utiliza MATLAB). Para más información recurrir al Help y a la bibliografía<br />
especializada.