2

我想知道哪种高级语言允许以最简单的方式调用 Fortran 子例程?我目前使用 MATLAB,与其他语言相比,调用 MEX 文件似乎相对复杂。

我对以下内容在快速“启动并运行”方面的比较特别感兴趣:

*Python 通过 f2py *R 通过 ? *MATLAB 通过 MEX 文件

另一种提问方式是“如果你要重新开始学习一门新语言,如果你的目标是调用 Fortran 子例程,你会选择哪一种?”

我试图获得“两全其美”,即拥有良好的数据处理和图形以及调用快速 Fortran 子例程的能力。

提前感谢大家提供的任何帮助。唉,如果有人知道 Fortran 的一个很好的 MEX 教程,那也将不胜感激。

4

3 回答 3

6

我想知道哪种高级语言允许以最简单的方式调用 Fortran 子例程?

显而易见的答案是 Fortran 本身。所谓的 Modern Fortran (2003 & 2008) 有很多高级特性。显然很容易从现代代码中调用遗留的 FORTRAN 代码(我猜你有旧的 FORTRAN 代码库)。

于 2011-09-11T09:04:24.290 回答
4

通过 f2py 的 Python 非常好。我在使用 IVF 的 Windows 上运行时遇到了一些麻烦,但没过多久就弄清楚了,邮件列表给出了及时的回复。在 Linux 上,它可以正常工作。

我没有使用过 R,但据我了解,它仅在您使用大量数据进行大量统计时才有用。至于 MATLAB,它是一种可怕的语言,如果您只是调用 FORTRAN,那么使用 Python 会更好。

于 2011-09-11T07:42:35.093 回答
1

What I usually do in your case is create Fortran programs that I can pass command line arguments to as input. This is readily available by Fortran 2003 standard using intrinsic get_command_argument subroutine. You can then parse Fortran program output from whatever language you are using as a wrapper (assuming language has access to system shell). In the past, I did this with shell scripts, MATLAB (avoid), Python.

于 2011-09-12T00:48:42.143 回答