Matlab gauss gussseidel,potencias normalizado

Solo disponible en BuenasTareas
  • Páginas : 5 (1002 palabras )
  • Descarga(s) : 0
  • Publicado : 4 de diciembre de 2011
Leer documento completo
Vista previa del texto
INSTITUTO TECNOLÓGICO DE AGUASCALIENTES
DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y
ELECTRÓNICA
CARRERA DE INGENIERÍA ELECTRÓNICA
ANALISIS NUMERICO

PROGRAMAS FINALES DE ANALISIS NUMERICO
(UNIDAD III)

Autor: Israel Araiza Macías.
Profesora: Judith Mauricio de Anda
N° De Control: 10150235.
Aguascalientes, Ags a 25 de octubre del 2011.
METODO DE GAUSS
%Programa final de ANALISISNUMERICO.
%Descripcion: METODO DE ELIMINACION DE GAUSS.
%Fecha 25/10/2011.
%Autor: ISRAEL ARAIZA MACIAS.
%Maestra: JUDITH MAURICIO DE ANDA.
%RESOLUCION DEL SISTEMA;
%X+Y+Z=6
%X-Y+2Z=5
%X+2Y+3Z=14

clc
clear
A=[1 1 1 ;1 -1 2 ;1 2 3];
b=[6;5;14];
N=size(A,1);
DET = 1;
I=1;
while (I<=N-1)
DET= DET * A(I,I);
if DET==0
fprintf ('"HAY UN CERO EN LA DIAGONALPRINCIPAL"');
break;
end
K=I+1;
while K<=N
J=I+1;
while J<=N
A(K,J)= A(K,J)-A(K,I)*A(I,J)/A(I,I);
J=J+1;
end
b(K)=b(K)-A(K,I)*b(I)/A(I,I);
K=K+1;
end
I=I+1;
end
DET=DET* A(N,N);
if DET==0
fprintf ('hay un cero en la diagonalprincipal');
break
else
x(N)=b(N)/A(N,N);
I=N-1;
while I>=1
x(I)=b(I);
J=I+1;
while J<=N
x(I)=x(I)-A(I,J)*x(J);
J=J+1;
end
x(I)=x(I)/A(I,I);
I=I-1;
end
end
disp ('el vector es:');
x

CORRIDA:
el vector es:

x =

1 2 3

METODO DE GAUSS-SEIDEL
%Programa final deanalisis numerico.
%metodo de gauss-seidel
%metodo de gauss seidel con la matriz;
%3x1 - 0.2X2 - 0.5X3 = 8
%0.1x1 + 7x2 + 0.4x3 = -19.5
%0.4X1 - 0.1x2 + 10x3 = 72.4
%creado por: ISRAEL ARAIZA MACIAS
%creado el 25 de octubre del 2011.
clc
clear;
A=[3 -0.2 -0.5;0.1 7 0.4;0.4 -0.1 10];
b=[8 -19.5 72.4];
X0=zeros(1,3);
X=X0;
K=0;
norma=1;
fprintf(' K X(1) X(2) X(3)norma\n')
while norma > 0.0001
K=K+1;
fprintf (' %2d ',K)
for i=1:3
suma=0;
for j=1:3
if i ~= j
suma = suma + A(i,j)*X(j);
end
end
X(i) = (b(i)-suma)/A(i,i);
fprintf('%10.4f',X(i))
end
norma=norm(X0-X);
fprintf('%10.4f\n',norma)
X0=X;
if K>17
disp('no sealcanzo la convergencia')
break
end
end

CORRIDA:

K X(1) X(2) X(3) norma
1 2.6667 -2.8238 7.1051 8.0974
2 3.6626 -3.2440 7.0611 1.0819
3 3.6272 -3.2410 7.0625 0.0355
4 3.6277 -3.2411 7.0625 0.0005
5 3.6277 -3.2411 7.0625 0.0000

METODO DE NEWTHON-RAPHSON PARA SISTEMAS DEECUACIONES
NO LINEALES
%descripcion: metodo de newton-raphson para sistemas de ecuaciones no
%lineales
%25 de octubre del 2011
%autor: ISRAEL ARAIZA MACIAS
%Maestra: JUDITH MAURICIO DE ANDA.
%utilizamos la siguientes ecuaciones:
%1.- x^2 + xy - 10 = 1
%2.- y + 3xy^2 - 57 = 8
%derivadas parciales correspondientes:
%parcial de 1.- respecto a x= 2x + y
%parcial de 1.- respecto a y= x
%parcial de2.- respecto a x= 3y^2
%parcial de 2.- respecto a y= 1 + 6xy
clc
clear
x=[1;8];
N=input('dame el numero de iteraciones: ');
norma=1; k=0;
fprintf('\n\nk x y norma\n');
while norma>0.0001
f=[x(1)^2+x(1)*x(2)-10; x(2)+3*x(1)*x(2)^2-57];
j=[2*x(1)+x(2) x(1); 3*x(2)^2 1+6*x(1)*x(2)];
y=-inv(j)*f;
xi=x+y;
norma=norm(x-xi);fprintf('%d %.6f %.6f %.6f\n', k,x(1),x(2),norma);
x=xi;
k=k+1;
if k>=N
break;
end
end
fprintf('%d %.6f %.6f %.6f\n', k,x(1),x(2),norma);
if k==N
disp('no se alcanzo la convergencia');
end

CORRIDA:

dame el numero de iteraciones: 8

k x y norma
0 1.000000...
tracking img