我有一个很长的(大约1000行)和复杂的Matlab函数(比如mat_test.m),它工作得很好。另一方面,我有一套复杂的Fortran代码。我试图在我的一个Fortran代码中插入我的Matlab函数。我在Fortran中没有太多的能力,所以我不想在Fortran中重写整个Matlab函数。有没有办法在Fortran中定义变量并远程调用此Matlab函数并使用它生成的输出?
答案 0 :(得分:2)
确实可以从fortran代码中调用matlab函数。 Matlab包含一个详细示例,说明如何在fengdemo.F
文件的matlabroot / extern / examples / eng_mat文件夹中正确实现它。
Here is the file showing how it's done.
Here is the example output of this file, from the mathworks website.
答案 1 :(得分:0)
您可以使用
执行或更好地在Fortran中启动程序call SYSTEM("script.m")
现在,您可以通过这种方式编辑Matlab脚本,以便将数据保存在.txt文件中; 然后你可以在Fortran中编写代码来读取该文件;
我的想法是这样的:
! ...do something in Fortran
call SYSTEM("modified_script.m")
! read data.txt
! continue your works with data from Matlab...
PS:您不需要包含任何库