sábado, 27 de octubre de 2012

AJUSTE DE CURVAS

AJUSTE DE CURVAS

El ajuste de curvas consiste en encontrar una curva que contenga una serie de puntos y que posiblemente cumpla una serie de restricciones adicionales. Esta sección es una introducción tanto a la interpolación (cuando se espera un ajuste exacto a determinadas restricciones) y al ajuste de curvas/análisis de regresión (cuando se permite una aproximación).

Ajuste de líneas y curvas polinómicas a puntos

Empecemos con una ecuación polinómica de primer grado:
y = ax + b\;
Esta línea tiene pendiente a. Sabemos que habrá una línea conectando dos puntos cualesquiera. Por tanto, una ecuación polinómica de primer grado es un ajuste perfecto entre dos puntos.
Si aumentamos el orden de la ecuación a la de un polinomio de segundo grado, obtenemos:
y = ax^2 + bx + c\;
Esto se ajustará exactamente a tres puntos. Si aumentamos el orden de la ecuación a la de un polinomio de tercer grado, obtenemos:
y = ax^3 + bx^2 + cx + d\;
que se ajustará a cuatro puntos.
Una forma más general de decirlo es que se ajustará exactamente a cuatro restricciones. Cada restricción puede ser un punto, un ángulo o una curvatura (que es el recíproco del radio, o 1/R). Las restricciones de ángulo y curvatura se suelen añadir a los extremos de una curva, y en tales casos se les llama condiciones finales. A menudo se usan condiciones finales idénticas para asegurar una transición suave entre curvas polinómicas contenidas en una única spline. También se pueden añadir restricciones de orden alto, como "el cambio en la tasa de curvatura". Esto, por ejemplo, sería útil en diseños de intercambios en trébol para incorporaciones a autopistas, para entender las fuerzas a las que somete a un vehículo y poder establecer límites razonables de velocidad.
Si tenemos más de n + 1 restricciones (siendo n el grado del polinomio), aún podemos hacer pasar la curva polinómica por ellas. No es seguro que vaya a existir un ajuste exacto a todas ellas (pero podría suceder, por ejemplo, en el caso de un polinomio de primer grado que se ajusta a tres puntos colineales). En general, sin embargo, se necesita algún método para evaluar cada aproximación. El método de mínimos cuadrados es una manera de comparar las desviaciones.
Ahora bien, podríamos preguntarnos la razón de querer un ajuste aproximado cuando podríamos simplemente aumentar el grado de la ecuación polinómica para obtener un ajuste exacto. Existen varias:
  • Incluso si existe un ajuste exacto, no quiere decir necesariamente que podamos encontrarlo. Dependiendo del algoritmo que se use, podríamos encontrar un caso divergente, donde no se podría calcular el ajuste exacto, o el coste computacional de encontrar la solución podría ser muy alto. De cualquier modo, tendríamos que acabar aceptando una solución aproximada.
  • Quizá prefiramos el efecto de promediar datos cuestionables en una muestra, en lugar de distorsionar la curva para que se ajuste a ellos de forma exacta.
  • Los polinomios de orden superior pueden oscilar mucho. Si hacemos pasar una curva por los puntos A y B, esperaríamos que la curva pase también cerca del punto medio entre A y B. Esto puede no suceder con curvas polinómicas de grados altos, ya que pueden tener valores de magnitud positiva o negativa muy grande. Con polinomios de grado bajo existen más posibilidades de que la curva pase cerca del punto medio (y queda garantizado que pasará exactamente por ahí, en los de primer grado).
  • Los polinomios de orden bajo tienden a ser suaves y las curvas de los polinomios de orden alto tienden a ser "bulbosas". Para definir esto con más precisión, el número máximo de puntos de inflexión de una curva polinómica es n-2, donde n es el orden de la ecuación polinómica. Un punto de inflexión es el lugar de una curva donde cambia de radio positivo a negativo. Obsérvese que la "bulbosidad" de los polinomios de orden alto es sólo una posibilidad, ya que también pueden ser suaves, pero no existen garantías, al contrario que sucede con los polinomios de orden bajo. Un polinomio de grado quince podría tener, como máximo, trece puntos de inflexión, pero podría tener también doce, once, o cualquier número hasta cero.
Ahora que hemos hablado del uso de grados demasiado bajos para conseguir un ajuste exacto, comentemos qué sucede si el grado de una curva polinómica es mayor del necesario para dicho ajuste. Esto es malo por las razones comentadas anteriormente si los polinomios son de orden alto, pero también nos lleva a un caso en que exista un número infinito de soluciones. Por ejemplo, un polinomio de primer grado (una línea) restringido por un único punto, en lugar de los dos habituales, nos dará un número infinito de soluciones. Esto nos trae el problema de cómo comparar y escoger una solución única, lo que puede ser un problema tanto para humanos como para el software. Por esta razón es mejor escoger el polinomio de menor grado posible para obtener un ajuste exacto en todas las restricciones, y quizá incluso un grado menor si es aceptable una aproximación al ajuste.

INTERPOLACION DE NEWTON

INTERPOLACION DE NEWTON

Interpolacion es, a partir de una serie de puntos, obtener una ecuación cuya curva pase por todos ellos o lo mas cerca posible.
El método de interpolacion de Newton es un poco mas complicado que el de Lagrange, pero como todo lo de Newton, es mas preciso.
Por supuesto que este método tiene todo un desarrollo teórico para llegar a la ecuación general, pero es demasiado largo y para fines prácticos lo que sirve al final es solo la forma de realizar el método y como aplicarlo.

La ecuación general para este método es la siguiente:


Lo importante de este método o la parte interesante es el cálculo de las b's.
Aquí es donde el método toma su nombre de diferencias divididas. Hay distintas formas de hacerlo, pero una de las que mas se recomiendan porque es clara y fácil es la siguiente:
Primero se ponen en 2 columnas acomodados de tal modo que se correspondan todas las x y las f(x) que se desean interpolar.
Después se hacen a su lado tantas columnas como puntos son -1, asi si son 5 puntos se hacen 4 columnas. Así para el caso de tener 5 puntos el acomodo quedaría mas o menos así:


X
f(x)
f(xi,xi)
f(xi,xi,xk)
...
...
x0
f(x0)
f(x1,x0)
f(x2,x1,x0)


x1
f(x1)
f(x2,x1)

f(x3,x2,x1,x0)

x2
f(x2)
f(x3,x2)
f(x3,x2,x1)

f(x4,x3,x2,x1,x0)
x3
f(x3)


f(x4,x3,x2,x1)

x4
f(x4)
f(x4,x3)
f(x4,x3,x2)



La notación f(x1,x0) se interpreta de la siguiente manera:
, así como f(x2,x1) es: , esto para b1.
Para b2 la notación f(x2,x1,x0) es: y así se van obteniendo sucesivamente todos los valores de b que son los que quedan en la primera celda de arriba para abajo en todas las columnas(en las que aparece la leyenda bn cuando pasas el mouse en el ejemplo de arriba).
Con este ejemplo se verá mas claramente de lo que se habla:

x
f(x)
_
_
_
-3
2
_
7
-1
_
17
9
_
_
_
27
11
_

Una vez obtenidos dichos valores simplemente se sustituyen en la ecuación general, se simplifica dicha ecuación y se tiene una cuya curva pasa casi exactamente por todos los puntos especificados.




GAUSS-SEIDEL

GAUSS-SEIDEL

El método de eliminación para resolver ecuaciones simultáneas suministra soluciones suficientemente precisas hasta para 15 o 20 ecuaciones. El número exacto depende de las ecuaciones de que se trate, del número de dígitos que se conservan en el resultado de las operaciones aritméticas, y del procedimiento de redondeo. Utilizando ecuaciones de error, el número de ecuaciones que se pueden manejar se puede incrementar considerablemente a más de 15 o 20, pero este método también es impráctico cuando se presentan, por ejemplo, cientos de ecuaciones que se deben resolver simultáneamente. El método de inversión de matrices tiene limitaciones similares cuando se trabaja con números muy grandes de ecuaciones simultáneas. Sin embargo, existen varias técnicas que se pueden utilizar, para resolver grandes números de ecuaciones simultáneas. Una de las técnicas más útiles es el método de Gauss-Seidel. Ninguno de los procedimientos alternos es totalmente satisfactorio, y el método de Gauss-Seidel tiene la desventaja de que no siempre converge a una solución o de que a veces converge muy lentamente. Sin embargo, este método convergirá siempre a una solución cuando la magnitud del coeficiente de una incógnita diferente en cada ecuación del conjunto, sea suficientemente dominante con respecto a las magnitudes de los otros coeficientes de esa ecuación. Es difícil definir el margen mínimo por el que ese coeficiente debe dominar a los otros para asegurar la convergencia y es aún más difícil predecir la velocidad de la convergencia para alguna combinación de valores de los coeficientes cuando esa convergencia existe. No obstante, cuando el valor absoluto del coeficiente dominante para una incógnita diferente para cada ecuación es mayor que la suma de los valores absolutos de los otros coeficientes de esa ecuación, la convergencia está asegurada. Ese conjunto de ecuaciones simultáneas lineales se conoce como sistema diagonal. Un sistema diagonal es condición suficiente para asegurar la convergencia pero no es condición necesaria. Afortunadamente, las ecuaciones simultáneas lineales que se derivan de muchos problemas de ingeniería, son del tipo en el cual existen siempre coeficientes dominantes.
La secuencia de pasos que constituyen el método de Gauss-Seidel es la siguiente:
 1. Asignar un valor inicial a cada incógnita que aparezca en el conjunto. Si es posible hacer una hipótesis razonable de éstos valores, hacerla. Si no, se pueden asignar valores seleccionados arbitrariamente. Los valores iniciales utilizados no afectarán la convergencia como tal, pero afectarán el número de iteraciones requeridas para dicha convergencia. 
2. Partiendo de la primera ecuación, determinar un nuevo valor para la incógnita que tiene el coeficiente más grande en esa ecuación, utilizando para las otras incógnitas los valores supuestos. 
3. Pasar a la segunda ecuación y determinar en ella el valor de la incógnita que tiene el coeficiente más grande en esa ecuación, utilizando el valor calculado para la incógnita del paso 2 y los valores supuestos para las incógnitas restantes.
 4. Continuar con las ecuaciones restantes, determinando siempre el valor calculado de la incógnita que tiene el coeficiente más grande en cada ecuación particular, y utilizando siempre los últimos valores calculados para las otras incógnitas de la 2. ecuación. (Durante la primera iteración, se deben utilizar los valores supuestos para las incógnitas hasta que se obtenga un valor calculado). Cuando la ecuación final ha sido resuelta, proporcionando un valor para la única incógnita, se dice que se ha completado una iteración. 
5. Continuar iterando hasta que el valor de cada incógnita, determinado en una iteración particular, difiera del valor obtenido en la iteración previa, en una cantidad menor que cierto seleccionado arbitrariamente. El procedimiento queda entonces completo. Refiriéndonos al paso 5, mientras menor sea la magnitud del seleccionado, mayor será la precisión de la solución. Sin embargo, la magnitud del epsilon no especifica el error que puede existir en los valores obtenidos para las incógnitas, ya que ésta es una función de la velocidad de convergencia. Mientras mayor sea la velocidad de convergencia, mayor será la precisión obtenida en los valores de las incógnitas para un dado.

EJEMPLO:

