Vous êtes sur la page 1sur 37

Laboratorio de análisis Anette Wendy QUIPO KANCHA

numérico

Guía nro 07: 3RA UNIDAD DE APRENDIZAJE: Solución De


Sistemas De Ecuaciones Directo
Método Jacobi
Todos los aij ≠ 0, entonces se puede construir ecuación vectorial
X=BX + b, equivalents al Sistema Ax=b, con B
1. %Implementación del método de Jacobi (función algebraica)

1 function x=Jacobi(A,B,x)
2 - n= length(x);
3 - t= x;
4 - for i = 1:n
5 - s = A(i,1:i-1)*t(1:i-1)+A(i,i+1:n)*t(i+1:n);
6 - x(i)=(B(i)-s)/A(i,i);
7 - end
8 %ejemplo aplique el algoritmo p:
9 %A=[5,-3,1;2,4,-1;2,-3 8];
10 %B=[5,6,4]'; %B=[5;6;4];
11 %x=[1,1,1]'; %x=[1;1,1];
12 %x=Jacobi(A,B,x)
13 %1.4000 1.2500 0.6250
14 %1.6250 0.9563 0.6188
15 %1.4500 0.8422 0.4523

 Matriz A 3x3

 Matriz 1x3
Laboratorio de análisis Anette Wendy QUIPO KANCHA
numérico

 Matriz 1x3

 Matriz Jacobi ( 1° integración )

%Repetir la ejecución varias veces para ver la convergencia


(sacando la 5ta iteración tendremos)

K X1K X2K X3K


1 1.4000 1.2500 0.6250
2 1.6250 0.9563 0.6188
3 1.4500 0.8422 0.4523
4 1.4148 0.8881 0.4533
5 1.4422 0.9059 0.7493

2. %Implementación del método de Jacobi, tomando en cuenta la


estimación de la tolerancia y el máximo numero de
iteraciones m.
Laboratorio de análisis Anette Wendy QUIPO KANCHA
numérico

1 function[x,k]=Jacobi2(A,B,x,e,m)
Solución del
2 n=length(x);
3
16 %sistema de ecuaciones con una precisión e=0.0001,
for k=1:m
417- y determine
t=x; el n° de
518- %iteraciones.
for i= 1:n
619- %A=[5,-3,1;2,4,-1;2,-3 8];
s = A(i,1:i-1)*t(1:i-1)+A(i,i+1:n)*t(i+1:n);
720- %B=[5,6,4]'; %B=[5;6;4];
x(i)=(B(i)-s)/A(i,i);8
821- %x=[1,1,1]';
end %x=[1;1,1];
922- if norm((x-t),inf)<e
%[x,k]=Jacobi2(A,B,x,0.001,20)
10- return
11- end
12- end
13- x=[];
14- k=m;
15 %ejemplo aplique el algoritmo Jacobi2, para encontrar 1

 Matriz A 3x3

 Matriz 1x3

 Matriz 1x3
Laboratorio de análisis Anette Wendy QUIPO KANCHA
numérico

 Matriz Jacobi

Método Gauss Seidel

1 function x=GaussSeidel(A,B,x)
2 - n= length(x);
3 %t= x;
4 - for i = 1:n
5 % usa el vector x actualizado
6 - s=A(i,1:i-1)*x(1:i-1)+A(i,i+1:n)*x(i+1:n);
7 - x(i)=(B(i)-s)/A(i,i);
8 - end
9 %ejemplo aplique el algoritmo Gauss Seidel para
resolver:
10 %A=[5,-3,1;2,4,-1;2,-3 8];
11 %B=[5,6,4]'; %B=[5;6;4];
12 %x=[1,1,1]'; %x=[1;1,1];
13 %x=GaussSeidel(A,B,x)

 Matriz A 3x3
Laboratorio de análisis Anette Wendy QUIPO KANCHA
numérico

 Matriz 1x3

 Matriz 1x3

 Matriz Gauss Seidel

%Repetir la ejecución varias veces para ver la convergencia


(sacando la 5ta iteración tendremos)

k X1 X2 X3
1 1.4000 1.0500 0.5438
2 1.5213 0.8753 0.4479
3 1.4356 0.8942 0.4764
4 1.4412 0.8985 0.4766
5 1.4438 0.8973 0.4755
Laboratorio de análisis Anette Wendy QUIPO KANCHA
numérico

Forma matricial del método Jacobi y Gauss Seidel:

Método Jacobi

function[z,x,numite]=Jacobi4(A,B,TOL,MAXITE)
D=diag(diag(A));
L=D-tril(A);
U=D-triu(A);
Tj=inv(D)*(L+U);
x=zeros(size(B));%vector inicial
Cj=inv(D)*B;
z=[];
for i=1:MAXITE
xn=Tj*x+Cj;
err=norm(xn-x-2);
z=[z;xn' err];
x=xn;
if err<TOL
break
end
end
numite=i;
%ejemplo: ejecute c/u de los ejercicios y anote el resultado
%primer ejemplo
%A=[4,0.24 -0.08;0.09 3 -0.15; 0.04 -0.08 4]
%B=[8;9;20]
%[z,x,numite]=Jacobi4(A,B,0.01,5)
%segundo ejemplo
%A=[20,-1,1;2,10,-1;1,1,-20]
%B=[20,11,-18]'
%Tercer ejemplo
%[z,x,numite]=Jacobi4(A,B,0.001,5)
%A=[4,0,1;1,5,3;-1,2,-7]
%B=[3,2,4]'
%[z,x,numite]=Jacobi4(A,B,0.001,10)
%Cuarto ejemplo
%A=[4,6,2;1,3,0;3,1,4]
%B[6,1,8]'
%[z,x,numite]=Jacobi4(A,B,0.001,200)

 Primer ejemplo
Laboratorio de análisis Anette Wendy QUIPO KANCHA
numérico

 Segundo ejemplo
Laboratorio de análisis Anette Wendy QUIPO KANCHA
numérico

 Tercer ejemplo
Laboratorio de análisis Anette Wendy QUIPO KANCHA
numérico

 Cuarto ejemplo
Laboratorio de análisis Anette Wendy QUIPO KANCHA
numérico
Laboratorio de análisis Anette Wendy QUIPO KANCHA
numérico
Laboratorio de análisis Anette Wendy QUIPO KANCHA
numérico
Laboratorio de análisis Anette Wendy QUIPO KANCHA
numérico
Laboratorio de análisis Anette Wendy QUIPO KANCHA
numérico
Laboratorio de análisis Anette Wendy QUIPO KANCHA
numérico

TAREA01: Modifique el programa GaussSeidel, pero esta vez


tomando en cuenta la tolerancia y un numero de interaciones,
y vuelva a ejecutar el ejemplo anterior.

function [x,k]=GaussSeideltarea(A,B,x,e,m)
n= length(x);
%t= x;
for k = 1:m
for i = 1:n
% usa el vector x actualizado
K X1 X2 X3
s=A(i,1:i-1)*x(1:i-1)+A(i,i+1:n)*x(i+1:n);
x(i)=(B(i)-s)/A(i,i);
1 1.4000 1.2500 0.6250
end 2 1.6250 0.9563 0.6188
if norm((0),inf)<e
3 1.4500 0.8422 0.4523
return 4 1.4148 0.8881 0.4533
end 5 1.4422 0.9059 0.7493
end
x=[];
k=m;
%ejemplo aplique el algoritmo Gauss Seidel para resolver:
%A=[5,-3,1;2,4,-1;2,-3 8];
%B=[5,6,4]'; %B=[5;6;4];
}}}
%x=[1,1,1]'; %x=[1;1,1];
%[x,k]=GaussSeideltarea(A,B,x,0.0001,20)

 Matriz A 3x3

 Matriz 1x3

 Matriz 1x3
Laboratorio de análisis Anette Wendy QUIPO KANCHA
numérico

 Matriz Gauss Seidel con iteraciones y tolerancia


Laboratorio de análisis Anette Wendy QUIPO KANCHA
numérico

TAREA02: Implemente una rutina similar al programa de


Jacobi4, para el método Gauss Seidel en su forma matricial
y vuelva a ejecutar los ejemplos

