viernes, 24 de febrero de 2012

Interpolacion Polinomial Simple en matlab

clear  all; 
    clc;
      fprintf('Interpolacion con el Metodo de Aproximacion Polinomial Simple\n\n'); 
   n=input('Numero de puntos que se tienen: ');

for i=1:n 
    x(1,i)=input('dame los valores de xi:'); 
end

for i=1:n 
    xi(1,i)=input('dame los valores de f(xi):'); 
end
%imprimiendo los Valores x, xi
x 
xi 
xint=input('Numero para el que desea interpolar x: '); 
%determinando los parametros a0,1,2
i=1; 
while i<=n 
    a(i,1)=1; 
    j=2;

    while j<=n 
        a(i,j)=a(i,j-1)*x(1,i); 
        j=j+1; 
    end 
    a(i,n+1)=xi(1,i); 
    i=i+1; 
end 
%Resolviendo mediante el metodo de Gauss-jordan
c=n+1; 
f=n; 
for k=1:c-1 
    a(k,:)=a(k,:)/a(k,k); 
    for j=k+1:f 
        a(j,:)=a(j,:)-a(k,:)*a(j,k); 
        j=j+1; 
    end 
    k=k+1; 
end
for k=f:-1:2 
    for j=k-1:-1:1 
        a(j,:)=a(j,:)-a(k,:)*a(j,k); 
        j=j-1; 
    end 
    k=k-1; 
end
r=0; 
for m=1:n-1 
    r=r+(a(m+1,n+1))*xint^m; 
end
  r=r+a(1,n+1); 
   fprintf('\n\nresultado xi: %d\n',r);
%Graficando Resultados
    plot(x,xi) 
  grid 
xlabel('x');ylabel('y')

No hay comentarios:

Publicar un comentario