You are on page 1of 8

FACULTAD DE INGENIERA

PRESENTADO POR:
NESTOR IVAN OSPINA GAITAN 223664
JUAN PABLO MORENO CASTRO 215692
DAVID ERNESTO RAMIREZ DIAZ 223327

METODOS NUMERICOS
LABORATORIO 2
SOLUCIN DE SISTEMAS LINEALES MEDIANTE MATRICES

Bogot D.C. septiembre 12 de 2014

INTRODUCCION

Actualmente en ingeniera se presentan diferentes tipos de proyectos que


debido a su complejidad tiene que ser optimizados para obtener un resultado
satisfactorio.
Encontramos tambin adaptado a los sistemas computacionales la resolucin
de estos problemas desarrollados mediante herramientas como SCILAB donde
se utilizan funciones que faciliten la resolucin de estos.

El desarrollo de los mtodos numricos mencionados anteriormente


suele ser bastante extenso por lo cual, la programacin en herramientas
como SCILAB permiten ahorrar tiempo logrando resultados acertados.
A continuacin se presentara el cdigo desarrollado para encontrar

Polinomios interpoladores de LAGRANGE y de NEWTON.

1. CODIGO SCILAB

clc;
clear;
disp(" ** Laboratorio 03 / Grupo 05 ** ") // Segn sea el caso
disp("Codigos: 02223664 - 02215692 - 02223327") // En concordancia con los
participantes del grupo
ww=getdate(); // Obtencin de la fecha y hora de ejecucin del programa
mprintf( "AA:%d ,MM:%d ,DD:%d a las HH:%d ,MM:%d ,SS:%d
",ww(1),ww(2),ww(6),ww(7),ww(8),ww(9));
m1= input('Ingrese el numero de puntos : ') ;
m=m1;
a1=[];
b1=[];
c1=[];
d1=[];
disp("Datos necesarios para el metodo de Lagrange")
disp("Ingrese los coeficientes xi")
for b=1:m
ax= input('coeficiente: ') ;
a1=[a1;ax];
end
disp("Ingrese los coeficientes f(xi)")
for a=1:m
bx= input('coeficiente: ') ;
b1=[b1;bx];
end
disp("xi
f(xi)");
a2=[a1 b1]
disp("Datos para el metodo de Newton")
disp("Ingrese los coeficientes xi")
for c=1:m

los

cx= input('coeficiente: ') ;


c1=[c1;cx];
end
disp("Ingrese los coeficientes f(xi)")
for d=1:m
dx= input('coeficiente: ') ;
d1=[d1;dx];
end
disp("xi
f(xi)");
a2=[a1 b1]
disp("xi
f(xi)");
a3=[c1 d1]
disp("polinomio interpolador de Lagrange")
L=[];
l1=1;
x=poly(0,"x");
for i=1:m
for j=1:m
if i~=j
l1=l1*(x-a1(j))/(a1(i)-a1(j));
end
end
L=[L l1];
l1=1;
end
p=0;
for k=1:m
p=p+L(k)*b1(k);
end
p
disp("Polinomio de Newton, diferencias divididas")
aa=d1;
co=[];
A=zeros(m-1,m-1);
for e=m-1:-1:1
for f=1:e
cox=(aa(f+1)-aa(f))/(c1(f+(m-e))-c1(f));
co=[co;cox];
A(f,m-e)=cox
end
aa=co;
co=[];
end
pp=0;
pr=1;
for h=1:m-1
for g=1:h
pr=pr*(x-c1(g));
end
pp=pp+A(1,h)*pr;
pr=1;
end
pf=pp+d1(1);
pf

x=[a1(1):0.1:a1(m)]';
subplot(1,2,1)
plot(x,horner(p,x));
xlabel( " Xi (Presion) " ) ;
ylabel(" f(xi) (Grados Centigrados C) " ) ;
title("Polinomio de Lagrange" ) ;
a=gca();
a.grid=[1,2];
x=[c1(1):0.1:c1(m)]';
subplot(1,2,2)
plot(x,horner(pf,x));
xlabel( " Xi " ) ;
ylabel(" f(xi) " ) ;
title("Polinomio de Newton" ) ;
a=gca();
a.grid=[1,2];

2. PANTALLASOS DEL CODIGO

3. CONCLUSION

SCILAB se convierte en una valiosa herramienta a la hora de realizar


procesos iterativos o operaciones matemticas extensas como los
mtodos para obtener los polinomios interpoladores de Lagrange y

de Newton, pues permite programar un cdigo que encuentra el


polinomio con su grafica correspondiente como se pudo observar
anteriormente.

You might also like