Sunteți pe pagina 1din 8

PROGRAMA PARA LA INTERPOLACIN DE NEWTON HASTA UN POLINOMIO DE CUARTO GRADO

clc
clear all
n=input('Ingrese el grado del polinomio de Lagrange a
evaluar(1=Lineal,2=Cuadratica,3=Cubica,4=Cuarto Grado)=');
if n==1
vec0=input('Ingrese el valor del primer punto y su valor en la funcin=');
vec1=input('Ingrese el valor del segundo punto y su valor en la funcin=');
syms x
L0=((x-vec1(1,1)))/(((vec0(1,1)-vec1(1,1))));
L1=((x-vec0(1,1)))/(((vec1(1,1)-vec0(1,1))));
px=L0*vec0(1,2)+L1*vec1(1,2);
x=input('Ingrese el valor a estimar=');
a=subs(px,x);
b=a*1;
disp('El valor que se desea estimar es=')
disp(b)
else
if n==2
vec0=input('Ingrese el valor del primer punto y su valor en la
funcin=');
vec1=input('Ingrese el valor del segundo punto y su valor en la funcin=');
vec2=input('Ingrese el valor del tercer punto y su valor en la funcin=');
syms x
L0=((x-vec1(1,1))*(x-vec2(1,1)))/((vec0(1,1)-vec1(1,1))*(vec0(1,1)-vec2(1,1)));
L1=((x-vec0(1,1))*(x-vec2(1,1)))/((vec1(1,1)-vec0(1,1))*(vec1(1,1)-vec2(1,1)));
L2=((x-vec0(1,1))*(x-vec1(1,1)))/((vec2(1,1)-vec0(1,1))*(vec2(1,1)-vec1(1,1)));
px=L0*vec0(1,2)+L1*vec1(1,2)+L2*vec2(1,2);
x=input('Ingrese el valor a estimar=');
a=subs(px,x);
b=a*1;
disp('El valor que se desea estimar es=')
disp(b)
else if n==3
vec0=input('Ingrese el valor del primer punto y su valor en la
funcin=');
vec1=input('Ingrese el valor del segundo punto y su valor en la funcin=');
vec2=input('Ingrese el valor del tercer punto y su valor en la funcin=');
vec3=input('Ingrese el valor del cuarto punto y su valor en la funcin=');
syms x
L0=((x-vec1(1,1))*(x-vec2(1,1))*(x-vec3(1,1)))/((vec0(1,1)-vec1(1,1))*(vec0(1,1)-
vec2(1,1))*(vec0(1,1)-vec3(1,1)));
L1=((x-vec0(1,1))*(x-vec2(1,1))*(x-vec3(1,1)))/((vec1(1,1)-vec0(1,1))*(vec1(1,1)-
vec2(1,1))*(vec1(1,1)-vec3(1,1)));
L2=((x-vec0(1,1))*(x-vec1(1,1))*(x-vec3(1,1)))/((vec2(1,1)-vec0(1,1))*(vec2(1,1)-
vec1(1,1))*(vec2(1,1)-vec3(1,1)));
L3=((x-vec0(1,1))*(x-vec1(1,1))*(x-vec2(1,1)))/((vec3(1,1)-vec0(1,1))*(vec3(1,1)-
vec1(1,1))*(vec3(1,1)-vec2(1,1)));
px=L0*vec0(1,2)+L1*vec1(1,2)+L2*vec2(1,2)+L3*vec3(1,2);
x=input('Ingrese el valor a estimar=');
a=subs(px,x);
b=a*1;
disp('El valor que se desea estimar es=')
disp(b)
else
if n==4
vec0=input('Ingrese el valor del primer punto y su valor en la funcin=');
vec1=input('Ingrese el valor del segundo punto y su valor en la funcin=');
vec2=input('Ingrese el valor del tercer punto y su valor en la funcin=');
vec3=input('Ingrese el valor del cuarto punto y su valor en la funcin=');
vec4=input('Ingrese el valor del quinto punto y su valor en la funcin=');
syms x
L0=((x-vec1(1,1))*(x-vec2(1,1))*(x-vec3(1,1))*(x-vec4(1,1)))/((vec0(1,1)-
vec1(1,1))*(vec0(1,1)-vec2(1,1))*(vec0(1,1)-vec3(1,1))*(vec0(1,1)-vec4(1,1)));
L1=((x-vec0(1,1))*(x-vec2(1,1))*(x-vec3(1,1))*(x-vec4(1,1)))/((vec1(1,1)-
vec0(1,1))*(vec1(1,1)-vec2(1,1))*(vec1(1,1)-vec3(1,1))*(vec1(1,1)-vec4(1,1)));
L2=((x-vec0(1,1))*(x-vec1(1,1))*(x-vec3(1,1))*(x-vec4(1,1)))/((vec2(1,1)-
vec0(1,1))*(vec2(1,1)-vec1(1,1))*(vec2(1,1)-vec3(1,1))*(vec2(1,1)-vec4(1,1)));
L3=((x-vec0(1,1))*(x-vec1(1,1))*(x-vec2(1,1))*(x-vec4(1,1)))/((vec3(1,1)-
vec0(1,1))*(vec3(1,1)-vec1(1,1))*(vec3(1,1)-vec2(1,1))*(vec3(1,1)-vec4(1,1)));
L4=((x-vec0(1,1))*(x-vec1(1,1))*(x-vec2(1,1))*(x-vec3(1,1)))/((vec4(1,1)-
vec0(1,1))*(vec4(1,1)-vec1(1,1))*(vec4(1,1)-vec2(1,1))*(vec4(1,1)-vec3(1,1)));
px=L0*vec0(1,2)+L1*vec1(1,2)+L2*vec2(1,2)+L3*vec3(1,2)+L4*vec4(1,2);
x=input('Ingrese el valor a estimar=');
a=subs(px,x);
b=a*1;
disp('El valor que se desea estimar es=')
disp(b)
end
end
end
end

Ingrese el grado del polinomio de Lagrange a


evaluar(1=Lineal,2=Cuadratica,3=Cubica,4=Cuarto Grado)=1
Ingrese el valor del primer punto y su valor en la funcin=[1,56.5]
Ingrese el valor del segundo punto y su valor en la funcin=[5,113]
Ingrese el valor a estimar=2
El valor que se desea estimar es=
565/8

>> 565/8

ans =

70.6250

Ingrese el grado del polinomio de Lagrange a


evaluar(1=Lineal,2=Cuadratica,3=Cubica,4=Cuarto Grado)=2
Ingrese el valor del primer punto y su valor en la funcin=[1,56.5]
Ingrese el valor del segundo punto y su valor en la funcin=[5,113]
Ingrese el valor del tercer punto y su valor en la funcin=[10,144.5]
Ingrese el valor a estimar=2
El valor que se desea estimar es=
2197/30

>> 2197/30

ans =

73.2333

Ingrese el grado del polinomio de Lagrange a


evaluar(1=Lineal,2=Cuadratica,3=Cubica,4=Cuarto Grado)=3
Ingrese el valor del primer punto y su valor en la funcin=[1,56.5]
Ingrese el valor del segundo punto y su valor en la funcin=[5,113]
Ingrese el valor del tercer punto y su valor en la funcin=[10,144.5]
Ingrese el valor del cuarto punto y su valor en la funcin=[20,181]
Ingrese el valor a estimar=2
El valor que se desea estimar es=
70403/950
>> 70403/950

ans =

74.1084

Ingrese el grado del polinomio de Lagrange a


evaluar(1=Lineal,2=Cuadratica,3=Cubica,4=Cuarto Grado)=4
Ingrese el valor del primer punto y su valor en la funcin=[1,56.5]
Ingrese el valor del segundo punto y su valor en la funcin=[5,113]
Ingrese el valor del tercer punto y su valor en la funcin=[10,144.5]
Ingrese el valor del cuarto punto y su valor en la funcin=[20,181]
Ingrese el valor del quinto punto y su valor en la funcin=[30,205]
Ingrese el valor a estimar=2
El valor que se desea estimar es=
51369421/688750

>> 51369421/688750

ans =

74.5836
PROGRAMA PARA LA INTERPOLACIN DE NEWTON HASTA UN POLINOMIO DE GRADO 5

clc
clear all
n=input('Ingrese el grado del polinomio de Newton a
evualuar(1=lineal,2=cuadratica,3=Cubica,4=Cuarto Grado,5=Quinto Grado)=');
if n==1
vec0=input('Ingrese el valor del primer punto y su valor en la funcin=');
vec1=input('Ingrese el valor del segundo punto y su valor en la funcin=');
a0=vec0(1,2);
a1=(vec1(1,2)-vec0(1,2))/(vec1(1,1)-vec0(1,1));
syms x
px=a0+a1*(x-vec0(1,1));
x=input('Ingrese el valor a estimar=');
a=subs(px,x);
disp('El valor a estimar es=');
disp(a)
else
if n==2
vec0=input('Ingrese el valor del primer punto y su valor en la
funcin=');
vec1=input('Ingrese el valor del segundo punto y su valor en la funcin=');
vec2=input('Ingrese el valor del tercer punto y su valor en la funcin=');
a0=vec0(1,2);
a1=(vec1(1,2)-vec0(1,2))/(vec1(1,1)-vec0(1,1));
a2=(((vec2(1,2)-vec1(1,2))/(vec2(1,1)-vec1(1,1)))-a1)/(vec2(1,1)-vec0(1,1));
syms x
px=a0+a1*(x-vec0(1,1))+a2*(x-vec0(1,1))*(x-vec1(1,1));
x=input('Ingrese el valor a estimar=');
a=subs(px,x);
disp('El valor a estimar es=');
disp(a)
else
if n==3
vec0=input('Ingrese el valor del primer punto y su valor en la
funcin=');
vec1=input('Ingrese el valor del segundo punto y su valor en la funcin=');
vec2=input('Ingrese el valor del tercer punto y su valor en la funcin=');
vec3=input('Ingrese el valor del cuarto punto y su valor en la funcin=');
a0=vec0(1,2);
a1=(vec1(1,2)-vec0(1,2))/(vec1(1,1)-vec0(1,1));
a2=(((vec2(1,2)-vec1(1,2))/(vec2(1,1)-vec1(1,1)))-a1)/(vec2(1,1)-vec0(1,1));
a3=(((vec3(1,2)-vec2(1,2))/(vec3(1,1)-vec2(1,1))-((vec2(1,2)-
vec1(1,2))/(vec2(1,1)-vec1(1,1))))/(vec3(1,1)-vec1(1,1))-a2)/(vec3(1,1)-
vec0(1,1));
syms x
px=a0+a1*(x-vec0(1,1))+a2*(x-vec0(1,1))*(x-vec1(1,1))+a3*(x-vec0(1,1))*(x-
vec1(1,1))*(x-vec2(1,1));
x=input('Ingrese el valor a estimar=');
a=subs(px,x);
disp('El valor a estimar es=');
disp(a)
else
if n==4
vec0=input('Ingrese el valor del primer punto y su valor en la
funcin=');
vec1=input('Ingrese el valor del segundo punto y su valor en la funcin=');
vec2=input('Ingrese el valor del tercer punto y su valor en la funcin=');
vec3=input('Ingrese el valor del cuarto punto y su valor en la funcin=');
vec4=input('Ingrese el valor del quinto punto y su valor en la funcin=');
a0=vec0(1,2);
a1=(vec1(1,2)-vec0(1,2))/(vec1(1,1)-vec0(1,1));
a2=(((vec2(1,2)-vec1(1,2))/(vec2(1,1)-vec1(1,1)))-a1)/(vec2(1,1)-vec0(1,1));
a3=(((vec3(1,2)-vec2(1,2))/(vec3(1,1)-vec2(1,1))-((vec2(1,2)-
vec1(1,2))/(vec2(1,1)-vec1(1,1))))/(vec3(1,1)-vec1(1,1))-a2)/(vec3(1,1)-
vec0(1,1));
a4=((((vec4(1,2)-vec3(1,2))*(vec3(1,1)-vec2(1,1))-(vec3(1,2)-
vec2(1,2))*(vec4(1,1)-vec3(1,1)))/((vec4(1,1)-vec3(1,1))*(vec3(1,1)-
vec2(1,1))*(vec4(1,1)-vec2(1,1)))-((vec3(1,2)-vec2(1,2))*(vec2(1,1)-vec1(1,1))-
(vec2(1,2)-vec1(1,2))*(vec3(1,1)-vec2(1,1)))/((vec3(1,1)-vec2(1,1))*(vec2(1,1)-
vec1(1,1))*(vec3(1,1)-vec1(1,1))))/(vec4(1,1)-vec1(1,1))-a3)/(vec4(1,1)-
vec0(1,1));
syms x
px=a0+a1*(x-vec0(1,1))+a2*(x-vec0(1,1))*(x-vec1(1,1))+a3*(x-vec0(1,1))*(x-
vec1(1,1))*(x-vec2(1,1))+a4*(x-vec0(1,1))*(x-vec1(1,1))*(x-vec2(1,1))*(x-
vec3(1,1));
x=input('Ingrese el valor a estimar=');
a=subs(px,x);
disp('El valor a estimar es=');
disp(a)
else
if n==5
vec0=input('Ingrese el valor del primer punto y su valor en la funcin=');
vec1=input('Ingrese el valor del segundo punto y su valor en la funcin=');
vec2=input('Ingrese el valor del tercer punto y su valor en la funcin=');
vec3=input('Ingrese el valor del cuarto punto y su valor en la funcin=');
vec4=input('Ingrese el valor del quinto punto y su valor en la funcin=');
vec5=input('Ingrese el valor del sexto punto y su valor en la funcin=');
a0=vec0(1,2);
a1=(vec1(1,2)-vec0(1,2))/(vec1(1,1)-vec0(1,1));
a2=(((vec2(1,2)-vec1(1,2))/(vec2(1,1)-vec1(1,1)))-a1)/(vec2(1,1)-vec0(1,1));
a3=(((vec3(1,2)-vec2(1,2))/(vec3(1,1)-vec2(1,1))-((vec2(1,2)-
vec1(1,2))/(vec2(1,1)-vec1(1,1))))/(vec3(1,1)-vec1(1,1))-a2)/(vec3(1,1)-
vec0(1,1));
a4=((((vec4(1,2)-vec3(1,2))*(vec3(1,1)-vec2(1,1))-(vec3(1,2)-
vec2(1,2))*(vec4(1,1)-vec3(1,1)))/((vec4(1,1)-vec3(1,1))*(vec3(1,1)-
vec2(1,1))*(vec4(1,1)-vec2(1,1)))-((vec3(1,2)-vec2(1,2))*(vec2(1,1)-vec1(1,1))-
(vec2(1,2)-vec1(1,2))*(vec3(1,1)-vec2(1,1)))/((vec3(1,1)-vec2(1,1))*(vec2(1,1)-
vec1(1,1))*(vec3(1,1)-vec1(1,1))))/(vec4(1,1)-vec1(1,1))-a3)/(vec4(1,1)-
vec0(1,1));
a5=(((((vec5(1,2)-vec4(1,2))*(vec4(1,1)-vec3(1,1))-(vec4(1,2)-
vec3(1,2))*(vec5(1,1)-vec4(1,1)))/((vec5(1,1)-vec4(1,1))*(vec5(1,1)-
vec3(1,1))*(vec4(1,1)-vec3(1,1)))-((vec4(1,2)-vec3(1,2))*(vec3(1,1)-vec2(1,1))-
(vec3(1,2)-vec2(1,2))*(vec4(1,1)-vec3(1,1)))/((vec4(1,1)-vec3(1,1))*(vec4(1,1)-
vec2(1,1))*(vec3(1,1)-vec2(1,1))))/(vec5(1,1)-vec2(1,1))-(((vec4(1,2)-
vec3(1,2))*(vec3(1,1)-vec2(1,1))-(vec3(1,2)-vec2(1,2))*(vec4(1,1)-
vec3(1,1)))/((vec4(1,1)-vec3(1,1))*(vec3(1,1)-vec2(1,1))*(vec4(1,1)-vec2(1,1)))-
((vec3(1,2)-vec2(1,2))*(vec2(1,1)-vec1(1,1))-(vec2(1,2)-vec1(1,2))*(vec3(1,1)-
vec2(1,1)))/((vec3(1,1)-vec2(1,1))*(vec2(1,1)-vec1(1,1))*(vec3(1,1)-
vec1(1,1))))/(vec4(1,1)-vec1(1,1)))/(vec5(1,1)-vec1(1,1))-a4)/(vec5(1,1)-
vec0(1,1));
syms x
px=a0+a1*(x-vec0(1,1))+a2*(x-vec0(1,1))*(x-vec1(1,1))+a3*(x-vec0(1,1))*(x-
vec1(1,1))*(x-vec2(1,1))+a4*(x-vec0(1,1))*(x-vec1(1,1))*(x-vec2(1,1))*(x-
vec3(1,1))+a5*(x-vec0(1,1))*(x-vec1(1,1))*(x-vec2(1,1))*(x-vec3(1,1))*(x-
vec4(1,1));
x=input('Ingrese el valor a estimar=');
a=subs(px,x);
disp('El valor a estimar es=');
disp(a)
end
end
end
end
end

Ingrese el grado del polinomio de Newton a evualuar(1=lineal,2=cuadratica,3=Cubica,4=Cuarto


Grado,5=Quinto Grado)=1

Ingrese el valor del primer punto y su valor en la funcin=[1,56.5]

Ingrese el valor del segundo punto y su valor en la funcin=[5,113]

Ingrese el valor a estimar=2

El valor a estimar es=

565/8

>> 565/8

ans =

70.6250

Ingrese el grado del polinomio de Newton a evualuar(1=lineal,2=cuadratica,3=Cubica,4=Cuarto


Grado,5=Quinto Grado)=2

Ingrese el valor del primer punto y su valor en la funcin=[1,56.5]

Ingrese el valor del segundo punto y su valor en la funcin=[5,113]

Ingrese el valor del tercer punto y su valor en la funcin=[10,144.5]

Ingrese el valor a estimar=2

El valor a estimar es=

2197/30

>> 2197/30

ans =
73.2333

Ingrese el grado del polinomio de Newton a evualuar(1=lineal,2=cuadratica,3=Cubica,4=Cuarto


Grado,5=Quinto Grado)=3

Ingrese el valor del primer punto y su valor en la funcin=[1,56.5]

Ingrese el valor del segundo punto y su valor en la funcin=[5,113]

Ingrese el valor del tercer punto y su valor en la funcin=[10,144.5]

Ingrese el valor del cuarto punto y su valor en la funcin=[20,181]

Ingrese el valor a estimar=2

El valor a estimar es=

70403/950

>> 70403/950

ans =

74.1084

Ingrese el grado del polinomio de Newton a evualuar(1=lineal,2=cuadratica,3=Cubica,4=Cuarto


Grado,5=Quinto Grado)=4

Ingrese el valor del primer punto y su valor en la funcin=[1,56.5]

Ingrese el valor del segundo punto y su valor en la funcin=[5,113]

Ingrese el valor del tercer punto y su valor en la funcin=[10,144.5]

Ingrese el valor del cuarto punto y su valor en la funcin=[20,181]

Ingrese el valor del quinto punto y su valor en la funcin=[30,205]

Ingrese el valor a estimar=2

El valor a estimar es=

10211191405190096875591/136909428672063078400

>> 10211191405190096875591/136909428672063078400
ans =

74.5836

Ingrese el grado del polinomio de Newton a evualuar(1=lineal,2=cuadratica,3=Cubica,4=Cuarto


Grado,5=Quinto Grado)=5

Ingrese el valor del primer punto y su valor en la funcin=[1,56.5]

Ingrese el valor del segundo punto y su valor en la funcin=[5,113]

Ingrese el valor del tercer punto y su valor en la funcin=[10,144.5]

Ingrese el valor del cuarto punto y su valor en la funcin=[20,181]

Ingrese el valor del quinto punto y su valor en la funcin=[30,205]

Ingrese el valor del sexto punto y su valor en la funcin=[40,214.5]

Ingrese el valor a estimar=2

El valor a estimar es=

164031184342121274079381/2190550858753009254400

>> 164031184342121274079381/2190550858753009254400

ans = 74.8812

S-ar putea să vă placă și