PDF de programación - Ajuste e interpolación - Modelado de Datos

Imágen de pdf Ajuste e interpolación - Modelado de Datos

Ajuste e interpolación - Modelado de Datosgráfica de visualizaciones

Publicado el 16 de Enero del 2019
733 visualizaciones desde el 16 de Enero del 2019
1,6 MB
37 paginas
Creado hace 9a (24/10/2014)
Ajuste e interpolación

Prof. MauriZio Mattesini

U C M

Introducción

2

• En el presente tema estudiamos métodos para obtener el polinomio de

aproximación a una función.

La función la podemos conocer
– explícitamente





Función error

(función error de Gauss)



– una tabla de valores



Puede ser que nos interese obtener
– Aproximacion de Taylor, como método de aproximar una función por un



f(x)

x
x0 f0
x1 f1
x2 f2
x3 f3

polinomio en las inmediaciones de un punto

– Polinomio de interpolación, nos puede interesar obtener el polinomio de

mayor orden.

– Aproximación por mínimos cuadrados, consiste en aproximar por un

polinomio de un orden determinado ya que conocemos la forma de
variación de la función


U C M

202()()xtfxerfxedt2012()fxaaxax Aproximación de funciones por polinomios

3



En numerosas ocasiones es conveniente aproximar una función conocida f(x) por una
función más simple, como un polinomio p(x). Las ventajas y desventajas de esta
aproximación son las siguientes:

– Ventajas

• Normalmente un polinomio se evalúa por medio de un computador más

fácilmente que una función ya que solo son necesarias operaciones básicas,
como multiplicaciones y sumas (por ejemplo las funciones trigonométricas son
muy costosas de evaluar).

• Un polinomio se puede derivar e integrar fácilmente y de este modo podemos

obtener aproximaciones de la derivada o la integral de la función original,
éstas pueden ser muy útiles para programar los métodos.

– Desventajas

• Un polinomio tiende a infinito cuando x tiene a infinito, por ello no se pueden

emplear polinomios para aproximar funciones para x's grandes.

• La función original f(x) puede poseer propiedades que el polinomio de

aproximación p(x) no posee, como ser positiva (un polinomio de orden impar no
es positivo), monótona, etc.

Teorema de unicidad: Si xi, i=0,...,n es un conjunto de n+1 puntos diferentes, para un
conjunto fi, i=0,...,n, solo hay un polinomio p(x) de orden n tal que fi = p(xi) i=0,...,n.



El teorema anterior nos dice que cuando obtenemos un polinomio de interpolación de
orden n usando n+1 datos el resultado siempre es el mismo independientemente del
método empleado. Si interpolamos con un grado < n, es posible que no encontremos
ninguno que pase por todos los puntos. Si interpolamos con un grado > n, nos
encontramos con que no es único.

U C M









El polinomio de Taylor

4

Supongamos que la función f(x) sea infinitamente derivable en un entorno de un punto x0,
su expansión en serie de Taylor se define como:


donde z es un punto sin determinar situado ente x y x0.
Si eliminamos el último término, la función f(x) se puede aproximar por un polinomio p(x)
de orden (grado) n de la forma:


llama de Mc-Laurin)
El error al representar una función por un polinomio de Taylor viene dado por el término:



El error disminuye con el grado del polinomio empleado (n) y aumenta con la distancia
entre x y xo. Además, cuanto más suave sea la función (derivadas más pequeñas) la
aproximación es mejor.
P.ej. la función f(x) = ex se puede aproximar cerca del punto xo=0 por el polinomio


Nótese como p(x) no tiene las mismas propiedades que f(x). P.ej., p(x) puede tomar
valores negativos para un x negativo, sin embargo f(x) siempre es mayor que cero.

(Si xo=0, el polinomio se

Polinomio de Taylor

U C M

fxfxfxxxnfxxxnfzxxnnnn()()'()()!()()()!()()()()00000101111fxpxfxfxxxnfxxxnn()()()'()()!()()()000001pxxxxnn()!122fxpxnfzxxnn()()()!()()()11101 Interpolación polinómica

5





El problema que pretendemos resolver en esta sección es aproximar una función por
un polinomio utilizando valores de la función fi = f(xi) en un conjunto de n+1 puntos xi,
i=0,...,n. Esto es, encontrar el polinomio de interpolación p(x) de los datos (xi,fi) tal
que fi = p(xi).
Con n+1 puntos se puede calcular un polinomio de interpolación de orden n.
Este problema suele aparecer cuando, por ejemplo, obtenemos en un experimento un
conjunto de datos de la forma:



• De este modo se puede estimar el valor de la función en otro punto x4:


y queremos una aproximación polinomial de la función f(x).

f(x)

x
x0 f0
x1 f1
x2 f2
x3 f3

– Si el polinomio de interpolación se usa para obtener valores de la función dentro

del rango de valores de x utilizado para construirlo se llama interpolación.

– Si el polinomio de interpolación se usa para obtener valores de la función fuera

del rango de valores de x utilizado para construirlo se llama extrapolación.



El polinomio de interpolación siempre pasa por los puntos usados para obtenerlo.
Sin embargo, no suele dar un resultado correcto cuando se usa para interpolar o
extrapolar un valor porque siempre se trata de una aproximación. En general si la
función f(x) es suave, un polinomio p(x) de orden bajo da buenos resultados. En
cambio, si la función no es suave debemos tomar el polinomio que aproxima a la función
con escepticismo ya que las soluciones pueden tener muchos errores

U C M







La matriz de Vandermonde

En general, para que un polinomio:


satisfaga fi = p(xi) ha de cumplir la siguiente condición:

6

Para obtener los coeficientes ai del polinomio se ha de resolver el siguiente sistema
de ecuaciones:



La matriz de este sistema se denomina matriz de Vandermonde. Este método es
muy costoso ya que requiere resolver un sistema de ecuaciones. Es evidente que
cuanto mayor es el número de datos, mayor tendrá a ser la diferencia de tamaño
entre los elementos de cada fila. Por ello, en la mayoría de los casos, resulta ser una
matriz mal condicionada para resolver el sistema numéricamente. Por ello es más
conveniente usar alguno de los métodos siguientes para calcular el polinomio
interpolador.

U C M

pxaaxaxaxnn()0122aaxaxaxfiniinini01220,,,11110020112111212011011xxxxxxxxxxxxaaaaffffnnnnnnnnnnnnnn Diferencias Divididas

8

• Un problema de obtener el polinomio de interpolación por medio de la matriz de



Vandermonde o por medio del polinomio de Lagrange es que si añadimos un dato más
(xn+1, fn+1) a la colección de datos ya existente, el polinomio debe ser recalculado!

El método de diferencias divididas permite obtener el polinomio de interpolación en
menor número de operaciones que el método de Lagrange y aprovechando las operaciones
realizadas anteriormente. Consideremos el siguiente polinomio de orden n:



La diferencia dividida de orden 1
entre dos puntos s y t se define:


la de orden 2:


la diferencia
dividida de orden i:

U C M

pxaxxaxxxxaxxxxxxxxannnn()()()()()()()()0010120121fxxffxxsttsts,fxxxfxxfxxxx012120120,,,,fxxxfxxxfxxxxxiiii01120110,,,,,,,,,



Diferencias Divididas

9

Si sustituimos los datos en el polinomio, llegamos a un sistema de ecuaciones triangular
inferior en el que las incógnitas son los coeficientes del polinomio:

Este sistema se resuelve explícitamente empleando un esquema de diferencias divididas.
Si despejamos por sustitución progresiva los coeficientes del polinomio de interpolación
del sistema triangular inferior obtenido, cada coeficiente puede asociarse a una
diferencia dividida.



U C M

afxfafxxafxxxafxxxnnii0001010101,,,,,,, Diferencias Divididas

10



xi fi

Si hacemos Pn(xi)=fi, llegamos a un sistema de ecuaciones triangular inferior que si
resolvemos por sustitución progresiva obtenemos las siguientes expresiones para los
coeficientes:



Luego, para calcular los coeficientes del polinomio podemos usar las diferencias divididas.
Normalmente, para calcular los coeficientes del polinomio se construye una tabla de
diferencias divididas. Por ejemplo con 5 puntos (xi, fi), i=0,...,4 se construye la siguiente
tabla:



Los coeficientes del polinomio son los elementos de la primera fila de la tabla de
diferencias divididas. Veamos un algoritmo para obtener las diferencias divididas o
coeficientes ai:



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

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

f[x0, x1, x2, x3]

f[x1, x2, x3, x4]

f[x0, x1, x2]

f[x1, x2, x3]

f[x2, x3, x4]

f[xi, xi+1]

f[x3, x4]

x0 f0

f[x0, x1]

x1 f1

f[x1, x2]

x2 f2

f[x2, x3]

x3 f3

x4 f4



U C M

afxfafxxafxxxafxxxnnii0001010101,,,,,,, Diferencias Divididas



Veamos un algoritmo para obtener las
diferencias divididas o coeficientes ai:

diferencias divididas

for i=0,...,n do

ai = fi

end

for j=1,2,...,n do

for i=i,j+1,...,n do



end

for i=i,j+1,...,n do

fi = ai

end

end




Una vez obtenidos estos coeficientes ya
podemos evaluar el polinomio en un punto
para interpolar o extrapolar un valor.

11



f1=difdiv(x,f,x1) que tenga como entrada
n+1 datos (xi, fi) e interpole el valor de
la función en los puntos x1:

a(i) = (a(i)-f(i-1))/(x(i)-x(i-j+1));

for i=j:n

end
f([j:n]) = a([j:n]);

function f1 = difdiv(x,f,x1)
n = size(x,1)+size(x,2)-1;
% crear los coeficientes
a=f;
for j=2:n



f=a; end
% evaluar el polinomio en x1
a
f1 = a(1);
for k=1:n-1
pr = 1;


for i=1:k



end

f1 = f1+a(k+1).*pr;
end

pr = pr.*(x1-x(i));

U C M

aafxxiiiiij1 Diferencias Divididas (otro código)

12

function [f1,p]=difdiv(x,f,x1)
% [f1,p]=difdiv(x,f,x1)
% Calcula el valor de la función f1 en los puntos x1, usando el
% metodo de diferencias divididas para calcular el polinomio p

n=length(x);

% Calcular tabla de diferencias divididas
tabla(:,1)=f;
for i=2:n;
for j=1:n-i+1
tabla(j,i)=(tabla(j+1,i-1)-tabla(j,i-1))/(x(j+i-1)-x(j));
end
end

p=tabla(1,:)
  • Links de descarga
http://lwp-l.com/pdf14872

Comentarios de: Ajuste e interpolación - Modelado de Datos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad