Métodos numéricos en Fortran

Publicado por Danilo Toro en

Banner- Métodos numéricos en Fortran

Si eres estudiante de ingeniería, en los primeros años te debieron haber enseñado, como a mí, a resolver métodos numéricos ya sea en Matlab o con calculadora (que horrible! 😱). Aunque en ese momento no me interesaron, porque no me gustaba matlab (y en parte que el profe solo leía el Chapra en una diapositiva), este semestre aprendí a programar Métodos numéricos en Fortran y me di cuenta lo genial que son.

En las siguientes semanas me dedicaré a enseñar distintos métodos numéricos con sus respectivos códigos en Fortran y ejemplos de cuando usarlos. La entrada de cada método numéricos los podrás encontrar aquí:

  1. Método de la Bisección
  2. Método de la Falsa Posición
  3. Newton-Rapshon
  4. Método de la Secante
  5. Método de la Rigidez
  6. Regla de Simpson

Métodos numéricos

Los métodos numéricos constituyen técnicas mediante las cuales es posible formular problemas matemáticos, de tal forma que puedan resolverse utilizando operaciones aritméticas

Métodos numéricos para ingenieros – Steven C. Chapra

Los métodos numéricos son técnicas que nos permiten aproximar cálculos matemáticos que no podemos resolver de forma analítica. Esto es lo que me gusta, y es que combinamos de muy buena manera la teoría y la ciencia aplicada. Además, nos es muy útil para los que estamos aprendiendo Machine Learning

¿Que problemas podemos solucionar usando métodos numéricos? Pues, muchos!! Algunos de ellos son:

  • Sistemas de ecuaciones lineales
  • Interpolación de polinomios
  • Convergencia y aceleración de series
  • Discretización

Yo aprendí con este libro: Métodos numéricos para Ingenieros de Steven C. Chapra y es el libro que usaré como guía para mis artículos. Considero que la teoría la explica de forma muy clara, y además, tiene pseudocódigo que nos facilitará el trabajo (el código se parece a Fortran 👀)

Libro Métodos Numéricos Para Ingenieros, Steven C Chapra, Raymond P Canale,  ISBN 36290168. Comprar en Buscalibre
Métodos numéricos para ingenieros – Steven C. Chapra

El otro libro que usaré es Análisis Estructural de R. C. Hibbeler, el cual explica paso a paso como aplicar el método de la rigidez

Fortran

Fortran es uno de los lenguajes de programación más antiguos, usado especialmente para computación científica y numérica. Se lanzó por primera vez en 1954 y hasta ahora sigue usándose en campos científicos.

¿Por que usar Fortran sobre Matlab? Existen varios motivos por lo cual Fortran es una ventaja:

  • Realizar el código en Matlab es lento y consume memoria en comparación con Fortran
  • Así mismo, para programas muy largos, es difícil crear una buena estructura en Matlab, además de tener una sintaxis algo más compleja de depurar
  • Matlab necesita una licencia que no todos pueden costear, por lo tanto, no será tan sencilla de compartir nuestra solución.

Es importante aclarar que la comparación entre Matlab y Fortran puede ser algo tonta porque son herramientas computacionales diferentes, además Matlab también tiene muchísimos beneficios, especialmente para procesamiento de señales, que es para lo que más lo he usado.

Para instalar Fortran, tienen dos opción. Usar la interfaz gráfica o usar compilar desde la terminal. Te dejo un tutorial para cada caso.

Tutorial para instalar interfaz gráfica en Windows

Tutorial para compilar Fortran desde la terminal

Métodos numéricos en Fortran

El código de todos las publicaciones los encontrarás este repositorio 👉Repositorio de Github. Además, adicional al código que encontrarás en este blog, subiré otros ejemplos un poco más largos donde puedes resolver problemas más genéricos sin tener que editar el código base, solo ingresando datos desde la terminal o leyendo un archivo externo.

Ya puedes encontrar la primera publicación de la serie Métodos numéricos en Fortran aquí 👉 Método de la Bisección en Fortran

Si quieres que escriba sobre otro método numérico o conoces alguna forma mejor de implementarlo, lo que es probable ya que soy nuevo en Fortran, deja un comentario y así aprendemos todos 🙌


0 comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *