Comunicaciones
Ajuste de Curvas
´ RESUMEN TEORICO El problema de la aproximaci´n consiste en encontrar un elemento de cierto subespacio o S, de un espacio E, que se encuentra a la minima distancia de un elemento dado x ∈ E. Si E es un espacio eucl´ ıdeo y S es un subespacio de dimensi´n finita, sabemos que la soluci´n o o viene dada por la proyecci´n ortogonal de x sobre el subespacio S. o En estetema aplicaremos esta t´cnica para obtener la funci´n, dentro de una cierta clase e o de funciones, que mejor se ajusta a una nube de puntos, en el sentido de minimizar el error cuadr´tico. a
4.1.
Ajuste de curvas.
Dado un conjunto de n puntos {(xk , yk )}n , cuyas abscisas son todas distintas, es cok=1 nocido que la recta de regresi´n ´ recta optima (en el sentido de los m´ o o ınimoscuadrados) es la recta y = ax + b, donde el vector de los coeficientes z = [a, b] es la unica soluci´n de las ´ o ecuaciones normales de Gauss At Az = At c x1 1 y1 x2 1 y2 a = . . . . . . b . . . . xn 1 yn Esta recta, que puede que no pase por ninguno de los puntos anteriores, es la recta que hace m´ ınimo el error cuadr´tico: a
n
E2 =
k=1
(axk + b − yk )2,
y en consecuencia es una l´ ınea de ajuste ´ptimo. N´tese que si la representaci´n gr´fica de o o o a n o los puntos {(xk , yk )}k=1 sugiere que la relaci´n entre x e y es lineal, construir el polinomio interpolador de dicha tabla de puntos al objeto de predecir el valor en otros puntos, ser´ un ıa mala elecci´n. o 1
TEMA 4. AJUSTE DE CURVAS En ocasiones la matriz del sistema provenientede las ecuaciones normales de Gauss At A, es una matriz que est´ mal condicionada. Para evitar los errores derivados de este problema a podemos usar los Comandos de Matlab: p=polyfit(x,y,m) nos da los coeficientes, en sentido descendente, del polinomio p de grado m < n que mejor aproxima, en el sentido de los m´ ınimos cuadrados, al conjunto de puntos (x, y) donde x = [x1 , x2 , · · · , xn ] e y =[y1 , y2 , · · · , yn ]. El polinomio obtenido puede evaluarse con el comando polyval. A veces Matlab, al ejecutar el comando polyfit, recomienda normalizar las abscisas xi , para que la media aritm´tica de todas ellas sea x = 0 y la desviaci´n t´ e o ıpica σ = 1. Esto se consigue mediante la sintaxis [p,s,mu]=polyfit(x,y,m) x−x . El segundo argumento El polinomio p viene expresado en la nuevavariable z = σ de salida nos proporciona informaci´n sobre la matriz del sistema resultante y el tercer o argumento es un vector con los valores de (x, σ), que son necesarios si queremos evaluar el polinomio p respecto de la variable inicial x. En algunas ocasiones, la funci´n propuesta como modelo no es lineal, pero podemos o hallar un cambio de variables que linealice el problema y as´ poder aplicarel m´todo de los ı e m´ ınimos cuadrados para encontrar dicha recta. Por ejemplo, si queremos ajustar una funci´n o dx a un conjunto de puntos {(x , y )}n , tomando logaritmos en la exponencial del tipo y = ce k k k=1 expresi´n anterior obtenemos ln y = ln c+dx. Si hacemos el cambio de variables X = x, Y = o ln y y denotamos b = ln c el problema consiste ahora en encontrar la recta Y = dX + b quemejor aproxima, en el sentido de los m´ ınimos cuadrados, a la nube de puntos {(xk , ln yk )}n . k=1 Una vez hallados los coeficientes d y b hay que deshacer el cambio para hallar el par´metro a c = eb . En la referencia Mathews y Fink [2000,Cap 5] se pueden ver (figura 5.7) las gr´ficas a de varios tipos de curvas que pueden usarse como modelo, dependiendo de los datos del problema, y una tabla(tabla 5.6) en la que se muestran algunos cambios de variable usados para linealizar. Hacemos notar que la aproximaci´n as´ obtenida es posiblemente distinta de la soluci´n o ı o que se obtendr´ al plantear el problema de m´ ıa ınimos cuadrados para la funci´n no lineal o del modelo inicial. En efecto, el m´todo de los m´ e ınimos cuadrados para la funci´n y = cedx o consiste en hallar el m´ ınimo...
Regístrate para leer el documento completo.