Documentos de Académico
Documentos de Profesional
Documentos de Cultura
numérico
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
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
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
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
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
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
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.
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:
- 2 iteración.
- 3 iteración.
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:
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.
R1=18 R3=30
I2
I1
I3
R2=20 R4=40
V=120
Laboratorio de análisis Anette Wendy QUIPO KANCHA
numérico
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.
I1 1.62
I2 0.61
I3 2.54
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.
I1 1.62
I2 0.61
I3 2.54