Está en la página 1de 9

Juan Manuel de Rosas 325 Tel/Fax (+54 3755) 422 179 422 170 www.fiobera.unam.edu.ar e-mail: facing@fiobera.unam.edu.

ar
CP3360 Ober Misiones Argentina

Universidad Nacional de Misiones

APROXIMACIN DE FUNCIONES


Dr. Ing. Aldo Luis Caballero MSc. Ing. Corina Feltan
ltima versin: septiembre de 2011



Introduccin
En los problemas de modelacin en ingeniera muchas veces es necesario hallar
la expresin analtica de una funcin g(x) que sirva para aproximar a otra
funcin f(x) dentro de un cierto intervalo [a,b].
Este requerimiento puede surgir, por ejemplo, porque no se conoce la expresin
analtica de f(x), sino que ella est dada en forma de un conjunto discreto de
valores {f(x1), f(x2), ... , f(xn)} y se necesita evaluarla para un valor de x que no
forma parte de ese conjunto. Situaciones de este tipo se dan frecuentemente en
relacin con estudios experimentales.
En otros casos la expresin analtica de la funcin puede ser conocida, sin
embargo, si es muy compleja puede conducir a complicaciones innecesarias,
consecuentemente, se prefiere sustituirla por otra funcin que, aunque
aproximada, facilita el tratamiento del problema con errores aceptables.
Interpolacin: conceptos generales
Dados los valores que toma una funcin f(x) en n+1 puntos diferentes x0, x1, x2,
... , xn, el problema de la interpolacin consiste en encontrar una funcin g(x)
cuyos valores puedan ser calculados para cualquier valor de x en un intervalo
[x0,xn] que contiene a x0, x1, x2, ... , xn, de modo que:
APROXIMACIN DE FUNCIONES




MODELACIN EN INGENIERA MATERIAL DIDCTICO N
o
06 Ao 2011 2

