Métodos numéricos

De MateWiki
Revisión del 19:23 19 ago 2013 de Herraiz (Discusión | contribuciones) (Ejemplo de método numérico)

Saltar a: navegación, buscar
Warning.png Este artículo está en versión beta. El autor de este artículo no lo ha terminado todavía, por favor no lo edites hasta que elimine este mensaje.

La mayoría de los métodos matemáticos empleados en ingeniería utilizan variables continuas. Cuando queremos trasladar estos métodos al ordenador, para facilitar su resolución, nos encontramos con que en un ordenador no es posible realizar cálculos en variable continua de manera eficiente. El ordenador trabaja con una representación de información discreta. Los métodos numéricos se encargan de adaptar métodos matemáticos en variable continua a un sistema de representación de información discreto. En ocasiones, también se emplean métodos numéricos cuando no es posible obtener una solución analítica de un problema.

1 Análisis numérico de algoritmos

Un método numérico es un algoritmo que intenta resolver una operación matemática compleja en un ordenador. Los motivos por los que se usa un método numérico en vez de intentar una solución analítica pueden ser varios:

  • El problema es muy complejo, y no se puede encontrar en la práctica
  • El problema no tiene solución analítica conocida, pero puede resolverse de manera numérica
  • El tamaño de la solución lo hace impracticable

El objetivo del análisis numérico es obtener un método para resolver el problema matemático en un ordenador. Hay que tener en cuenta que el ordenador solo es capaz de realizar operaciones matemáticas sencillas, y sobre todo, que los ordenadores usan un sistema discreto de representación de la información. En el desarrollo de un método numérico hay que tener en cuenta por tanto dos aspectos:

  • Es necesario traducir el problema a operaciones elementales (operaciones aritméticas)
  • Es necesario controlar el error para que el algoritmo sea estable, y produzca una solución cercana a la realidad

Algunos paquetes de software, como por ejemplo Octave UPM, poseen una biblioteca de métodos numéricos y de operaciones matemáticas que hacen más sencilla la implementación de un método numérico. Por ejemplo, aunque un ordenador no puede resolver un sistema de ecuaciones directamente, en Octave UPM la solución del sistema [math]A\cdot x = b[/math] se obtiene simplemente con

x = A\b;

En cuanto a controlar el error, existen dos fuentes principales de error:

Existen también diferentes conceptos que suelen aparecer relacionados con métodos numéricos:

  • Cuando hablamos de un método numérico, normalmente nos referimos a un algoritmo que resuelve un problema matemático y que se puede implementar en un ordenador.
  • En ocasiones, también se usa el término cálculo numérico, para denominar la actividad de resolver problemas matemáticos usando un ordenador.
  • Por último, el análisis numérico es una rama de la Matemática que se encarga del análisis de los algoritmos numéricos, con el fin de controlar el error y producir una solución fiel a la solución exacta.

2 Ejemplo de método numérico

Vamos a ver un ejemplo de método numérico sencillo. La integral de una función es un problema que a veces es complejo de resolver de manera analítica, o incluso, que puede no tener solución analítica. Sin embargo, es un problema relativamente sencillo de resolver numéricamente.

Área bajo la función

El problema que vamos a resolver es el siguiente: [math]\displaystyle D = \int_a^b f(x) dx[/math] Se trata de calcular el valor de D, que es el área bajo la curva f(x) entre los puntos x=a y x=b. Suponemos que f(x) es una función continua en [a,b]. La imagen de la derecha ilustra el problema.

Aproximación del area bajo la función usando rectángulos

Al integrar una función en un intervalo dado, estamos sumando pedazos del área de ancho infinitesimal. La suma contiene infinitos elementos, y su resultado es el valor de la integral, que coincide con la del área. En un ordenador, no podemos tener pedazos de área infinitesimal, por lo que será necesario discretizar el problema, y calcular el área aproximando por rectángulos de alguna longitud dada. Por ejemplo, en la imagen de la derecha hemos aproximado el área usando cinco rectángulos.

Es decir, hemos realizado la siguiente aproximación: [math]\displaystyle \int_a^b f(x) dx \approx \sum_{i=1}^5 f(x_i)\cdot h[/math] donde [math]h=2[/math] en la figura, y [math]x_1 = 12, \ \ x_2=14, \ \ \dots[/math], es decir [math]x_{i+1} = x_i + h[/math].

Otro ejemplo de método numérico que se puede encontrar en MateWiki es la Factorización de Doolittle, que se usa para resolver sistemas de ecuaciones lineales, para el cálculo de la matriz inversa y otras aplicaciones.

3 Orígenes del análisis numérico

Desde los comienzos de la Informática, los ordenadores se han dedicado a resolver problemas matemáticos que no era posible resolver a mano. Al principio, estos problemas no eran necesariamente complejos. Por ejemplo, muchas grandes empresas empezaron a usar ordenadores para el cálculo automático de las nóminas de sus empleados, aprovechando que el ordenador podía tratar grandes cantidades de información.

Sin embargo, la necesidad de resolver problemas complejos de ingeniería extendió pronto el rango de aplicaciones de los ordenadores, y empezaron a usarse para cálculos complejos, que no se adaptaban bien a un ordenador. Uno de los primeros ejemplos es la resolución de sistemas de ecuaciones lineales. En un principio, se intentaban adaptar métodos conocidos para su uso en un ordenador, pero no siempre proporcionaban un resultado correcto. El análisis rigurosos de los algoritmos y de las fuentes de error en un ordenador proporcionó respuesta a por qué en ocasiones los métodos numéricos no funcionaban, y supuso el nacimiento del análisis numérico, que es en la actualidad una rama de la Matemática[1]

4 Aŕeas del análisis numérico

5 Referencias

  1. Grcar, Joseph F. John von Neumann's Analysis of Gaussian Elimination and the Origins of Modern Numerical Analysis. SIAM Review, 53(4), pp. 607–682, 2011. (enlace a PDF sin suscripción)