Лучший высокоуровневый язык для вызова подпрограмм на Фортране? - PullRequest
2 голосов
/ 11 сентября 2011

Мне было интересно, какой язык высокого уровня позволяет проще всего вызывать подпрограммы на Фортране? В настоящее время я использую MATLAB, и вызов MEX-файлов представляется относительно сложным по сравнению с другими языками.

Меня особенно интересует сравнение следующих показателей с точки зрения быстрой настройки и запуска:

* Python через f2py * R через? * MATLAB через MEX файлы

Еще один способ задать вопрос: «Если бы вы начали все сначала и выучили новый язык, какой бы вы выбрали, если бы ваша цель называла подпрограммы на Фортране?»

Я пытаюсь получить «лучшее из обоих миров», то есть хорошую обработку данных и графику в сочетании с возможностью быстрого вызова подпрограмм Фортрана.

Спасибо всем заранее за любую помощь, которую вы можете оказать. Увы, если кто-то знает хороший учебник по MEX для Fortran, это также будет оценено.

Ответы [ 3 ]

6 голосов
/ 11 сентября 2011

Мне было интересно, какой язык высокого уровня позволяет проще всего вызывать подпрограммы на Фортране?

Очевидный ответ - сам Фортран.Так называемый Modern Fortran (2003 и 2008) имеет множество высокоуровневых функций.И, очевидно, легко назвать старый код FORTRAN (я думаю, что у вас есть старая база кода FORTRAN) из современного.

4 голосов
/ 11 сентября 2011

Python через f2py очень хорош. У меня были небольшие проблемы с запуском Windows с IVF, но это не заняло много времени, и список рассылки дает быстрые ответы. В Linux это работало без проблем.

Я не использовал R, но, насколько я понимаю, это полезно, только если вы ведете большую статистику с большими объемами данных. Что касается MATLAB, это ужасный язык, если вы просто звоните на FORTRAN, вам лучше с Python.

1 голос
/ 12 сентября 2011

В вашем случае я обычно создаю программы на фортране, в которые я могу передавать аргументы командной строки в качестве входных данных.Это легко доступно по стандарту Fortran 2003 с использованием встроенной подпрограммы get_command_argument.Затем вы можете анализировать выходные данные программы Fortran с любого языка, который вы используете в качестве оболочки (при условии, что у языка есть доступ к системной оболочке).В прошлом я делал это с помощью сценариев оболочки, MATLAB (избегать), Python.

...