I investigador médico con código escrito en MATLAB 2009b que funciona muy lentamente debido a un ciclo autorreferencial (no estoy seguro de la jerga de programación aquí), es decir, los resultados de la primera iteración se utilizan durante la segunda iteración, etc. (Lo he vectorizado a una tarifa-thee-well. He ejecutado el Profiler.)convirtiendo el código de MATLAB en Fortran
Me gustaría convertir las partes lentas del código a una función mex. Aprendí Fortran a principios de los años 70, pero no lo he usado desde entonces. El código que necesito convertir no hace nada extravagante, solo es un cálculo numérico largo.
Mi pregunta es: ¿cuál sería la versión más fácil de volver a aprender de Fortran adecuada para este propósito, y qué compilador funciona mejor en la Mac de Intel para esto? Encontré información que compara la sintaxis en MATLAB con Fortran 90, por ejemplo, y la conversión no parece ser demasiado desalentadora para mí. Sin embargo, nuevamente, no soy un programador.
Estoy usando una MacBook Pro con OS 10.6.
Agradecemos cualquier ayuda, gracias.
Cómo irónico. Matlab fue desarrollado en parte como una FORTRAN "mejor". – Marc
¿Es el código lo suficientemente pequeño para publicar? Todavía puede haber otras optimizaciones antes de recurrir a MEX. P.ej. la preasignación y el cuidado con las llamadas de función podrían permitir a los nuevos Matlabs realizar modificaciones in situ en los arreglos, una gran ganancia para los cálculos iterativos. –
esperemos que esta acalorada discusión no lo haya asustado :) – Amro