Matlab与fortran90混合编程
我用的版本有两个:
一个是matlab2016b、Intel Visual Fortran Composer XE 2013 和 Microsoft Visual Studio 2010。
这台电脑是matlab2021a+oneapi+vs2019。都能成功。
首先将安装vs,再安装合适的fortran编译器(比如Intel Visual Fortran Composer XE 2013 或oneapi),再安装合适版本的matlab。前两个顺序不要颠倒,至于matlab我不知道有没有影响。
安装好后,打开matlab,输入:
mex -setup fortran
这样就配置为matlab的mex配置了fortran的编译器。
但是默认的编译器编译的是固定格式的fortran,就是后缀为.fix的代码,我一般喜欢自由格式的fortran,怎么办呢?首先在电脑中找到matlab的配置文档mex_FORTRAN_win64.xml,一般在C:\Users\Zhu Binglong\AppData\Roaming\MathWorks\MATLAB\R2021a,然后删掉下面的fix并保存:
这儿我又运行了一下mex -setup fortran,不知道有没有必要,反正没啥坏处,无所谓了,不深究。
然后就可以快乐的写自己的fortran90代码了,我一般只写简单的函数不写module,所以用用module有没有别的注意事项我就不知道啦。
上图显示编译已完成,就可以调用啦。
后续写自己的代码,可以参考:
也可以参考官网: