Está en la página 1de 22

ÍNDICE 2

Índice
Actividad 1: Interpolación de Lagrange 1

I. Objetivos 1

II. Fundamento Teórico 1

1. Interpolación de Lagrange 1

III. Algoritmo de Interpolación de Lagrange 4

IV. Procedimiento 4

V. Cuestionario 9

Actividad 2: Interpolación de Newton 11

I. Objetivos 11

II. Fundamento Teórico 11

2. Interpolación de Newton 11

III. Algoritmo de Interpolación de Newton 14

IV. Procedimiento 14

V. Cuestionario 19

R. Mollinedo
1 INTERPOLACIÓN DE LAGRANGE 1

Actividad 1: Interpolación de Lagrange

I. Objetivos
Interpolar datos bidimensionales mediante interpolación de Lagrange, usando esta
herramienta interfaces gráficas de usuarios en MatLab

Presentar como una guı́a de referencia, consulta y de fácil entendimiento. De tal


manera desarrollar en el alumno habilidades de programación estructurada para la
resolución de problemas matemáticos haciendo uso del lenguaje Matlab .

En el área de Ciencias e Ingenierı́a se presenta con frecuencia la necesidad de hacer


cálculos, basándose en un número limitado de puntos tabulados que proceden muchas
veces de resultados experimentales. y que se desconoce la función matemática que los
define. En estos casos es necesario buscar procedimientos que permitan construir modelos
matemáticos, que describan el comportamiento de los puntos tabulados, con el objeto
de hacer estimaciones de otros valores que no se encuentran tabulados. Dentro de estas
técnicas de Aproximación de Funciones se encuentra las de: Interpolación Polinómica y
Ajuste de Datos; las cuales trataremos en este trabajo.

II. Fundamento Teórico

1. Interpolación de Lagrange
La palabra interpolación significa pasar una curva por un conjunto dado de puntos; es
decir, matemáticamente entenderı́amos que si se tiene un conjunto de puntos:

(xi , yi ) para i = 0, 1, . . . , n

debemos hallar una función interpolante, cuya gráfica pase por el conjunto de puntos
dados.
A través de los polinomios, hay distintas formas de aproximar una función, puesto que
son funciones de fácil manejo computacional.

R. Mollinedo
1 INTERPOLACIÓN DE LAGRANGE 2

Una de ellas, es aproximar una función mediante un polinomio de Taylor.


Se sabe que el polinomio de Taylor se define en la forma:

f 0 (x0 ) f (n) (x0 )


Pn (x) = f (x0 ) + (x − x0 ) + · · · + (x − x0 )n
1! n!
y se también que: f (x) = Pn (x) + Rn (x)
Donde el resto es:
f (n+1) (ξ(x))
Rn (x) = (x − x0 )n+1 Teorema de Taylor
(n + 1)!
Esto permite realizar la aproximación:

f (x) ≈ Pn (x)

para los valores cercanos a x0 .


El tipo de dificultad que encontramos en este caso es muy común,pues los polinomios de
Taylor tienen la propiedad de que toda la información utilizada en la aproximación se
concentra en el único punto x0

Como los polinomios de Taylor no son adecuados para la interpolación, si es necesario


hacer uso de método alternos. En este trabajo encontraremos polinomios de aproximación
que se determinan con sólo especificar determinados puntos en el plano por donde deben
pasar.
El problema de encontrar un polinomio de primer grado que pasa por los puntos
distintos (x0 , y0 ) y (x1 , y1 ) con x0 6= x1 es el mismo que el de aproximar una función f ,
para la cual f (x0 ) = y0 y f (x1 ) = y1 interpolando un polinomio de primer grado con los
valores de f en los puntos dados o que coincida con ellas.
consideremos para dos puntos (polinomio lineal)
x − x1 x − x0
p(x) = y0 + y1
x0 − x1 x1 − x0
en efecto:
y1 − y0
y = (x − x0 ) + y0
x 1 − x0
y0 (x1 − x0 ) + (y1 − y0 )(x − x0 )
y =
x1 − x0
x − x1 x − x0
y = y0 + y1
x 0 − x1 x1 − x0
P (x) = y0 L0 (x) + y1 L1 (x)

R. Mollinedo
1 INTERPOLACIÓN DE LAGRANGE 3

x0 x1 xk ... xn x

Para generalizar el concepto de interpolación lineal, consideraremos la construcción de un


polinomio de grado a lo más n que pase por los n+1 puntos (x0 , f (x0 )), (x1 , f (x1 )), . . . , (xn , f (xn )).
El polinomio lineal que cruza (x0 , f (x0 )) y (x1 , f (x1 )) se construyó por medio de los
cocientes
x − x1 x − x0
L0 (x) = y L1 (x) =
x0 − x1 x1 − x0
Cuando x = x0 , L0 (x0 ) = 1 y L1 (x0 ) = 0. Cuando x = x1 , L0 (x1 ) = 0 y L1 (x1 ) = 1.
En general, para cada k = 0, 1, . . . , n, construimos un cociente Ln,k (x) con la propiedad
de que Ln,k (xi ) = 0 cuando i 6= k y Ln,k (xk ) = 1. Para satisfacer Ln,k (xi ) = 0 para cada
i 6= k se requiere que el numerador de Ln,k (x) contenga el término

(x − x0 )(x − x1 ) · · · (x − xk−1 )(x − xk+1 ) · · · (x − xn ) (1)

Para satisfacer Ln,k (xk ) = 1, el denominador de Lk (x) debe coincidir con (1) cuando se
evalúe en x = xk . Es decir,
Yn
x − xi (x − x0 ) · · · (x − xk−1 )(x − xk+1 ) · · · (x − xn )
Ln,k (x) = =
i=0
xk − xi (xk − x0 ) · · · (xk − xk−1 )(xk − xk+1 ) · · · (xk − xn )
i6=k

que se muestra abajo en la figura

Ln,k (x)

x0 x1 xk-1 xk xk+1 xn-1 xn x

R. Mollinedo
1 INTERPOLACIÓN DE LAGRANGE 4

El polinomio de interpolación de describe fácilmente ahora que conocemos la forma de


Ln,k (x). Este polinomio, denominado n−ésimo polinomio interpolante de Lagrange
se define en el siguiente teorema.

Teorema 1.1 Si x0 , x1 , . . . , xn son (n+1) números diferentes y si f es una función cuyos


valores están dados en estos puntos, entonces existe un único polinomio P de grado a lo
más n con la propiedad de que:

f (x) = P (xk ) para cada k = 0, 1, . . . , n

Este polinomio está dado por


n
X
P (x) = f (x0 )Ln,0 (x) + · · · + f (xn )Ln,n (x) = f (xk )Ln,k (x) (2)
k=0

donde
Y x − xin
(x − x0 )(x − x1 ) · · · (x − xk−1 )(x − xk+1 ) · · · (x − xn )
Ln,k (x) = = (3)
(xk − x0 )(xk − x1 ) · · · (xk − xk−1 )(xk − xk+1 ) · · · (xk − xn ) i=0
xk − xi
i6=k

para cada k = 0, 1, . . . , n

Escribimos Ln,k (x) simplemente como Lk (x) cuando no haya confusión respecto a su
grado.

Teorema 1.2 Supongamos que x0 , x1 , . . . , xn son números distintos en el intervalo [a, b]


y que f ∈ C n+1 [a, b]. Entonces,para cada x en [a, b] existe un número ξ(x) en (a, b) con
f n+1 (ξ(x))
f (x) = P (x) + (x − x0 )(x − x1 ) · · · (x − xn ) (4)
(n + 1)!
donde P (x) es el polinomio interpolante de la ecuación (2).

III. Algoritmo de Interpolación de Lagrange


ENTRADAlos números x, x0 , x1 , . . . , xn ; valores f (x0 ), f (x1 ), . . . , f (xn ).
SALIDA valores interpolados

IV. Procedimiento
Creamos una interfaces gráficas de usuarios en MatLab usamos GUIDE, lo podemos
hacer Ejecutando la siguiente instrucción en la ventana de comandos: >> guide

R. Mollinedo
1 INTERPOLACIÓN DE LAGRANGE 5

Para empezar creamos una nueva figura y agregamos un Static Text, de bajo de esto
ponemos un Static Text y un Edit Text, debajo de esto ponemos un Static Text y
un Edit Text, debajo de estos controles ponemos un Static Text,y un Edit Text,a un
lado ponemos un Axes y finalmente agregamos dos Listbox y tres Push button; y lo
guardamos como: lagrange.

En el siguiente orden modificamos las propiedades de String de cada Static Text

• String:INTERPOLACIÓN DE LA- • String: Valor de y:


GRAGE • String:V. interpolar
• String: Valor de x: • Resultados

En los Edit Text cambiamos sus propiedades con el Inspector de Propiedades y


modificamos el String a: quedaran en blanco
En el siguiente orden modificamos las propiedades de String de cada Push button

• String: CALCULAR • String: NUEVO • String: SALIR

Finalmente obtendremos los controles como en la figura 1

Figura 1: Propiedades String modificados en cada control

Ahora vamos editar el callback del botón CALCULAR y agregamos el código nece-
sario para calcular la las raı́ces de una ecuación algebraica con método de Bisección,

R. Mollinedo
1 INTERPOLACIÓN DE LAGRANGE 6

luego editamos del botón SALIR y agregamos el código necesario para cerrar la
ventana, luego editamos del botón NUEVO, cuya acción es limpiar la caja del texto
de la función y los resultados de cada operación.
Con un click derecho en Push button1 menú, nos ubicamos en view Callbacks >>
Callbacks. Esto nos lleva a la subrutina
function pushbutton1_Callback(hObject, eventdata, handles), donde editare-
mos las siguientes lı́neas de código:

variablex=str2num(get(handles.edit1,’string’));
variabley=str2num(get(handles.edit2,’string’));
a=str2num(get(handles.edit3,’string’));
nn=length(variablex);
r=nn-1;
cadite=’Iter.|====’;
cadini=’Coef.|====’;
for i=1:nn-1
if variablex(i)<variablex(i+1)
k=i+1;
else
k=0;
end
end

if k==nn
p=polyfit(variablex,variabley,r);%cálculo de los coeficientes del polinomio
t=variablex(1):0.2:variablex(nn);
s=polyval(p,t);
z=ones(1,nn);
for m=1:length(a)
for i=1:length(variabley)
for j=1:length(variabley)
if i ~=j;
z(i)=z(i).*(a(m)-variablex(j))/(variablex(i)-variablex(j));
end
end

R. Mollinedo
1 INTERPOLACIÓN DE LAGRANGE 7

parc(i)=variabley(i)*z(i);
cadite=strcat(cadite,’|’,num2str(i));
cadini=strcat(cadini,’|’,num2str(p(i)));
end
interpola(m)=sum(parc(1:length(variabley)));
z=ones(1,nn);
end
set(handles.listbox1,’string’,cadite);
set(handles.listbox2,’string’,cadini);
%grafica
plot(t,s,’g’);% graficando el polinomio
xlabel(’x’);ylabel(’y’);
hold on
plot(a,interpola,’or’);
title([’Valores interpolados=’, num2str(interpola)]);
grid
hold off
end

Haciendo el mismo procedimiento que el anterior esta vez con el botón Push button2,
donde editamos las siguientes lı́neas de código

set(handles.edit1,’string’,’’)
set(handles.edit2,’string’,’’)
set(handles.edit3,’string’,’’)
set(handles.listbox1,’string’,’’);
set(handles.listbox2,’string’,’’);
axes(handles.axes1)
plot(0,0)

Haciendo el mismo procedimiento que el anterior esta vez con el botón Push button3,
donde editamos las siguientes lı́neas de código

ans=questdlg(’Desea salir del programa’,’SALIR’,’Si’,’No’,’No’);


if strcmp(ans,’No’)
return;

R. Mollinedo
1 INTERPOLACIÓN DE LAGRANGE 8

end
clear,clc,close all

Ejemplo 1 Si queremos utilizar los números (o nodos) x0 = 1, x1 = 2, x2 = 2,5 y x3 = 4


para obtener el tercer polinomio interpolante para f (x) = 1/x y aproximar f (3)

Para ello debemos determinar los valores de f (xi ), i = 0, 1, . . . , 3 como se puede observan
en la siguiente tabla 1

xi f (xi )
1 1
2 0.5
2.5 0.4
4 0.25

Cuadro 1:

Finalmente para determinar los coeficientes del polinomio, obtenido por la interpo-
lación de lagrange y el valor interpolado, activamos nuestra aplicación, ejecutamos nuestro
programa y tendremos una salida como en la figura 4

Figura 2: Prueba de la aplicación

R. Mollinedo
1 INTERPOLACIÓN DE LAGRANGE 9

tenderemos
3
X
P (x) = f (xk )Lk (x)
k=0
= −0,05x3 + 0,475x2 − 1,575x + 2,15

Una aproximación a f (3) = 0,35

V. Cuestionario
1. Para las funciones dadas f (x), sean x0 = 0, x1 = 0,6 y x2 = 0,9. Construya poli-
nomios de interpolación de grado uno y dos a lo máximo para aproximar f (0,45), y
calcule el error real.

a) f (x) = cos x c) f (x) = ln(x + 1)



b) f (x) = 1 + 5x d ) f (x) = tan x

2. Aplique el teorema 1.2 para calcular la cota de error en las aproximaciones del
ejercicio 1

3. Use los polinomios interpolantes de Lagrange apropiados de grados unos, dos y tres
para aproximar lo siguiente:

a) f (8,4) si f (8,1) = 16,94410, f (8,3) = 17,56492, f (8,6) = 18,50515, f (8,7) =


18,82091
b) f (− 13 ) si f (−0,75) = −0,07181250, f (−0,5) = −0,02475000, f (−0,25) =
0,33493750, f (0) = 1,1010000
c) f (0,25) si f (0,1) = −0,62049958, f (0,2) = −0,28398668, f (0,3) = 0,0066009,
f (0,4) = 0,24842440
d ) f (0,9) si f (0,6) = −0,1769446, f (0,7) = 0,01375227, f (0,8) = 0,22363362,
f (1,0) = 0,65809197

4. Los datos del ejercicio 3 se genera mediante las siguientes funciones. Aplique la
fórmula del error para calcular la cota del error y compárela con el error real en los
casos n = 1 y n = 2.

a) f (x) = x ln x

R. Mollinedo
1 INTERPOLACIÓN DE LAGRANGE 10

b) f (x) = x3 + 4,001x2 + 4,002x + 1,101


c) f (x) = x cos x − 2x2 + 3x − 1
d ) f (x) = sen(ex − 2)

5. Aproxime:
1+x
y=
1 + 2x + 3x2
en [0, 5] mediante el polinomio de interpolación de Lagrange P4 (x)

6. Dada
x+1
f (x) =
1 + 2x + 3x2
y la tabla:
i 0 1 2 3
xi 1 1.8 2.5 3
f (xi ) 1/3 0.1955 0.1414 2/27
Estime f (2,41), con un polinomio de Lagrange de grado 3

R. Mollinedo
2 INTERPOLACIÓN DE NEWTON 11

Actividad 2: Interpolación de Newton

I. Objetivos
Interpolar datos bidimensionales mediante interpolación de Newton, usando esta
herramienta interfaces gráficas de usuarios en MatLab

Presentar como una guı́a de referencia, consulta y de fácil entendimiento. De tal


manera desarrollar en el alumno habilidades de programación estructurada para la
resolución de problemas matemáticos haciendo uso del lenguaje Matlab .

II. Fundamento Teórico

2. Interpolación de Newton
Si se quisiera agregar un punto de interpolación al conjunto de puntos dados, hay
que proceder a calcular las funciones Lk (x) nuevamente; es decir el conocimiento de la
función Lk (x) para un conjunto de nodos, no nos ayuda a construir las funciones Lk (x)
para un conjunto de nodos ampliado por uno o más puntos de interpolación. Esto es una
gran desventaja para los polinomios de interpolación de Lagrange. Sin embargo se puede
encontrar una forma más eficiente, para un polinomio de interpolación basado en un con-
junto de nodos ampliado.

Veamos:

1. Si tenemos dos puntos de interpolación: x0 , x1 , el polinomio de grado 1, puede


presentarse de la forma:

P1 (x) = f (x0 )L0 (x) + f (x1 )L1 (x)


x − x1 x − x0
= f (x0 ) + f (x1 )
x0 − x1 x1 − x0
· ¸
f (x1 ) − f (x0 )
= f (x0 ) + (x − x0 )
x1 − x0

2. En caso de tres puntos de interpolación: x0 , x1 , x2 , el polinomio P2 (x) puede pre-

R. Mollinedo
2 INTERPOLACIÓN DE NEWTON 12

sentarse en la forma:

P2 (x) = f (x0 )L0 (x) + f (x1 )L1 (x) + f (x2 )L2 (x)
(x − x1 )(x − x2 ) (x − x0 )(x − x2 ) (x − x0 )(x − x1 )
= f (x0 ) + f (x1 ) + f (x2 )
(x0 − x1 )(x0 − x2 ) (x1 − x0 )(x1 − x2 ) (x2 − x0 )(x2 − x1 )
 h f (x )−f (x ) i h f (x )−f (x ) i 
· ¸ 1 0 2 1
f (x1 ) − f (x0 ) x1 −x0 x2 −x1
= f (x0 ) + (x − x0 ) +   (x − x0 )(x − x1 )
x1 − x0 x0 − x2

Diferencia Divididas
Definición 2.1 1. Dados 2 puntos distintos: xi , xi+1 , se define la diferencia dividida
de f (x) de orden 1 como:

f (xi+1 ) − f (xi )
f [xi , xi+1 ] =
xi+1 − xi
Ası́ para x0 , x1 se tiene,

f (x1 ) − f (x0 )
f [x0 , x1 ] =
x1 − x0

2. Dados 3 puntos distintos: xi , xi+1 , xi+2 , se define la diferencia dividida de orden 2


como la diferencia dividida de orden 1; esto es:

f [xi+1 , xi+2 ] − f [xi , xi+1 ]


f [xi , xi+1 , xi+2 ] =
xi+2 − xi
Ası́ para x0 , x1 , x2 , se tiene:

f [x1 , x2 ] − f [x0 , x1 ]
f [x0 , x1 , x2 ] =
x2 − x0

3. En general, dados xi , xi+1 , xi+2 , . . . , xi+k , k puntos distintos. Se define la diferen-


cia dividida de orden k, como la diferencia dividida de orden 1 de las diferencias
divididas de orden (k − 1), como:

f [xi+1 , . . . , xi+k ] − f [xi , . . . , xi+k−1 ]


f [xi , xi+1 , . . . , xi+k ] =
xi+k − xi

Ası́ para x0 , x1 , . . . , xn , (n + 1)-puntos distintos se tiene:

f [x1 , . . . , xn ] − f [x0 , . . . , xn−1 ]


f [x0 , x1 , . . . , xn ] =
xn − x0

R. Mollinedo
2 INTERPOLACIÓN DE NEWTON 13

Se puede observar entonces que:

P1 (x) = f (x0 ) + f [x0 , x1 ](x − x0 ),


P2 (x) = P1 (x) + f [x0 , x1 , x2 ](x − x0 )(x − x1 )
= f (x0 ) + f [x0 , x1 ](x − x0 ) + f [x0 , x1 , x2 ](x − x0 )(x − x1 )

y en general, para (n + 1)−puntos de interpolación:


n−1
Y
Pn (x) = Pn−1 (x) + f [x0 , x1 , . . . , xn ] (x − xj )
j=0

