Practica III: Resolucin numrica sistemas de ecuaciones lineales.
Para resolver un circuito lineal
se plantea el siguiente sistema de ecuaciones:
EJERCICIO 1.a) Escriban el
sistema anterior en forma
matricial:
b) Resuelvan el anterior sistema de ecuaciones lineales usando el
mtodo de Gauss tomando m=3. Para ello consideren el siguiente pseudocdigo:
Nota: supongan que a es una matriz cuadrada de dimensin nxn y b un vector fila de dimensin n. EJERCICIO 2.
a) Los operadores / y \ (slash y backslash) de matlab
aplicados sobre matrices son ciertamente especiales:
a/a2 es equivalente a a*inv(a2)
a\a2 es equivalente a inv(a)*a2
Utiliza estos operadores para resolver el sistema anterior con
-1 m=3, es decir calcula x=A b EJERCICIO 3
a) Que ocurre al resolver el sistema con los mtodos anteriores
para m=0?
b) Intenta solucionarlo con la siguiente modificacin en
pseudocdigo:
c) Comenta los resultados
Nota: El intercambio de filas de la (lnea 04), se basa en encontrar siembre el mximo pivote posible (lo cual dota de mayor estabilidad al mtodo). Para calcular el mximo (lnea 03) utiliza la instruccin max de Matlab: >> [m,i]=max(v) devuelve en m el mayor valor del vector v y en i su posicion, esto es, m = v(i). (Ayuda. La instruccin [m,r]=max(abs(a(i:n,i))) te devolver en r la posicin del mximo en el vector columna abs(a(i:n,i)). Por tanto, la fila en la matriz a con el mayor valor en la columna i es i+r-1.) El intercambio de filas de las (lneas 0406) se puede implementar de varias formas. Una posibilidad es mediante: aux = a(i,i:n); a(i,i:n)=a(k,i:n); a(k,i:n)=aux;