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 ...
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