Я медицинский исследователь с кодом, написанным на MATLAB 2009b, который работает очень медленно из-за цикла саморегуляции (не уверен в программировании lingo здесь), т. Е. Результаты первой итерации используются во время вторая итерация и т. д. (я векторизовал его в проездной скважине. Я запустил Profiler.)Преобразование кода MATLAB в Fortran
Я хотел бы преобразовать медленные части кода в функцию mex. Я изучил Фортран в начале 1970-х годов, но не использовал его с тех пор. Код, который мне нужно преобразовать, не имеет ничего общего, это просто длинный численный расчет.
Мой вопрос: какая была бы самая простая в разрешении версия Fortran, подходящая для этой цели, и какой компилятор лучше всего работает на Intel Mac для этого? Например, я нашел информацию, сравнивающую синтаксис в MATLAB с Fortran 90, и преобразование не похоже, что это будет слишком сложным для меня. Однако, опять же, я не программист.
Я использую MacBook Pro с OS 10.6.
Цените любую помощь, спасибо.
Как иронично. Matlab был разработан частично как «лучший» FORTRAN. – Marc
Является ли код достаточно малым для публикации? Все еще могут быть другие оптимизации, прежде чем прибегать к MEX. Например. preallocation и быть осторожным с вызовами функций, может позволить более новым Matlabs делать модификацию массива на месте, что является большой победой для итеративных вычислений. –
позволяет надеяться, что эта горячая дискуссия не напугала его :) – Amro