Primero se despejan las incógnitas x1, x2 y x3 de las ecuaciones 1, 2 y 3 respectivamente. Se tiene:
Estas últimas son el juego de fórmulas iterativas que se estará utilizando.
Se comienza el proceso iterativo sustituyendo los valores de x2 = x3 = 0 en la primera ecuación, para calcular el valor de x1:
Ahora se sustituye  y x3 = 0 en la segunda ecuación para obtener x2:
Ahora se sustituye  y  en la tercera ecuación para obtener x3:
Así se tiene la primera aproximación a la solución del sistema:
Puesto que todavía no se puede calcular ningún error aproximado, se repite el proceso pero ahora con los últimos datos obtenidos para las incógnitas:
Sustituyendo  y  en la ecuación 1 se obtiene  Sustituyendo  en la ecuación 2 se obtiene  finalmente, sustituyendo  y  en la ecuación 3 se obtiene . Es así como se tiene la segunda lista de valores de aproximación a la solución del sistema:
Ahora se pueden calcular los errores absolutos para cada una de las incógnitas:
Puesto que no se ha logrado el objetivo, se debe repetir el mismo proceso con los últimos valores obtenidos de cada una de las incógnitas. Nótese que aunque el error aproximado  ya cumple con ser menor al 1%, esto se debe cumplir para los tres errores aproximados. Por lo tanto se repite el mismo proceso. Omitiendo los pasos intermedios, se obtiene:
En este caso se tienen los siguientes errores aproximados:
Se puede observar que ahora se ha cumplido el objetivo para cada uno de los errores aproximados. Por lo tanto, se concluye que la solución aproximada es:



sábado, 6 de octubre de 2012

GAUSS JORDAN


GAUSS-JORDAN
El Método de Gauss – Jordan o también llamado eliminación de Gauss – Jordan, es un método por el cual pueden resolverse sistemas de ecuaciones lineales con n números de variables, encontrar matrices y matrices inversas, en este caso desarrollaremos la primera aplicación mencionada.
Para resolver sistemas de ecuaciones lineales aplicando este método, se debe en primer lugar anotar los coeficientes de las variables del sistema de ecuaciones lineales en su notación matricial:
Monografias.com
Entonces, anotando como matriz (también llamada matriz aumentada):
Monografias.com
Una vez hecho esto, a continuación se procede a convertir dicha matriz en una matriz identidad, es decir una matriz equivalente a la original, la cual es de la forma:
Monografias.com
Esto se logra aplicando a las distintas filas y columnas de las matrices simples operaciones de suma, resta, multiplicación y división; teniendo en cuenta que una operación se aplicara a todos los elementos de la fila o de la columna, sea el caso.
Obsérvese que en dicha matriz identidad no aparecen los términos independientes, esto se debe a que cuando nuestra matriz original alcance la forma de la matriz identidad, dichos términos resultaran ser la solución del sistema y verificaran la igualdad para cada una de las variables, correspondiéndose de la siguiente forma:
  • d1 = x
  • d2 = y
  • d3 = z
Ahora que están sentadas las bases, podemos explicar paso a paso la resolución de sistemas de ecuaciones lineales por medio de este método.
Para ilustrarnos mejor lo analizaremos con un ejemplo concreto:
  • Sea el sistema de ecuaciones:
Monografias.com
  • Procedemos al primer paso para encontrar su solución, anotarlo en su forma matricial:
Monografias.com
  • Una vez hecho esto podemos empezar a operar con las distintas filas y columnas de la matriz para transformarla en su matriz identidad, teniendo siempre en cuenta la forma de la misma:
Monografias.com
  • Lo primero que debemos hacer es transformar el 2 de la 1ª fila de la matriz original en el 1 de la 1ª fila de la matriz identidad; para hacer esto debemos multiplicar toda la 1ª fila por el inverso de 2, es decir ½.
Monografias.com
  • Luego debemos obtener los dos ceros de la primera columna de la matriz identidad, para lograr esto, buscamos el opuesto de los números que se ubicaron por debajo del 1 de la primera columna, en este caso el opuesto de 3 que será -3 y el opuesto de 5 que será -5.
