Mathematics">
T2 Pablo - Pobletep
T2 Pablo - Pobletep
T2 Pablo - Pobletep
TALLER II
El desarrollo del presente taller lo puede realizar en cualquiera de las 2 opciones siguiente:
En cualquiera de las dos opciones debe detallar (explicar) todo su desarrollo y adjuntar gráficos y
códigos utilizados.
Es importante que cumpla con los plazos definidos en plataforma, y entregue el archivo en formato
PDF.
Tendrá disponible para consultas tanto la sesión con el profesor, como la sesión de ayudantía en la
respectiva semana.
a) Usando el método iterativo de Gauss-Seidel para aproximar la solución del sistema. ¿Es
convergente? Si el método no es convergente, ¿A qué se puede deber?
clc;
clear all;
close all;
A=[1 2 -2 ;
1 1 1 ;
2 2 1 ];
B=[7 2 5];
n=length(B);
[ma na]=size(A);
R=max(abs(eig(A)));
R
ca=1;
for i=1:ma
for j=1:na
if i==j
dA(ca)=A(i,j);
ca=ca+1;
end
end
end
%%Considerando 10 iteraciones
it=10;
x=zeros(it,n);
for k=1:it-1
for l=1:n
for m=1:n
if m~=l
if l>m
x(k+1,l)=x(k+1, l)-A(l,m)*x(k+1,m);
else
x(k+1,l)=x(k+1, l)-A(l,m)*x(k,m);
end
end
end
x(k+1,l)=(x(k+1,l)+B(l))/dA(l);
end
end
omega=1;
n=3;
A=[1, 2, -2 ;
1, 1, 1 ;
2, 2, 1 ];
b=[7 , 2 , 5];
x0= [0,0,0];
maxiter=100;
w=1;
tol= 0.00001;
[m n]= size(A);
x=zeros(size(b));
x2=x;
if any(abs(diag(A))<eps)
end
for k=1:maxiter
for i=1:n
x(i)=tem*w + (1-w)*x0(i);
x0(i)=x(i);
end
if norm(x-x2)< tol
return
end
x2=x;
end
1.0e+32 *
clc;
clear all;
close all;
A=[1, 2, -2 ;
1, 1, 1 ;
2, 2, 1 ];
B=[7 , 2 , 5];
n=length(B);
[ma, na]=size(A);
R=max(abs(eig(A)));
R
ca=1;
for i=1:ma
for j=1:na
if i==j
dA(ca)=A(i,j);
ca=ca+1;
end
end
end
%%Considerando 10 iteraciones
it=10;
x=zeros(it,n);
for k=1:it-1
for l=1:n
for m=1:n
if m~=l
x(k+1,l)=x(k+1, l)-A(l,m)*x(k,m);
end
end
x(k+1,l)=(x(k+1,l)+B(l))/dA(l);
end
end
x
x=
0 0 0
7 2 5
13 -10 -13
1 2 -1
1 2 -1
1 2 -1
1 2 -1
1 2 -1
1 2 -1
1 2 -1
Quedando:
Incógnita Valor
X 1
Y 2
Z -1
El error se aproxima a cero con el método de Jacobi, dando resultados exactos de las incógnitas.
2. un ingeniero civil que trabaja en la construcción requiere 4800, 5800 y 5700 m 3 de arena,
grava fina y grava gruesa, respectivamente, para cierto proyecto. Hay tres canteras de las
que puede obtenerse dichos materiales. La composición de dichas canteras es la siguiente
¿Cuantos metros cúbicos debe extraer de cada cantera a fin de satisfacer las necesidades
del ingeniero?
Por lo que:
0.55𝑋 + 0.25𝑌 + 0.25𝑍 = 4800
{ 0.15𝑋 + 0.3𝑌 + 0.55𝑍 = 5800
0.2𝑋 + 0.6𝑌 + 0.2𝑍 = 5700
Método de Jacobi:
clc;
clear all;
close all;
n=length(B);
[ma, na]=size(A);
R=max(abs(eig(A)));
R
ca=1;
for i=1:ma
for j=1:na
if i==j
dA(ca)=A(i,j);
ca=ca+1;
end
end
end
%%Considerando 10 iteraciones
it=10;
x=zeros(it,n);
for k=1:it-1
for l=1:n
for m=1:n
if m~=l
x(k+1,l)=x(k+1, l)-A(l,m)*x(k,m);
end
end
x(k+1,l)=(x(k+1,l)+B(l))/dA(l);
end
end
Método de Gauss-Seidel:
clc;
clear all;
close all;
x
No converge por el método de Gauss-Seidel
Método SOR:
clc;
clear all;
close all;
omega=1;
n=3;
x0= [0,0,0];
maxiter=100;
w=1;
tol= 0.00001;
[m n]= size(A);
if m~=n, error('Matriz del sistema no cuadrada'), end
x=zeros(size(b));
x2=x;
if any(abs(diag(A))<eps)
end
for k=1:maxiter
for i=1:n
x(i)=tem*w + (1-w)*x0(i);
x0(i)=x(i);
end
if norm(x-x2)< tol
return
end
x2=x;
end
4𝑥1 − 𝑥2 − 𝑥4 = 0
−𝑥1 + 4𝑥2 − 𝑥3 − 𝑥5 = 5
− 𝑥2 + 4𝑥3 − 𝑥6 = 0
−𝑥1 + 4𝑥4 − 𝑥5 = 6
− 𝑥2 − 𝑥4 + 4𝑥5 − 𝑥6 = −2
− 𝑥3 − 𝑥5 + 4𝑥6 = 6
a. Aproxime la solución del siguiente sistema lineal mediante un método de SOR. Justifique la
elección de su ω.
clc;
clear all;
close all;
omega=1;
n=6;
x0= [0,0,0,0,0,0];
maxiter=100;
w=1;
tol= 0.00001;
[m n]= size(A);
x=zeros(size(b));
x2=x;
if any(abs(diag(A))<eps)
end
for k=1:maxiter
for i=1:n
x(i)=tem*w + (1-w)*x0(i);
x0(i)=x(i);
end
if norm(x-x2)< tol
return
end
x2=x;
end
Columns 1 through 4
Columns 5 through 6
0.999998488844099 1.999999355073878
Variable Valor
X1 0.999997066656751
X2 1.999997496234923
X3 0.999998931451415
X4 1.999998229570736
X5 0.999998488844099
X6 1.999999355073878