我对使不同的编程语言相互交流相对较新,希望能得到一些帮助。基本上我有一个 Fortran 代码和一个 Matlab 代码。两个代码都首先初始化,然后必须按顺序运行。每个代码都需要另一个代码的输入。当这个过程经常重复足够多时,达到一些收敛标准并终止迭代。为了使事情变得更复杂,Fortran 代码不仅需要来自 Matlab 的输入,还需要来自它自己之前的迭代。Matlab 也是如此。因此,据我所知,最好在整个迭代过程中保持两个程序打开,因为我有很多变量,因此不能只将它们写在文本文件中以将它们交给另一个程序并保留它们下一次迭代。
所以基本上我正在尝试做这样的事情:
初始化变量集 A、B、C 和 D
Fortran:
Input: A and B
Calculations …
Output: A (variables have now new values) and D
MATLAB:
Input: C and D
Calculations …
Output: C (variables have now new values) and B
重复 Fortran 和 Matlab,直到达到收敛标准。
所以我的问题是:如何使 Matlab 和 Fortran 相互通信并将变量传递给另一个?以及如何每个代码触发另一个代码,然后等待另一个代码先完成其计算,然后再继续?