=
=
=
=
) ( ) (
) ( ) (
) ( ) (
) ( ) (
n n
2 2
1 1
0 0
x f x g
x f x g
x f x g
x f x g
M
(1)
Los valores de la variable independiente x0, x1, x2, ... , xn se denominan nodos o
puntos de interpolacin. Si x = xin no es un nodo de interpolacin pero se
encuentra dentro del intervalo [x0,xn] el valor de la funcin y = g(xin) recibe la
denominacin de valor interpolado; en cambio, si x = xex se encuentra fuera de
ese intervalo el valor y = g(xex) recibe el nombre de valor extrapolado. En la figura
1 se ilustran grficamente estos conceptos. Es usual referirse a la funcin g(x)
como funcin interpoladora, interpolante o de interpolacin, mientras que f(x) es
la funcin interpolada.
La diferencia entre las
funciones interpolada e
interpoladora se llama error de
interpolacin E(x).
) ( ) ( ) ( x g x f x E = (2)
En general, el valor del error
depende de x. Como la funcin
interpoladora se escoge para que coincida exactamente con los valores de la
funcin interpolada en los nodos de interpolacin, el error de interpolacin es
nulo para dichos puntos. Por otra parte, normalmente el error de interpolacin
tiende a ser mayor en los puntos ms alejados de los nodos y puede hacerse ms
significativo en el caso de extrapolacin.


Interpolacin polinmica
Como generalmente se persigue que la funcin interpolante sea sencilla, a esos
efectos y en muchas ocasiones, pueden utilizarse polinomios. Entonces, dado un
conjunto de nodos de interpolacin {x0, x1, x2, ... , xn} y el conjunto de valores
conocidos de la funcin interpolada {f(x0), f(x1), f(x2), ... , f(xn) }, existen tres
interrogantes bsicos a responder en relacin con la interpolacin polinmica:
Figura 1: Interpolacin.
x
y
1
x
0
x
2
x
n
x
) (x f
y
=
) (x g y =
in
x
ex
x
) (
in
x g
) (
ex
x g
APROXIMACIN DE FUNCIONES




MODELACIN EN INGENIERA MATERIAL DIDCTICO N
o
06 Ao 2011 3
Hay algn polinomio que pase por los puntos conocidos?.
Si ese polinomio existe, el mismo es nico?.
Si el polinomio existe y es nico, cmo hallarlo?.
Con respecto a las dos primeras de estas preguntas puede demostrarse que
dados n+1 nmeros reales x0, x1, x2, ... , xn y una funcin f(x), la cual toma los
valores y0 = f(x0), y1 = f(x1), y2 = f(x2), ... , yn = f(xn), entonces, existe un y slo un
polinomio p(x) de grado menor o igual que n tal que se verifica:

=
=
=
=
n n
2 2
1 1
0 0
) (
) (
) (
) (
y x p
y x p
y x p
y x p
M
(3)
A partir de esto tambin puede darse una respuesta, entre varias posibles, para
el tercer interrogante. En efecto, puesto que en trminos generales el polinomio
p(x) es de grado n puede escribirse:

n
n
2
2 1 0
) ( x a x a x a a x p + + + + = K (4)
Advirtase que la posibilidad mencionada acerca de que el polinomio puede tener
grado menor que n tambin est contemplada en esta expresin, ya que no se
puso ninguna condicin sobre los valores que pueden tomar los coeficientes a0, a
1, a 2, ... , a n; es decir, cualquiera de ellos puede ser nulo.
Teniendo en cuenta las expresiones (3) y (4) puede hacerse:

= + + + +
= + + + +
= + + + +
= + + + +
n
n
n n
2
n 2 n 1 0
2
n
2 n
2
2 2 2 1 0
1
n
1 n
2
1 2 1 1 0
0
n
0 n
2
0 2 0 1 0
y x a x a x a a
y x a x a x a a
y x a x a x a a
y x a x a x a a
K
M
K
K
K
(5)
Este ltimo es un sistema de n+1 ecuaciones en las n+1 incgnitas a0, a 1, a 2, ...
, a n que, al ser resuelto, permite hallar los coeficientes del polinomio y as
resolver el problema en estudio. No obstante, este mtodo es poco eficiente desde
el punto de vista computacional porque requiere resolver un sistema de n+1
APROXIMACIN DE FUNCIONES




MODELACIN EN INGENIERA MATERIAL DIDCTICO N
o
06 Ao 2011 4
ecuaciones. Para salvar este inconveniente se han desarrollado otros mtodos,
algunos de los cuales se vern a continuacin.

Mtodo de Lagrange
El mtodo de Lagrange constituye un algoritmo que, adems de ser eficiente para
hallar el polinomio interpolador, permite encontrar el valor interpolado para
cualquier valor de la variable independiente distinto de los nodos de
interpolacin sin hallar la expresin del polinomio.
El mtodo consiste en hallar n+1 polinomios L0(x), L1(x), L2(x), ... , Ln(x) de grado n
que satisfagan las condiciones:

(
(
(
(
(
(

=
(
(
(
(
(
(

1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
) ( ) ( ) ( ) (
) ( ) ( ) ( ) (
) ( ) ( ) ( ) (
) ( ) ( ) ( ) (
n n n 2 n 1 n 0
2 n 2 2 2 1 2 0
1 n 1 2 1 1 1 0
0 n 0 2 0 1 0 0
K
M M M M M
K
K
K
K
M M M M M
K
K
K
x L x L x L x L
x L x L x L x L
x L x L x L x L
x L x L x L x L
(6)
Para hallar el polinomio de Lagrange Li(x), con i = 0, 1, 2, ... , n, debe tenerse
presente que como surge de la expresin (6) el mismo posee n ceros
correspondientes a los nodos de interpolacin, excepto el nodo xi. Por lo tanto,
puede escribirse:
( ) ( ) ( ) ( ) ( ) ( )
n 1 i 1 i 2 1 0 i
) ( x x x x x x x x x x x x k x L
-
=
+
K K (7)
Donde el coeficiente k debe determinarse para que se satisfaga la condicin
Li(xi) = 1, como tambin indica (6). Es decir:
( ) ( ) ( ) ( ) ( ) ( ) 1 ) (
n 1 i 1 i 2 1 0 i i
= =
+
x x x x x x x x x x x x k x L
-
K K (8)
Sustituyendo k en (7) por su expresin, la que surge de despejar dicho coeficiente
de (8), se obtiene:

( ) ( ) ( ) ( ) ( ) ( )
( ) ( ) ( ) ( ) ( ) ( )



=
=
+
+
n i 1 i 1 i 2 i 1 i 0 i
n 1 i 1 i 2 1 0
i
) (
n , 2, 1, 0, i
x x x x x x x x x x x x
x x x x x x x x x x x x
x L
-
-
K K
K K
K
(9)
APROXIMACIN DE FUNCIONES




MODELACIN EN INGENIERA MATERIAL DIDCTICO N
o
06 Ao 2011 5
Con lo que todos y cada uno de los polinomios de Lagrange quedan
completamente determinados.
Por ltimo, sobre la base de lo expuesto anteriormente, el polinomio interpolador
se halla segn:
) ( ) ( ) ( ) ( ) (
n n 2 2 1 1 0 0
x L y x L y x L y x L y x p + + + + = K (10)

Mtodo de Newton de las diferencias divididas
Si se tiene en cuenta que la interpolacin polinmica se realiza de manera que el
polinomio interpolante pasa por todos los puntos conocidos de la funcin
interpolada, no es difcil comprender que, para un intervalo determinado, los
resultados de la interpolacin sern ms exactos cuando mayor es la cantidad de
nodos que se considere. Este comportamiento se denomina convergencia del
proceso.
A los efectos de las necesidades prcticas, una forma de aprovechar la
convergencia es la siguiente: primero se consideran solamente dos nodos de
interpolacin y se halla un polinomio interpolador p1(x) de grado menor o igual
que uno, luego se agrega otro nodo y se determina otro polinomio interpolador
p2(x), que ahora ser de grado menor o igual que dos, y as sucesivamente hasta
llegar al polinomio pn(x), de grado menor o igual que n, para el cual se cumple
que la diferencia relativa entre los resultados de la interpolacin realizada
mediante este polinomio y el precedente sea igual o menor que el error relativo
aceptable. No obstante, debe observarse que el mtodo de Lagrange es poco
eficiente para trabajar de esta manera porque cada vez que se agrega un nodo
nuevo hay que repetir todos los clculos, pues dicho mtodo no permite
aprovechar los clculos
realizados en los pasos
precedentes.
El mtodo de Newton de las
diferencias divididas permite
salvar este inconveniente; la
idea fundamental del mismo es
realizar la interpolacin
Figura 2: Mtodo de Newton de las diferencias divididas.
x
y
1
x
0
x
2
x
3
x
) ( x f y= 0
) ( x p y=
3
) ( x p y=
1
) ( x p y=
2
) ( x p y=
0
y
1
y
2
y
3
y
APROXIMACIN DE FUNCIONES




MODELACIN EN INGENIERA MATERIAL DIDCTICO N
o
06 Ao 2011 6
partiendo de un solo nodo e ir agregando los dems de forma sucesiva, de modo
que en cada paso solamente se requiera agregar un trmino nuevo a los clculos
anteriores. En trminos generales puede decirse que el mtodo de las diferencias
divididas funciona del siguiente modo: primero se toma un solo nodo, como el x0
por ejemplo en la figura 2, a partir del mismo se obtiene el polinomio p0(x), que
corresponde a una recta horizontal. Luego se agrega el nodo x1 y se obtiene el
polinomio p(x1), que es una recta con cierta pendiente, segn sean los valores de
la funcin interpolada f(x) en los dos nodos considerados. Posteriormente se
agregan los nodos x2, x3 y as sucesivamente, con lo que el orden del polinomio
interpolante va creciendo y, con ello, se obtienen mejores aproximaciones, tal
como se evidencia en la figura 2.
Si se consideran los polinomios pn-1(x) y pn (x) correspondientes a los nodos {x0,
x1, x2, ..., xn-1} y {x0, x1, x2, ..., xn-1, xn}, respectivamente. Debido a que pn-1(x) tiene
grado menor o igual que n-1 y que el grado de pn(x) es menor o igual que n, se
cumple que:
) ( ) ( ) (
n 1 n n
x c x p x p
-
+ = (11)
Donde cn(x) es un polinomio de grado menor o igual que n.
Por otra parte, como los polinomios interpolantes coinciden con la funcin
interpolada en todos y cada uno de los nodos de interpolacin, es evidente que:

n n n
1 n 1 n n 1 n 1 n 1 n
2 2 n 2 2 1 n
1 1 n 1 1 1 n
0 0 n 0 0 1 n
) (
) ( ) (
) ( ) (
) ( ) (
) ( ) (
y x p
y x p y x p
y x p y x p
y x p y x p
y x p y x p
- - -
-
-
-
=
= =
= =
= =
= =

M M
(12)
En consecuencia:

0 ) (
0 ) (
0 ) (
0 ) (
1 n n
2 n
1 n
0 n
=
=
=
=

x c
x c
x c
x c
M
(13)
El polinomio cn(x) no puede tener ms que n ceros, entonces:
( ) ( ) ( ) ( )
1 n 2 1 0 n n
) (

= x x x x x x x x a x c K (14)
APROXIMACIN DE FUNCIONES




MODELACIN EN INGENIERA MATERIAL DIDCTICO N
o
06 Ao 2011 7
El coeficiente an se determina a partir de la condicin:

n n n
) ( y x p = (15)
Comenzando por n = 1 se obtiene:
( )
0 1 0 1
) ( ) ( x x a x p x p + = (16)
Si, adems, se tiene presente que p0(x) = y0 y p1(x1) = y1, haciendo las
sustituciones correspondientes en la (16) y despejando de la misma a1:
| |
0 1
0 1
1 0 1
,
x x
y y
x x f a

= = (17)
El cociente que aparece en esta ltima expresin se denomina primera
diferencia dividida de la funcin f(x) para los puntos x0 y x1 y se denota por
f[x0,x1].
Con esto el polinomio p1(x) puede expresarse como:
| | ( )
0 1 0 0 1
, ) ( ) ( x x x x f x p x p + = (18)
El polinomio p2(x) puede obtenerse mediante un procedimiento semejante:
( ) ( )
1 0 2 1 2 1 2
) ( ) ( ) ( ) ( x x x x a x p x c x p x p + = + = (19)
Como:
( )
0
0 1
0 1
0 1
) ( x x
x x
y y
y x p

+ = (20)
Resulta:
( ) ( ) ( )
1 0 2 0
0 1
0 1
0 2
) ( x x x x a x x
x x
y y
y x p +

+ = (21)
Sustituyendo p2(x) por y2 en la expresin anterior, despejando a2 y efectuando
algunas operaciones algebraicas:

( ) ( ) ( ) ( )
0 2 0 1
0 1
1 2 0 2
1 2
2
x x x x
y y
x x x x
y y
a



= (22)
APROXIMACIN DE FUNCIONES




MODELACIN EN INGENIERA MATERIAL DIDCTICO N
o
06 Ao 2011 8

0 2
0 1
0 1
1 2
1 2
2
x x
x x
y y
x x
y y
a

= (23)
Utilizando la misma notacin que la empleada para la primera diferencia dividida
la (23) puede escribirse como:
| |
| | | |
0 2
1 0 2 1
2 1 0 2
, ,
, ,
x x
x x f x x f
x x x f a

= = (24)
A esta diferencia dividida que resulta de las dos primeras diferencias divididas
se denomina segunda diferencia dividida.
El polinomio p2(x) puede obtenerse entonces como:
| | ( ) ( )
1 0 2 1 0 1 2
, , ) ( ) ( x x x x x x x f x p x p + = (25)
Generalizando el proceso para el polinomio pn(x):
| | ( ) ( ) ( )
1 n 1 0 n 1 0 1 n n
, , , ) ( ) (

+ = x x x x x x x x x f x p x p K K (26)
O sea:

| | ( ) | | ( ) ( )
| | ( ) ( ) ( )
1 n 1 0 n 1 0
1 0 2 1 0 0 1 0 0 n
, , ,
, , , ) ( ) (

+
+ + + =
x x x x x x x x x f
x x x x x x x f x x x x f x f x p
K K K
K
(27)
Donde, en general, la diferencia dividida de orden k de la funcin f(x) respecto de
los nodos x0, x1, ... , xk viene dada por:

| |
| | | |

=
=

0 k
1 k 1 0 k 2 1
k 1 0
, , , , , ,
, , ,
n , 2, 1, k
x x
x x x f x x x f
x x x f
K K
K
K
(28)
Bibliografa
lvarez M. B., Gmez A. M., Guerra A. H., Lau R. F. Matemtica numrica. Editorial
Flix Varela. La Habana, Cuba, 1998.
Kreyszig E. Matemticas avanzadas para ingeniera. Traduccin al Espaol del original
en Ingls por Jos Hernn Prez Castellanos. Novena reimpresin. Editorial Limusa.
Mxico, 1976.
APROXIMACIN DE FUNCIONES




MODELACIN EN INGENIERA MATERIAL DIDCTICO N
o
06 Ao 2011 9
APENDICE
Mtodo de Lagrange
I= 18;
Io= 10; Vo= 115;
I1= 18; V1= 118;
I2= 25; V2= 200;
i=[Io I1 I2]; v= [Vo V1 V2];
plot(i,v,'r*'), grid on
Lo=((I-I1)*(I-I2))/((Io-I1)*(Io-I2));
L1=((I-Io)*(I-I2))/((I1-Io)*(I1-I2));
L2=((I-I1)*(I-Io))/((I2-I1)*(I2-Io));
pI= Vo*Lo+V1*L1+V2*L2;
syms I
Lo=((I-I1)*(I-I2))/((Io-I1)*(Io-I2));
L1=((I-Io)*(I-I2))/((I1-Io)*(I1-I2));
L2=((I-I1)*(I-Io))/((I2-I1)*(I2-Io));
pI= Vo*Lo+V1*L1+V2*L2;
polinomio_Lagrange= simplify(pI)
hold on
ezplot(pI,[Io I2])
Programa para construir el polinomio de Lagrange
Io= 10; Vo= 115; I1= 18; V1= 118; I2= 25; V2= 200;
x=[Io I1 I2]; y= [Vo V1 V2];
n= length(x);
for k= 1:n
v=1;
for j= 1:n
if k~=j
v=conv(v,poly(x(j)))/(x(k)-x(j));
end
end
L(k,:)=v;
end
C= y*L

Mtodo de Newton o de las diferencias divididas
syms I
Io= 10; Vo= 115; I1= 18; V1= 118; I2= 25; V2= 200;
i=[Io I1 I2]; v= [Vo V1 V2];
plot(i,v,'r*'), grid on
ao= Vo;
a1=(V1-Vo)/(I1-Io);
px1= Vo+(V1-Vo)/(I1-Io)*(I-Io);
hold on
ezplot(px1,[Io I2])
fx1x2= (V2-V1)/(I2-I1);
a2= (fx1x2-a1)/(I2-Io);
px2= px1+a2*(I-Io)*(I-I1);
NDD=simplify(px2)
hold on
ezplot(px2,[Io I2])
% con I= 22 A
I= 22;
px1= Vo+(V1-Vo)/(I1-Io)*(I-Io);
px2= px1+a2*(I-Io)*(I-I1)
hold on
plot(I,px2,'y*')

También podría gustarte