function pushbutton1_Callback(hObject, eventdata, handles)
puntos=str2num(get(handles.edit1,'string'));
syms X
x=puntos(:,1)';
Y=puntos(:,2)';
par=str2num(get(handles.edit5,'string'));
minx=min(x);
maxx=max(x);
if (minx<=min(par)&& max(par)<=maxx)
y=Y;
w=length(x);
n=w-1;
L=zeros(w,w);% coeficiente de lagrange
for k=1:n+1;
V=1;
for j=1:n+1
if k~=j
V=conv(V,poly(x(j)))/(x(k)-x(j));
end
end
L(k,:)=V;
end
C=y*L;% coeficientes del polinomio POR COLUMNAS
for k=1:w
F=X^(w-k);
l=C(k);
U(1,k)=l*F;%fUNCION DEL POLINOMIO
end
suma=0;
for k=1:length(U)
suma=U(1,k) + suma;
end
f=suma;
I1=int(f,min(par),max(par));
set(handles.text3,'string',num2str(I1))
ejex=minx:0.1:maxx;
plot(handles.axes1,x,y,'Om')
hold on;
plot(handles.axes1,ejex,polyval(C,ejex))
hold on
plot(handles.axes1, [par(1) par(1)],[ 0 subs(f,par(1))],'r','linewidth',5)
hold on
plot(handles.axes1, [par(2) par(2)],[ 0 subs(f,par(2))],'r','linewidth',5)
hold on
ejex=min(par):0.1:max(par);
area(handles.axes1,ejex,subs(f,ejex))
hold on
grid on
h=1;
df1=(-subs(f,X,par(1)+2*h)+ 8*subs(f,X,par(1)+ h)-8*subs(f,X,par(1)-h)+ subs(f,X,par(1)-2*h))/12*h;
gr1=df1*(X-par(1)) + subs(f,par(1));
p=subs(gr1,ejex);
plot(handles.axes1,ejex,p,'g','linewidth',2)
hold on
df2=(-subs(f,X,par(2)+2*h)+ 8*subs(f,X,par(2)+ h)-8*subs(f,X,par(2)-h)+ subs(f,X,par(2)-2*h))/12*h;
gr2=df2*(X-par(2)) + subs(f,par(2));
p2=subs(gr2,ejex);
plot(handles.axes1,ejex,p2,'k','linewidth',2)
title('Grafica de Pn(x)')
end