You are on page 1of 1

X=[1 4 5 6]; Y=log(X); x=2; %dato para calcular n=length(X);%grado del polinomio de interpolacion suma=0; fprintf('Grado \tF(x) \tError

Rel \tError Abs\n'); for grado=1:1:n suma=0; for i=1:1:grado producto=Y(i); for j=1:1:grado if(i~=j) producto=producto*(x - X(j))/(X(i) - X(j)); end end suma=suma+producto; end Lagrange_calculado=suma; %fprintf('\nEl valor para %f interpolado es %f\n',x,Lagrange_calculado); Error=abs((log(x)-Lagrange_calculado)/log(x)); %fprintf('\nEl Error estimado de los calculos: Error = %f\n',Error); %fprintf('\nEl Error estimado porcentual de los calculos: Error porcentual = %f %%\n\n',Error*100); fprintf('%i\t %f \t%f \t%f %%\n',grado-1,Lagrange_calculado,Error,Error*100); end fprintf('\n'); xg=1:0.1:6; yg=log(xg); plot(xg,yg,'r') hold on; plot(X,Y,'bo'); hold on; plot(x,Lagrange_calculado,'r+'); hold off; title('Grafica de funcion e interpolacion de lagrange'); xlabel('X'); ylabel('Y = Ln(X)'); legend('Ln(x)','Puntos','Interpolado'); Vari=['X = ',num2str(x),' Y = ',num2str(Lagrange_calculado),' Er = ',num2str(Err or),' Ea = ',num2str(Error*100),' %']; text(x,Lagrange_calculado,Vari);

You might also like