12.05.2013 Views

Práctica de resolución de sistemas de ecuaciones lineales con ...

Práctica de resolución de sistemas de ecuaciones lineales con ...

Práctica de resolución de sistemas de ecuaciones lineales con ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

La <strong>de</strong>scripción <strong>de</strong> la ayuda <strong>de</strong> MATLAB sigue puesto que \ también<br />

se utiliza para obtener la solución <strong>de</strong> mínimos cuadrados cuando A no es<br />

cuadrada.<br />

Como se pue<strong>de</strong> ver \ utiliza el mejor algoritmo directo posible en función<br />

<strong>de</strong> las propieda<strong>de</strong>s <strong>de</strong> la matriz A. Po<strong>de</strong>mos comprobar esta afirmación<br />

viendo que el tiempo necesario para resolver los diferentes <strong>sistemas</strong> cambia<br />

en función <strong>de</strong> cómo son (<strong>de</strong> todas formas <strong>con</strong>viene tener en cuenta que el<br />

tiempo <strong>de</strong> <strong>resolución</strong> <strong>de</strong>pen<strong>de</strong> <strong>de</strong> muchos factores, algunos <strong>de</strong> ellos externos<br />

a MATLAB, y por tanto es muy variable).<br />

Ejercicio 1 Ejecutar las siguientes ór<strong>de</strong>nes y comparar los tiempos, or<strong>de</strong>nándolos<br />

<strong>de</strong> mayor a menor. Tener en cuenta que A es una matriz sin<br />

ninguna propiedad especial, B es simétrica y <strong>de</strong>finida positiva (excepto en el<br />

improbable caso <strong>de</strong> que A no sea invertible) y T es triangular superior y H<br />

es una matriz <strong>de</strong> Hessenberg 1<br />

>> n = 1000;<br />

>> A = randn(n);<br />

>> T = triu(A);<br />

>> H = triu(A, -1);<br />

>> B = A’*A;<br />

>> b = randn(n,1);<br />

>> tic, A\b; toc<br />

>> tic, T\b; toc<br />

>> tic, H\b; toc<br />

>> tic, B\b; toc<br />

3. Las factorizaciones LU y <strong>de</strong> Cholesky en<br />

MATLAB<br />

Como se ha visto en la sección 2 la or<strong>de</strong>n \ <strong>de</strong> MATLAB utiliza la factorización<br />

LU <strong>con</strong> pivotamiento parcial o la factorización <strong>de</strong> Cholesky para<br />

resolver el sistema (1) según sea la matriz A. De todas formas se pue<strong>de</strong>n<br />

calcular estas factorizaciones.<br />

1 La or<strong>de</strong>n spy(H) mostrará los elementos no nulos <strong>de</strong> H.<br />

3

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!