esto es,
n−1
Y
Pn (x) = f (x0 )+f [x0 , x1 ](x−x0 )+f [x0 , x1 , x2 ](x−x0 )(x−x1 )+· · ·+f [x0 , . . . , xn ] (x−xj )
j=0

n
X n−1
Y
o abreviando Pn (x) = f [x0 , x1 , . . . , xk ] (x − xj )
k=0 j=0
Esta forma del polinomio de interpolación se conoce con el nombre de polinomio de
interpolación de Newton con diferencias divididas, y su construcción se simplifica
mucho, a partir de la tabla de Diferencias Divididas:

1ra diferencia 2da diferencia 3ra diferencia 4ta diferencia


xi f (xi ) dividida dividida dividida dividida
x0 f [x0 ]
x1 f [x1 ] f [x0 , x1 ]
x2 f [x2 ] f [x1 , x2 ] f [x0 , x1 , x2 ]
x3 f [x3 ] f [x2 , x3 ] f [x1 , x2 , x3 ] f [x0 , x1 , x2 , x3 ]
x4 f [x4 ] f [x3 , x4 ] f [x2 , x3 , x4 ] f [x1 , x2 , x3 , x4 ] f [x0 , x1 , x2 , x3 , x4 ]
x5 f [x5 ] f [x4 , x5 ] f [x3 , x4 , x5 ] f [x2 , x3 , x4 , x5 ] f [x1 , x2 , x3 , x4 , x5 ]
··· ··· ··· ··· ··· ···

Cuadro 2: Tabla de Diferencia Dividida

f [x3 , x4 , x5 ] − f [x2 , x3 , x4 ]
Observamos que por ejemplo f [x2 , x3 , x4 , x5 ] =
x5 − x2

R. Mollinedo
2 INTERPOLACIÓN DE NEWTON 14

III. Algoritmo de Interpolación de Newton


ENTRADA los números x, x0 , x1 , . . . , xn ; valores f (x0 ), f (x1 ), . . . , f (xn ) como F0,0 ,
F1,0 , . . . , Fn,0 .
SALIDA valores interpolados y los coeficientes del polinomio

Paso 1: Para i = 1, 2, . . . n
para j = 1, 2, . . . , i
Fi,j−1 − Fi−1,j−1
tome Fi,j =
xi − xi−j
n
X i=1
Y
Paso 2: Salida P (x) = Fi,j (x − xj )
i=0 j=0

IV. Procedimiento
Creamos una interfaces gráficas de usuarios en MatLab usamos GUIDE, lo podemos
hacer Ejecutando la siguiente instrucción en la ventana de comandos: >> guide

Para empezar creamos una nueva figura y agregamos un Static Text, de bajo de esto
ponemos un Static Text y un Edit Text, debajo de esto ponemos un Static Text y
un Edit Text, debajo de estos controles ponemos un Static Text,y un Edit Text,a un
lado ponemos un Axes y finalmente agregamos dos Listbox y tres Push button; y lo
guardamos como: newton.

En el siguiente orden modificamos las propiedades de String de cada Static Text

• String:INTERPOLACIÓN DE • String: Valor de y:


NEWTON • String:V. interpolar
• String: Valor de x: • Resultados:

En los Edit Text cambiamos sus propiedades con el Inspector de Propiedades y


modificamos el String a: quedaran en blanco
En el siguiente orden modificamos las propiedades de String de cada Push button

• String: CALCULAR • String: NUEVO • String: SALIR

Finalmente obtendremos los controles como en la figura 3

R. Mollinedo
2 INTERPOLACIÓN DE NEWTON 15

Figura 3: Propiedades String modificados en cada control

Ahora vamos editar el callback del botón CALCULAR y agregamos el código nece-
sario para calcular la las raı́ces de una ecuación algebraica con método de Bisección,
luego editamos del botón SALIR y agregamos el código necesario para cerrar la
ventana, luego editamos del botón NUEVO, cuya acción es limpiar la caja del texto
de la función y los resultados de cada operación.
Con un click derecho en Push button1 menú, nos ubicamos en view Callbacks >>
Callbacks. Esto nos lleva a la subrutina
function pushbutton1_Callback(hObject, eventdata, handles), donde editare-
mos las siguientes lı́neas de código:

variablex=str2num(get(handles.edit1,’string’));
variabley=str2num(get(handles.edit2,’string’));
a=str2num(get(handles.edit3,’string’));
nn=length(variablex);
r=nn-1;
cadite=’Iter.|====’;
cadini=’Coef.|====’;
for i=1:nn-1
if variablex(i)<variablex(i+1)
k=i+1;
else

R. Mollinedo
2 INTERPOLACIÓN DE NEWTON 16

k=0;
end
end
if k==nn
p=polyfit(variablex,variabley,r);%cálculo de los coeficientes del polinomio
dif=zeros(nn+1,nn);
dif(1,:)=variablex; dif(2,:)=variabley;
t=variablex(1):0.2:variablex(nn);
s=polyval(p,t);
k=1;
while k<=nn-1
for i=2:nn
if i+k-1<=nn
dif(k+2,i-1)=(dif(1+k,i)-dif(1+k,i-1))/(dif(1,i-1+k)-dif(1,i-1));
end
end
k=k+1;
end
for i=1:nn
coeficiente(i)=dif(i+1,1);
cadite=strcat(cadite,’|’,num2str(i));
cadini=strcat(cadini,’|’,num2str(p(i)));
end
m=1;
while m<=length(a) %interpolacion de los valores de a
parciales(1)=1;
evaluac(1)=coeficiente(1);
for i=2:nn
parciales(i)=(a(m)-variablex(i-1)).*parciales(i-1);
evaluac(i)=coeficiente(i).*parciales(i);
end
interpola(m)=sum(evaluac(1:nn));
m=m+1;
end
set(handles.listbox1,’string’,cadite);

R. Mollinedo
2 INTERPOLACIÓN DE NEWTON 17

set(handles.listbox2,’string’,cadini);
%grafica
plot(t,s,’g’);% graficando el polinomio
xlabel(’x’);ylabel(’y’);
hold on
plot(a,interpola,’or’);
title([’Valores interpolados=’, num2str(interpola)]);
grid
hold off
end

Haciendo el mismo procedimiento que el anterior esta vez con el botón Push button2,
donde editamos las siguientes lı́neas de código

set(handles.edit1,’string’,’’)
set(handles.edit2,’string’,’’)
set(handles.edit3,’string’,’’)
set(handles.listbox1,’string’,’’);
set(handles.listbox2,’string’,’’);
axes(handles.axes1)
plot(0,0)

Haciendo el mismo procedimiento que el anterior esta vez con el botón Push button3,
donde editamos las siguientes lı́neas de código

ans=questdlg(’Desea salir del programa’,’SALIR’,’Si’,’No’,’No’);


if strcmp(ans,’No’)
return;
end
clear,clc,close all

Ejemplo 2 Encontrar el polinomio de interpolación de Newton para los siguientes datos


y encontrar el valor aproximado de 3

R. Mollinedo
2 INTERPOLACIÓN DE NEWTON 18

x y
0 70
5 54
7 42
9 65
12 68

Cuadro 3:

Finalmente para determinar los coeficientes del polinomio, obtenido por la interpo-
lación de Newton y el valor interpolado, activamos nuestra aplicación, ejecutamos nuestro
programa y tendremos una salida como en la figura 4

Figura 4: Prueba de la aplicación

Tendremos

P (x) = −0,1213x4 + 3,0778x3 − 24,112x2 + 55,5778x + 70

Nótese que el valor aproximación P4 (3) = 43,00333

R. Mollinedo
2 INTERPOLACIÓN DE NEWTON 19

V. Cuestionario
1. Use la fórmula de diferencia divididas interpolantes de Newton para construir poli-
nomio interpolantes de grado uno, dos y tres con los siguientes datos. Use cada uno
de los polinomios para aproximar el valor especificado.

a) f (8,4) si f (8,1) = 16,94410, f (8,3) = 17,56492, f (8,6) = 18,50515, f (8,7) =


18,82091
b) f (0,9) si f (0,6) = −0,1769446, f (0,7) = 0,01375227, f (0,8) = 0,223633362,
f (1,0) = 0,65809197

2. Use la fórmula d diferencia progresiva de Newton para construir polinomio inter-


polantes de grado uno, dos y tres con los siguientes datos. Aproxime el valor especi-
ficado usando cada uno de los polinomios.

a) f (− 13 ) si f (−0,75) = −0,07181250, f (−0,5) = 0,0247500, f (−0,25) = 0,33493750,


f (0) = 1,10100
b) f (0,25) si f (0,1) = −0,62049958, f (0,2) = 0,2839868, f (0,3) = 0,223633362,
f (0,4) = 0,65809197

3. a) Use el programa que se hizo anteriormente para construir el polinomio inter-


polante de grado cuatro con los puntos desigualmente espaciados que aparece
en la tabla anexa.
x f (x)
0.0 -6.00000
0.1 -5.89483
0.3 -5.65014
0.6 -5.17788
1.0 -4.28172

b) Agregue f (1,1) = −3,99583 a la tabla y construya el polinomio interpolante


de grado cinco

4. a) Aproxime f (0,05) mediante los siguientes datos y la fórmula de diferencias


divididas de Newton:

x 0.0 0.2 0.4 0.6 0.8


f (x) 1.000 1.22140 1.49182 1.82212 2.2554

R. Mollinedo
2 INTERPOLACIÓN DE NEWTON 20

b) Use la fórmula de las diferencias divididas regresivas de Newton para aproximar


f (0,65)
c) Aplique nuevamente la formula de las diferencias divididas regresivas de New-
ton para aproximar f (0,43)

5. La fórmula de la diferencias divididas progresivas de Newton sirven para aproximar


f (0,3) si se cuenta con los siguientes datos.

x 0.0 0.2 0.4 0.6


f (x) 15.0 21.0 30.0 51.0
Suponga que se descubre que f (0,4) fue subexpresado en 10 y que f (0,6) fue sobre-
expresado en 5. ¿Cuánto deberá modificarse la aproximación a f (0,3)?

6. Con una función f las diferencias divididas progresivas están dadas por

x0 = 0,0 f [x0 ]
f [x0 , x1 ]
50
x1 = 0,4 f [x1 ] f [x0 , x1 , x2 ] = 7
f [x1 , x2 ] = 10
x2 = 0,7 f [x2 ] = 6
Determinar los datos que faltan en la tabla

7. En los estudios de radiación inducida por polimerización, una fuente de rayo gama,
fue empleada para dar medidas de dosis de radiación. Sin embargo, el dosaje varió con
la posición del aparato, y se registraron los siguientes datos:
Posición (pulgadas) 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0
Dosaje 10rad/hra 1.90 2.39 2.71 2.98 3.20 3.22 3.20 2.98 2.74
Ajuste distintos polinomios de interpolación para los grados n = 3,5 para hallar el
dosaje aproximado correspondiente a 1,75 pulgadas. ¿Cuál de ellos considera que se
ajusta menor? ¿porqué?

8. a) En a tabla que contiene la población de Estados Unidos de 1940 a 1990. Utilice


las diferencias divididas adecuadas para aproximar la población de los años
1930, 1965 y 2000
Años 1940 1950 1960 1970 1980 1990
Población 132,165 151,326 179,323 203,302 226,542 249,633
(en miles)

R. Mollinedo
2 INTERPOLACIÓN DE NEWTON 21

b) En 1930 la población fue aproximadamente de 123203000. ¿Cuál es, a su juicio,


la exactitud de las cifras correspondientes a los años de 1965 y 2000?

8
x 10
2.6

2.4

2.2
Población

1.8

1.6

1.4

1.2
1940 1950 1960 1970 1980 1990
años

R. Mollinedo

También podría gustarte