You are on page 1of 5

ANLISIS NUMRICO

UNIVERSIDAD TECNOLGICA LA SALLE. ULSA- LEN


ANALISIS NUMERICO.
DOCENTE: Lic. Elvin Prez.

Tema:
Mtodo de EGSA (Mat-Lab).
Mtodo de jacobi (Mat-Lab).
Nombres:
Arllely Marcela Sandoval

2do Ao - IGI- Diario

Fecha: 08 de Noviembre del 2016.

ANLISIS NUMRICO
clear
a=input('INGRESE LA MATRIZ AUMENTADA A=');
%a=[1 -1 2 -1 -8; 2 -2 3 -3 -20; 1 1 1 0 -2; 1 -1 4 3 4];
%PASO 1
[n,m]=size(a);
bol=0;
%PASO 2 haga pasos 3-5
for i=1:n-1
for p=i:n
if a(p,i)~=0
break;
end
end
if p==n
disp('EL SISTEMA TIENE SOLUCIONES O NO EXISTE SOLUCION');
bol=1;
break;
end
%PASO 4 intercambio de fila
if p~=i
disp('pivotenado')
aux=a(i,:);
a(i,:)=a(p,:);
a(p,:)=aux;
end
%PASO 5 Haga los pasos 6-7
for j=i+1:n
%Paso 6
m(j,i)=a(j,i)/a(i,i);
%PASO 7
a(j,:)=a(j,:)-m(j,i)*a(i,:);
end
end
a
if bol==0
%PASO 8
if a(n,n)==0 & a(n,n+1)==0
disp('EL SISTEMA TIENE INFINITAS SOLUCIONES');
fprint('PROCEDIMIENTO TERMINADO SIN EXISTO\n');
else if a(n,n)==0 & a(n,n+1)~=0
disp('EL SISTEMA NO TIENE INFINITAS SOLUCIONES');
fprint('PROCEDIMIENTO TERMINADO SIN EXISTO\n');
else %PASO9 % Hago los pasos 9-11
x(n)=a(n,n+1)/a(n,n);
%comienza la sustitucin hacia atrs
%PASO 10
for i=n-1:-1:1
s=0;
for j=i+1:n
s=s+a(i,j)*x(j);
end
x(i)=(a(i,n+1)-s)/a(i,i);
end

ANLISIS NUMRICO
%PASO 11
disp('la solucion aproximada del sistema es');
for i=1:n
fprintf('\n x(%1d)=%6.3f',i,x(i));
end
fprintf('PROCEDIMIENTO TERMINADO SASTISFACTORIAMENTE\n');
end
end
else
fprintf('PROCEDIMIENTO TERMINADO SIN EXITO\n');
end

SALIDA.
INGRESE LA MATRIZ AUMENTADA A= [1 1 0 3 4; 2 1 -1 1 1; 3 -1 -1 2 -3; -1 2 3 -1 4]
a=
1

0 -1 -1 -5 -7
0

3 13 13

0 -13 -13

La solucin aproximada del sistema es:


x(1)=-1.000
x(2)= 2.000
x(3)= 0.000
x(4)= 1.000 PROCEDIMIENTO TERMINADO SASTISFACTORIAMENTE,

ANLISIS NUMRICO
Ejercicio N 2 (Mtodo de jacobi).

ENTRADA.
%progama para resolver el sistema Ax=b dada una aaproximacion incial.
function jacobi(n,A,b,x0,tol,m)
%mediante el metodo de jacobi
%datos
%n numero de ecuaciones e incognitas
%A matriz de coeficientes
%b el vector de terminos independientes
%x0 el vector de aproximacion inicial
%tol tolerancia o precision deseada
%m numero maximo de iteraciones
%resultados
%x el vector de solucion aproximada(x1,x2,x3,....,xn)
n=input('\n Intruduzca el numero de incognitas y ecuaciones n:');
%n=4
A=input('\n introduzca la matriz de los coeficientes A:');
% A=[10 -1 2 0; -1 11 -1 3; 2 -1 10 -1; 0 3 -1 8]
b=input('\n introduzca el vector de los terminos independiente b:');
%b=[6 25 -11 15]
x0=input('\n Introduzca el valor de aproximacion inicial x0:');
%x0=[0 0 0 0]
tol=input('\n Introduzca la tolerancia o precision tol:');
%tol=0.01
m=input('\n Introduzca el numero total de iteraciones m:');
%m=20
k=1;
fprintf(' k ');
for i=1:n
fprintf('
x%i(k)',i);
end
fprintf('
//xk-xk// \n');
while(k<=m)
for i=1:n
suma=0;
for j=1:n
if j~=i
suma=suma+A(i,j)*x0(j);
end
end
x(i)=(-suma+b(i))/A(i,i);
end
y=norm(x-x0,inf);
fprintf('% i',k);
for i=1:n
fprintf(' %f ',x(i));
end
fprintf(' %f \n ',y);
if y<tol
fprintf('\n la solucin aproximada es:')

ANLISIS NUMRICO
for i=1:n
fprintf('\n x (%i)=%f ',i,x(i));
end
return;
end
k=k+1;
for i=1:n
x0(i)=x(i);
end
end
fprintf('\n El nmero mximo de iteraciones excedido');

SALIDA.
Introduzca el nmero de incgnitas y ecuaciones n: 4
Introduzca la matriz de los coeficientes A: [10 -1 2 0; -1 11 -1 3; 2 -1 10 -1; 0 3 -1 8]
Introduzca el vector de los trminos independiente b: [6 25 -11 15]
Introduzca el valor de aproximacin inicial x0: [0 0 0 0]
Introduzca la tolerancia o precisin tol: 0.01
Introduzca el nmero total de iteraciones m: 20
k x1(k) x2(k) x3(k) x4(k) //xk-xk//
1 0.600000 2.272727 -1.100000 1.875000 2.272727
2 1.047273 1.715909 -0.805227 0.885227 0.989773
3 0.932636 2.053306 -1.049341 1.130881 0.337397
4 1.015199 1.953696 -0.968109 0.973843 0.157038
5 0.988991 2.011415 -1.010286 1.021351 0.057719
6 1.003199 1.992241 -0.994522 0.994434 0.026917
7 0.998128 2.002307 -1.001972 1.003594 0.010066
8 1.000625 1.998670 -0.999036 0.998888 0.004706
La solucin aproximada es:
x (1)=1.000625
x (2)=1.998670
x (3)=-0.999036
x (4)=0.998888