Una vez hecho esto, se procederá a multiplicar los opuestos de estos números por cada uno de los elemento de la 1ª fila y estos se sumaran a los números de su respectiva columna. Por ej.: en el caso de la 2º fila, se multiplicara a -3 (opuesto de 3) por cada uno de los elementos de la 1º fila y se sumara su resultado con el numero que le corresponda en columna de la segunda fila. En el caso de la 3ª fila se multiplicara a -5 (opuesto de 5) por cada uno de los elementos de la 1º fila y se sumara su resultado con el número que le corresponda en columna de la tercera fila.
Monografias.com
  • Nuestro siguiente paso es obtener el 1 de la 2ª fila de la matriz identidad, y procedemos de igual forma que antes, es decir multiplicamos toda la fila por el inverso del numero que deseamos transformar en 1, en este caso -13/2, cuyo inverso es -2/13
Además si observamos la tercera fila, nos damos cuenta que todos los elementos poseen el mismo denominador, entonces podemos eliminarlos multiplicando todos los elementos de la 3º fila por 2 (el denominador); si bien este no es un paso necesario para el desarrollo del método, es útil para facilitar cálculos posteriores.
Monografias.com
  • Ahora queremos obtener el 0 que se ubica en la 3ª fila, 2ª columna de la matriz identidad, para hacer esto buscamos el opuesto del numero que se ubica en la 3ª fila, 2ª columna de la matriz con la cual estamos operando, en este caso -17, cuyo opuesto será 17; lo que hacemos ahora es multiplicar este número por todos los elementos de la 2ª fila y sumar esos resultados con el numero que le corresponde en columna de la 3ª fila.
Monografias.com
  • A esta altura podemos observar como la matriz con la cual estamos operando empieza a parecerse a la matriz identidad.
Nuestro siguiente paso es obtener el 1 correspondiente a la 3ª fila, 3ª columna de la matriz identidad, ahora bien, aplicamos el mismo procedimientocon el que estábamos trabajando, es decir que vamos a multiplicar toda la 3ª fila por el inverso del numero que se encuentre en la posición de la 3ª fila, 3ª columna, en este caso 96/13, cuyo inverso será 13/96.
Monografias.com
  • Luego debemos obtener los dos ceros de la tercera columna de la matriz identidad, para lograr esto, buscamos el opuesto de los números que se ubicaron por encima del 1 de la 3ª columna de la matriz con la cual estamos operando, en este caso 11/13 y ½ cuyos opuestos serán - 11/13 y -½, respectivamente.
Una vez hecho esto, se procederá a multiplicar los opuestos de estos números por cada uno de los elemento de la 3ª fila y estos se sumaran a los números de su respectiva columna. Por ej.: en el caso de la 2º fila, se multiplicara a - 11/13 (opuesto de 11/13) por cada uno de los elementos de la 3º fila y se sumaran sus resultados con el número que le corresponda en columna de la segunda fila. En el caso de la 1ª fila se multiplicara a -½ (opuesto de ½) por cada uno de los elementos de la 3º fila y se sumaran sus resultados con el número que le corresponda en columna de la primera fila.
Monografias.com
  • El último paso que debemos realizar es obtener el 0 de la 1ª columna, 2ª fila de la matriz identidad, para hacer esto buscamos el opuesto del numero que se ubica en la 1ª columna, 2ª fila de la matriz con la que estamos operando, en este caso es 3/2, cuyo opuesto será - 3/2, lo que hacemos ahora es multiplicar este número por todos los elementos de la 2ª fila y sumar esos resultados con el numero que le corresponde en columna de la 1ª fila.
Monografias.com
  • Como podemos observar hemos llegado al modelo de la matriz identidad que buscábamos, y en la cuarta columna hemos obtenido los valores de las variables, correspondiéndose de este modo:
x= 1
y= -1
z= 2
2x + 3y + z = 1 3x – 2y – 4z = -3 5x – y – z = 4
2*1+3*(-1)+2=1 3*1- 2*(-1)-4*2=-3 5*1-(-1)-2 =4
2 -3 +2 =1 3 +2 - 8= -3 5 +1 - 2 = 4
1 = 1 -3 = -3 4= 4