Ajuste de Curvas

Anuncio
Ajuste de Curvas
Ajuste de curvas se usa para encontrar una función que responda a una muestra de
datos obtenidas de alguna medición, sampleo etc.
La aplicación mas elemental es para dibujar una curva en una computadora en base a
algunos puntos (datos) de manera que se vea bien.
Otra aplicación más interesante es la obtener una función que en base a algunos puntos
obtenidos de medición se pueda estimar otros puntos que no fueron medidos empíricamente.
Para lograr este objetivo se utilizan, entre otros, interpolación y aproximación por el
método de mínimos cuadrados; en los métodos por interpolación la función pasa exactamente
por los puntos observados, en cambio en el método de aproximación se busca que una función
pase lo mas cercanamente posible por los puntos observados.
Interpolación polinomial:
Este es un método que dados los puntos x1,x2,..,xn con sus correspondientes valores
f(x1),f(x2),..,f/(xn) obtiene un único polinomio que pasa por todos los puntos.
Este método trae aparejados dos problemas uno computacional y otro matemático.
Problema computacional: La fórmula clásica que se utiliza es la de interpolación de
Lagrange:
Figura 1
Por ejemplo un polinomio de grado 2 donde p(1) = 3, p(2) = 7 y p(3) = 13 ; utilizando
la fórmula de la figura 1, sería el siguiente:
Figura 2
En la fórmula de la figura 2 se ve que cuando x = 1 se anulan el segundo y tercer
término, cuando x = 2 se anulan el primero y el tercero y cuando x = 3 se anulan el primero y
el segundo; pudiéndose extender este ejemplo hasta N puntos, vemos que para N puntos nos
queda un polinomio de grado N-1.
La fórmula expresada en la figura 2 se simplifica y se llega a la siguiente:
Figura 3
Y es acá donde se ve el problema computacional ; para pasar de la fórmula de la figura
2 a la de la figura 3, que es la forma estándar de expresión del polinomio con sus coeficientes,
se necesitan por lo menos N2 operaciones, dado que la sumatoria tiene N términos y cada
termino tiene un producto de N factores, y esto para varios puntos crece muy rápido.
Por el otro lado el problema matemático viene dado debido a que al crecer el grado del
polinomio siempre logro que el mismo pase por todos los puntos que le exigí, pero a medida
que crece el grado del mismo curva entre los puntos no exigidos tiende a fluctuar, provocando
que no sirva para estimar valores no medidos (el cual es uno de los principales objetivos).
En la siguiente figura se ve un caso típico; hacemos de cuenta que conocemos la
función f a aproximar y la aproximamos con este método con el polinomio P:
Figura 4
Se ve claramente que en los puntos medidos el polinomio vale igual que la función,
pero entre los puntos difiere mucho.
Por estas razones se considera inapropiado el método de interpolación de polinomios para
hacer un ajuste de curva.
Interpolación Spline:
Mediante este método se usan polinomios de grado 3 para unir dos puntos de la
función entre si, es decir en vez de utilizar un polinomio de alto grado se usan varios de grado
3 , esto implica que para N puntos tenemos N-1 polinomios diferentes de grado 3.
Figura 5
Si(x) es el polinomio que une el punto i con el i + 1, es decir S1(x1) = y1 , S1(x2) = y2 ,
S2(x2) = y2 
S1(x2) = S2(x2) ; por otro lado además de coincidir los diferentes polinomios en los
puntos que los unen pedimos que coincidan la primer y segunda derivada, de esta forma
vamos a lograr una unión “natural” entre los puntos, que es hacia lo que apuntamos.
Teniendo en cuenta que :
Figura 6
y que en un mismo punto coinciden los valores de sus derivadas primeras y de sus
derivadas segundas es decir:
Figura 7
Nos queda un sistema de ecuaciones de 4N-6 ecuaciones con 4(N-1) = 4N-4
incógnitas, es decir nos faltan 2 condiciones para poder armar un sistema de ecuaciones con
solución única.
Una solución para esto es saber el valor de
y de
y para un spline
llamado natural estas derivadas valen cero, completando con estas dos condiciones un sistema
de ecuaciones de 4N-4 ecuaciones con 4N-4 incógnitas (que son los coeficientes de los N-1
polinomios de grado 3 que unen los N puntos).
Este sistema se resuelve aplicando eliminación de Gauss.
Existe una forma de calcular más eficientemente estas curvas; supongamos que
conocemos los valores de Si’’(xi) y los llamamos pi , podemos expresar el valor de los
coeficientes de cada curva en función de esos pi utilizando el siguiente sistema de
ecuaciones:
Figura 8
Una vez resuelto esto el problema se reduce a N-2 pi incógnitas, que se resuelven con
las N-2 ecuaciones
que salen de que
Figura 9
Haciendo un cambio de variables
Figura 10
nos queda la siguiente ecuación de la curva Si(t) entre el punto xi y xi+1 en función de
pi y pi+1
Figura 11
en la ecuación anterior cuando x = xi  t = 0 y cuando x = xi+1  t = 1
por lo tanto quedando S’i-1(1) = S’i(0) para i = 2, . . . , N-1 y llamando
Figura 12
Nos queda la siguiente ecuación, completando el sistema de ecuaciones para averiguar
pi
Figura 13
Finalmente llamando
Figura 14
Y para un caso en que N = 7 nos queda el siguiente sistema de ecuaciones
Figura 15
El sistema de ecuaciones anterior se resuelve de la siguiente manera dado que es una
matriz tridiagonal y además simétrica con respecto a la diagonal.
Usamos el siguiente método:
Figura 16
Y una vez obtenidos los valores pi se los utiliza en el siguiente método que devuelve el valor
de la función interpolante para un x dado:
Figura17
El método anterior primero ubica en que intervalo [xi,xi+1] se encuentra la x ingresada y luego
hace todos los cálculos con esa curva interpolante.
Descargar