3

Simulación en Fortran

Posted by José L. Panta A. on 10:14 in
Una aplicación sumamente poderosa de las computadoras modernas es la simulación. Una simulación es un experimento de computadora que refleja algún aspecto del mundo real que parece ser basado en los procesos del azar, o se complica para entender propiamente también. Algunos ejemplos son: el decaimiento radioactivo, división de la bacteria y flujo de tráfico. La escencia de un programa de la simulación es que el programador es incapaz de predecir de antemano el resultado exacto del evento que es simulado. Por ejemplo, cuando tu lanzas una moneda, tu no sabes exactamente cual será el resultado.

Entonces, lo primero a necesitar en una simulación son las estadísticas del evento, es decir, la probabilidad con que el evento se encuentra en cierto estado final, osea el resultado, luego necesitarás generar números aleatorios, para que se entienda mejor pondré el ejemplo del lance de una moneda:

  1. Al lanzar una moneda existen sólo dos posibilidades: cara o sello; entonces cada posible resultado tiene una probabilidad de ser cierto de 0.5.
  2. Ahora, se genera un número aleatorio cuyo valor varíe en el intervalo de [0;1>
  3. A cada posible resultado se le asigna un subintervalo dentro del intervalo [0;1>
  4. Si el número aleatorio es, por ejemplo, 0.378, el resultado cae dentro del intervalo cara, esto quiere decir que, el resultado es cara.
Entonces, existe igualdad de probabilidades de cada resultado, pero esto depende del evento a realizarse, la probabilidad puede estar relacionada con la energía (proceso físico) o puede estar relacionada con una serie de datos experiementales.

La cuestión aquí es como simular en fortran, bueno, para eso lo que tenemos que realizar es la generación de números aleatorios mediante
la subrutina RANDOM_NUMBER (R), esta subrutina puede ser usada para simular diferentes eventos aleatorios, Random_Number genera números pseudo aleatorios distribuidos uniformemente en el rango de:

0≤R<1>

El problema es que una cmputadora no puede, realmente, generar números aleatorios, pero estos son igualmente impredecibles. R puede ser un escalar o una matriz, pero debe ser real. Random_Number arrojará siempre la misma secuencia de números aleatorios. Para producir diferentes secuencias cada vez que se utilice el programa, el generador puede ser iniciado de diferentes maneras.

La subrutina SYSTEM_CLOCK retorna el valor del reloj del sistema, su argumento debe ser entero.

RANDOM_SEED es la subrutina que permite inicializar a RANDOM_NUMBER. Tiene unos argumentos mudos, en el ejemplo PUT se usa para reiniciar el valor de la semilla. Otro argumento mudo es GET que se usa para tomar el valor actual de la semilla. Esto nos ayuda sobre todo dentro de un bucle.

Luego, como ejemplo tenemos:

INTEGER Hora
REAL, DIMENSION(10) :: R

INTEGER, DIMENSION(1) :: semilla

CALL SYSTEM_CLOCK( Hora )
semilla = Hora
CALL RANDOM_SEED( PUT = semilla )
CALL RANDOM_NUMBER( R )

Con esto creo que ya puedes jugar a simular cualquier evento, si eres bueno programando puedes simular cualquier evento, juego de cartas, lance de un dado y de una moneda que es más fácil, pero la cosa es que empieces a simular por ejemplo, el movimiento de un electrón, usando la ecuación de Shrodinger, decamiento radioactivo, crecimiento de cristales, nucleación, etc.

Si tienes las herramientas a la mano, pues empieza a construir.

Acá el link del libro Fortran for Scientific and Ingeneering que está en DJVU, puede servirte o en todo caso revisa el manual del mismo título que viene en el Fortran Power Statio 4.0


|
2

Matrícula UNAC 2009 - A

Posted by José L. Panta A. on 22:45 in



A ver a ver, quien no ha podido matricularse?? Toda esa cuestión del cruce de horarios, pero para que jalaste pues? Eso es lo que te dice la gente que si se pudo matricular, bueno bueno, si jalaste tendrás tus motivos, la cosa es que se te cruzan los cursos y punto, el sistema no quiere dejar que te matricules, bueno la solución (según tu) es ir a tu facu y hablar en secretaría para la matrícula manual, pero ohh sorpresa, te dicen que este año no se admite ni siquiera una hora de cruce (un poco radicales no creen), bueno bueno, ahora nos toca ir a OAGRA (allá si me tratan bien piensas), de lo primero que te das cuenta es que la ventanilla de tu facu ya cerró, y eso que aún no son las 4, que creerán estos, estamos en plena matrícula y deciden irse temprano, bueno, al que encontró alguien en su ventanilla le dirán que ellos sólo hacen el sistema, que si se te cruza vayas a tu facu y hables con quien tengas que hablar (seguro con la secre que no te cae pq t grita mucho) y que si ahí te aceptan pues bien; entonces regresas a tu facu y resulta que la secre te dice que OAGRA les está tirando la pelota y que así no es.

Bueno, una opción es que te matricules en lo que puedas, grabes tu matricula y el resto de los cursos lo hagas de forma manual hasta la primera semana de abril, fecha en que empieza la verificación y todo eso, pero la cosa es que te la juegas, eso ya depende de las políticas de tu facu (y de cuanto llores frente a la secre). Si hacen esto pues espero que los acepten, sino se quedarán colgados llevando sólo dos cursos o tal vez tres.

Otra posibilidad es jugar en la página de OAGRA, bueno, esto de jugar es simplemente "champear" hasta que el sistema "quiera" aceptarte, y puede ser que si te acepte, lo malo es que no puedes llorar frente a la compu :'(

Si ya estás matriculado (sea como sea), pues estudia más y ya deja de una vez de llorar frente a la secretaria todos los ciclo pues, buena suerte a todos este ciclo y nada, solo queda
INAUGURARLO.


|
2

Compiladores Fortran

Posted by José L. Panta A. on 21:40 in

Bueno, lo primero de lo que quiero hablar es acerca del Fortran, ese lenguaje de programación que muchos ya no usan y si lo usan, pues lo hacen porque la currícula de su facultad los obliga a usarlo, y lo peor es que, no contentos con enseñarnos este lenguaje (que no es malo, pero no muy comercial) nos obligan a usar un viejo compilador del año 94, SI, del año 94, ya han pasado 15 años desde que salió el viejo DEV, uno debe ser libre de por lo menos elegir el compilador que más le agrade o se ajuste a sus necesidad, y es por esto que, en esta primera entrada de este mi querido blog he decidido pues, publicar una serie de links (no los he subido yo, aún) para descargar otros compiladores Fortran, si gustan de algún manual no duden en pedirlo, en todo caso yo mismo lo subiré después.

Que quede claro que yo no he subido estos archivos, sólo he hecho una recopilación de los sitios donde se pueden encontrar, bueno acá van:

Visual Fortran 6.5 que incluye un serial para que puedan instalarlo.
Intel Visual Fortran Compiler v10.1.014 para Windows.
Intel Visual Fortran Compiler 11.0 Professional Edition for Windows, de este tiene que comprar la licencia, en todo caso lo pueden probar por un mes, se puede instalar en máquinas que tienen el Visual Studio instalado.
Intel Fortran Compiler v10.1.017 for LINUX.
Free Compilers, bueno, esta es una página en donde hay compiladores libres para GNU.

Bueno, el que yo estoy usando es el Visual Fortran 11.0, es que ya estoy familiarizado con el entorno del Visual Studio, así que yo me quedo con ese, tal vez te gustaría usar uno libre o seguir usando el Microsoft Developer, pero yo creo que no podemos seguir quedándonos atrás, sigamos para adelante y usemos todo lo que tengamos a la mano, y si no lo tenemos, pues alguien lo tiene y seguramente que te lo facilitará sin ningún rechazo, bueno, es el caso del software libre.

En el caso de la FCNM, en la Universidad del Callao, es el colmo que en la currícula este incluida la enseñanza del Fortran como lenguaje de programación y la universidad ni siquiera tiene licencia y tenemos que vivir instalando el DEV cada vez que nos toca el curso, si no quieren comprar la licencia entonces es hora de optar por usar compiladores libres, o en todo caso pasar a usar lenguajes de programación de los cuales sus compiladores cuentan con las licencias necesarias, en todo caso, la compra de estas licencias es un gasto innecesario si es que no se van a usar.

Eso es todo por esta vez, espero que les sirva de algo todo esto y nada, muchas gracias por la atención y cualquier duda, consulta o pedido, háganlo libremente.

|
0

Inicio del Blog

Posted by José L. Panta A. on 21:09 in
Bueno, creo que este mensaje lo estoy creando para leerlo yo mismo :P ya que nadie aún conoce este blog, espero que muy pronto se una mucha gente y al que llegue pues BIENVENIDO.

|

Copyright © 2009 NO Somos Vagos All rights reserved. Theme by Laptop Geek. | Bloggerized by FalconHive.