function[z,x,numite]=GaussSeidel2tarea(A,B,TOL,MAXITE)
D=diag(diag(A));
U=triu(A)-D;
L=tril(A)-D;
Tj=-inv(D+L)*U;
Cj=inv(D+L)* B;
x=zeros(size(B));%vector inicial
z=[];
for i=1:MAXITE
xn=Tj*x+Cj;
err=norm(xn-x-2);
z=[z;xn' err];
x=xn;
if err<TOL
break
end
end
numite=i;
%ejemplo: ejecute c/u de los ejercicios y anote el resultado
%primer ejemplo
%A=[4,0.24 -0.08;0.09 3 -0.15; 0.04 -0.08 4]
%B=[8;9;20]
%[z,x,numite]=GaussSeidel2tarea(A,B,0.01,5)
%segundo ejemplo
%A=[20,-1,1;2,10,-1;1,1,-20]
%B=[20,11,-18]'
%[z,x,numite]=GaussSeidel2tarea(A,B,0.001,5)
%tercer ejemplo
%A=[4,0,1;1,5,3;;-1,2,-7]
%B=[3,2,4]'
%[z,x,numite]=GaussSeidel2tarea(A,B,0.001,10)
%Cuarto ejemplo
%A=[4,6,2;1,3,0;3,1,4]
%B=[6,1,8]'
%[z,x,numite]=GaussSeidel2tarea(A,B,0.001,200)

 Primer ejemplo
Laboratorio de análisis Anette Wendy QUIPO KANCHA
numérico

 Segundo ejemplo
Laboratorio de análisis Anette Wendy QUIPO KANCHA
numérico

 Tercer ejemplo
Laboratorio de análisis Anette Wendy QUIPO KANCHA
numérico

 Cuarto ejemplo
Laboratorio de análisis Anette Wendy QUIPO KANCHA
numérico
Laboratorio de análisis Anette Wendy QUIPO KANCHA
numérico
Laboratorio de análisis Anette Wendy QUIPO KANCHA
numérico
Laboratorio de análisis Anette Wendy QUIPO KANCHA
numérico
Laboratorio de análisis Anette Wendy QUIPO KANCHA
numérico
Laboratorio de análisis Anette Wendy QUIPO KANCHA
numérico

PROBLEMAS PROPUESTOS
1. Resuelva en forma manual por el método de Jacobi, por lo
menos 3 iteraciones.
L1: 4(X1) + 0.24(X2) - 0.08(X3) = 8
L2: 0.009(X1) + 3(X2) - 0.15(X3) = 9
L3: 0.04(X1) – 0.08(X2) - 4(X3) = 20
a) Use el programa Implementado del método de Jacobi y
ejecute para obtener el resultado en sus tres formas

1 function x=Jacobitarea01(A,B,x)
2 n= length(x);
3 t= x;
4 for i = 1:n
5 s = A(i,1:i-1)*t(1:i-1)+A(i,i+1:n)*t(i+1:n);
6 x(i)=(B(i)-s)/A(i,i);
7 end
8 %ejemplo aplique el algoritmo p:
9 %A=[4,0.24,-008;0.09,3,-0.15;0.04,-0.08,-4];
10 %B=[8,9,20]';
11 %x=[1,1,1]';
12 %x=Jacobitarea01(A,B,x)
Matriz A:

Matriz B:

Matriz x:
Laboratorio de análisis Anette Wendy QUIPO KANCHA
numérico

Función Jacobi:
- 1 iteración.

- 2 iteración.

- 3 iteración.

b) Use el programa Implementado del método de Gauss


Seidel.

1 function [x,k]=GaussSeideltarea01(A,B,x,e,m)
2 n= length(x);
3 %t= x;
4 for k = 1:m
5 for i = 1:n
6 % usa el vector x actualizado
7 s=A(i,1:i-1)*x(1:i-1)+A(i,i+1:n)*x(i+1:n);
8 x(i)=(B(i)-s)/A(i,i);
9 end
10 if norm((0),inf)<e
11 return
12 end
13 end
14 x=[];
15 k=m;
16 %ejemplo aplique el algoritmo Gauss Seidel para resolver:
17 %A=[4,0.24,-008;0.09,3,-0.15;0.04,-0.08,-4];
18 %B=[8,9,20]';
19 %x=[1,1,1]';
20 %[x,k]=GaussSeideltarea01(A,B,x,0.001,3)
Laboratorio de análisis Anette Wendy QUIPO KANCHA
numérico

Matriz A:

Matriz B:

Matriz x:

Función Gauss Seidel:


- 1 iteración.
Laboratorio de análisis Anette Wendy QUIPO KANCHA
numérico

- 2 iteración.

- 3 iteración.

c) Implemente el método Gauss Seidel en su forma


matricial, y aplique el sistema de ecuaciones
propuestos

1 function[z,x,numite]=GaussSeideltarea01c(A,B,TOL,MAXITE)
2 D=diag(diag(A));
3 L=D-tril(A);
4 U=D-triu(A);
5 Tj=inv(D)*(L+U);
6 x=zeros(size(B));%vector inicial
7 Cj=inv(D)*B;
8 z=[];
9 for i=1:MAXITE
10 xn=Tj*x+Cj;
11 err=norm(xn-x-2);
12 z=[z;xn' err];
13 x=xn;
14 if err<TOL
15 break
16 end
17 end
18 numite=i;
19 %ejemplo: ejecute c/u de los ejercicios y anote el
resultado
%A=[4,0.24,-008;0.09,3,-0.15;0.04,-0.08,-4];
%B=[8,9,20]';
%x=[1,1,1]';
%[z,x,numite]=GaussSeideltarea01c(A,B,0.01,3)
Laboratorio de análisis Anette Wendy QUIPO KANCHA
numérico

Matriz A:

Matriz B:

Matriz x:

Función Gauss Seidel en su forma matricial.


Laboratorio de análisis Anette Wendy QUIPO KANCHA
numérico

2. Se ha dado el sistema siguiente.


L1: a(X1) + 1(X2) = 1
L2: 1(X1) + a+2(X2) = 1
b) Haga 5 iteraciones de Jacobi, con a=1, sabiendo que
el valor inicial x0=[0,0]’

1 function x=Jacobitarea01(A,B,x)
2 n= length(x);
3 t= x;
4 for i = 1:n
5 s = A(i,1:i-1)*t(1:i-1)+A(i,i+1:n)*t(i+1:n);
6 x(i)=(B(i)-s)/A(i,i);
7 end
8 %ejemplo aplique el algoritmo p:
9 %A=[1,1;1,3];
10 %B=[1;1];
11 %x=[1,1,1]';
12 %x=Jacobitarea01(A,B,x)
Matriz A:

Matriz B:

Matriz X:

Función Jacobi:
- 1 iteración.
Laboratorio de análisis Anette Wendy QUIPO KANCHA
numérico

- 2 iteración.

- 3 iteración.

- 4 iteración.

- 5 iteración.

3. Para el circuito eléctrico, determine:

R1=18 R3=30
I2

I1

I3
R2=20 R4=40

V=120
Laboratorio de análisis Anette Wendy QUIPO KANCHA
numérico

a) El sistema de ecuaciones que permite resolver el


problema.

L1: 38(X1) - 18(X2) - 20(X3) = 0


L2: -18(X1) + 48(X2) - 0(X3) = 0
L3: -20(X1) – 0(X2) + 60(X3) = 120

i. Método interativo de Jacobi siendo valor inicial


=[0,0,0] i [1,1,1]. Produzca 5 iteraciones

function[x,k]=Jacobi225(A,B,x,e,m)
n=length(x);
for k=1:m
t=x;
for i= 1:n
s = A(i,1:i-1)*t(1:i-1)+A(i,i+1:n)*t(i+1:n);
x(i)=(B(i)-s)/A(i,i);
end
if norm((x-t),inf)<e
return
end
end
x=[];
k=m;
%A=[38,-18,-20;-18,48,-0;-20,-0,60];
%B=[0;0;120]
%x=[0,0,0]'; x=[1,1,1]'
%[x,k]=Jacobi225(A,B,x,0.1,20)

- 1 iteración.
Laboratorio de análisis Anette Wendy QUIPO KANCHA
numérico

- 2 iteración.

- 3 iteración.

- 4 iteración.
Laboratorio de análisis Anette Wendy QUIPO KANCHA
numérico

- 5 iteración.

Las corrientes en el circuito son por el método de


Jacobi.

I1 1.62
I2 0.61
I3 2.54

i. Método interativo de Gauss Seidel siendo valor


inicial =[0,0,0] i [1,1,1]. Produzca 5
iteraciones

function [x,k]=GaussSeidel(A,B,x,e,m)
n= length(x);
%t= x;
for k = 1:m
for i = 1:n
% usa el vector x actualizado
s=A(i,1:i-1)*x(1:i-1)+A(i,i+1:n)*x(i+1:n);
x(i)=(B(i)-s)/A(i,i);
end
if norm((0),inf)<e
return
end
end
x=[];
k=m;
%ejemplo aplique el algoritmo Gauss Seidel para
resolver:
%A=[38,-18,-20;-18,48,-0;-20,-0,60];
%B=[0;0;120]
%x=[1,1,1]'; x=[0,0,0]'
%[x,k]=GaussSeidel(A,B,x,0.001,5)
Laboratorio de análisis Anette Wendy QUIPO KANCHA
numérico

- 1 iteración.

- 2 iteración.

- 3 iteración.
Laboratorio de análisis Anette Wendy QUIPO KANCHA
numérico

- 4 iteración.

- 5 iteración.

Las corrientes en el circuito son por el método de


Gauss Seidel.

I1 1.62
I2 0.61
I3 2.54

Vous aimerez peut-être aussi