Ecuaciones Lineales

Resolución de ECUACIONES LINEALES 1.Gauss Jordan 2.Jacobi 3.Gauss - Seidel Ing. Viviana Ortellado Metodos: • El mé

Views 209 Downloads 3 File size 1MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Resolución de ECUACIONES LINEALES

1.Gauss Jordan 2.Jacobi 3.Gauss - Seidel

Ing. Viviana Ortellado

Metodos:

• El método de Jacobi es un método iterativo, usado para resolver sistemas de ecuaciones lineales del tipo Ax=b . El algoritmo toma su nombre del matemático alemán Carl Gustav Jakob Jacobi. El método de Jacobi consiste en usar fórmulas como iteración de punto fijo. • La sucesión se construye descomponiendo la matriz del sistema A en la forma siguiente: A=D+Q

Ing. Viviana Ortellado

METODO DE JACOBI

Sea 𝐴𝑥=𝑏 el sistema lineal a resolver, con 𝐴=(𝑎𝑖𝑗); 𝑥=(𝑥𝑗)𝑡. El método de Jacobi, tiene como condición suficiente de convergencia que la matriz 𝐴 sea diagonal estrictamente dominante, es decir, que se verifique: |𝑎𝑘𝑘| > σ𝑛𝑗=1 |𝑎𝑘𝑗| ∀𝑘=1,𝑛. 𝑗≠𝑘

Se parte de una aproximación inicial 𝑥(0). Se expresa la matriz del sistema 𝐴=(𝑎𝑖𝑗) como la suma de dos matrices: 𝐷=(𝑎𝑖𝑖); 𝑖=1,𝑛; 𝑚𝑎𝑡𝑟𝑖𝑧 𝑑𝑖𝑎𝑔𝑜𝑛𝑎𝑙 𝑦 𝑄=(𝑞𝑖𝑗) 𝑚𝑎𝑡𝑟𝑖𝑧 𝑐𝑢𝑎𝑑𝑟𝑎𝑑𝑎 𝑐𝑜𝑛 𝑞𝑖𝑗=𝑎𝑖𝑗, ∀ 𝑖≠𝑗 ∧ 𝑞𝑗𝑗=0, ∀ 𝑗= 1,𝑛.

Ing. Viviana Ortellado

Método de Jacobi

Así el sistema se escribe: (𝐷+𝑄)𝑥=𝑏

es la fórmula de iteración del método:

Se interrumpe cuando ‖||𝑥(𝑘)−𝑥(𝑘−1)||‖err||tol>relerr break; else P0=X; end end X

% Salida, aprox a la solución

Ing. Viviana Ortellado

A=[ ] B=[ ] P0=[ ] m= tol=

; ; ; ; ;

% A matriz no singular y diagonal dominante n*n % B es matriz n*1 de terminus independientes % P0 matriz n*1 de valores iniciales % m numero max de iteriones % tolerancia

n=length(B); X=zeros(size(B)); for i=1:m for j=1:n X(j)=(B(j)-A(j,[1:j-1 j+1:n])*P0([1:j-1 j+1:end]))/A(j,j); end err=norm(X-P0); relerr=err/norm(X); result(i,:)=[i X’ err relerr ]; % Respuesta matricial if tol>err||tol>relerr break; else P0=X; end end result % Salida, aprox a la solución

Ing. Viviana Ortellado

A=[ ] B=[ ] P0=[ ] m= tol=

METODO DE GAUSS-SEIDEL

Parece lógico pensar que, si los valores nuevos se aproximan mas a la solución, entonces se obtendrán mejores resultados usando ya dichos valores. En esto consiste el método de Gauss-Seidel, se sustituyen en la derecha los valores actualizados que ya tenemos en cada momento. Sea 𝐴𝑥=𝑏 el sistema lineal a resolver, con 𝐴=(𝑎𝑖𝑗); 𝑥=(𝑥𝑗)𝑡. El método de Jacobi, tiene como condición suficiente de convergencia que la matriz 𝐴 sea diagonal estrictamente dominante, es decir, que se verifique: |𝑎𝑘𝑘| > σ𝑛𝑗=1 |𝑎𝑘𝑗| ∀𝑘=1,𝑛. 𝑗≠𝑘

Ing. Viviana Ortellado

En el método de Jacobi, empleamos siempre los valores antiguos de las variables aunque ya hayamos calculado los nuevos valores de algunas de ellas.

Se parte de una aproximación inicial 𝑥(0).

Ing. Viviana Ortellado

La diferencia con el método de Jacobi, es que cada incógnita 𝑥𝑠(𝑘) obtenida es utilizada para el cálculo de la siguiente, entonces la fórmula de iteración es:

Se interrumpe cuando ‖ ||𝑥(𝑘)−𝑥(𝑘−1)||‖err||tol>relerr break; else P0=X; end end X

% Salida, aprox a la solución

Ing. Viviana Ortellado

A=[ ] B=[ ] P0=[ ] m= tol=

; ; ; ; ;

% A matriz no singular y diagonal dominante n*n % B es matriz n*1 de terminus independientes % P0 matriz n*1 de valores iniciales % m numero max de iteriones % tolerancia

n=length(B); X=P0; for i=1:m for j=1:n X(j)=(B(j)-A(j,[1:j-1 j+1:n])*X([1:j-1 j+1:end]))/A(j,j); end err=norm(X-P0); relerr=err/norm(X); result(i,:)=[i X’ err relerr ]; % Respuesta matricial if tol>err||tol>relerr break; else P0=X; end end result % Salida, aprox a la solución

Ing. Viviana Ortellado

A=[ ] B=[ ] P0=[ ] m= tol=

METODO DE GAUSS JORDAN

El método de Gauss Jordan, considera la matriz ampliada 𝑀=(𝐴,𝑏) y se realiza en dos etapas, diagonalización y retrosustitución La diagonalización con pivoteo parcial, es tomar como pivot akk, distinto de cero y el mayor de su columna intercambiando filas, si es necesario, para k = 1, 2, …, n-1, y se realizan las operaciones sobre las filas para: i = k + 1; 𝑎𝑖𝑗(𝑘)=𝑎𝑖𝑗(𝑘−1)−𝑚𝑖𝑘𝑎𝑖𝑗(𝑘−1), 𝑐𝑜𝑛 𝑚𝑖𝑘=𝑎𝑖𝑘(𝑘−1)/𝑎𝑘𝑘(𝑘−1)

Ing. Viviana Ortellado

Sea 𝐴𝑥=𝑏 el sistema lineal a resolver, con 𝐴=(𝑎𝑖𝑗); 𝑥=(𝑥𝑗)𝑡

con lo cual se obtiene un sistema equivalente, pero con matriz en forma escalonada.

La retrosustitución, que es la segunda parte, se inicia con la obtención de: 𝑥𝑛=𝑏𝑛(𝑛−1) /𝑎𝑛𝑛(𝑛−1)

y luego sucesivamente, para k = n-1, n-2, …, 2, 1

𝑥𝑘=

(𝑛−1). (𝑛−1) σ𝑗=𝑛 𝑎 𝑥 ) / 𝑎 𝑘𝑗 𝑗 𝑘𝑘 𝑗=𝑘+1

(𝑏𝑘(𝑛−1)−

Ing. Viviana Ortellado

El sistema admite solución única si 𝐴 es no singular.

Ing. Viviana Ortellado

• Resolver el sistema de ecuaciones lineales por el método de Gauss-Jordan.

Gauss - matlab n=length(B); X=zeros(n,1); C=[A B]; if det(A)==0 disp('el sistema no tiene solucion o tiene infinitas soluciones'); else j=0; i=n; while(j