【发布时间】:2012-06-24 20:46:29
【问题描述】:
我想利用MATLAB的优化工具箱,即遗传算法。
但是我的函数是一个可执行文件,是我用 C 语言编写的,它接受一个文本文件作为输入。在这个输入文件中可以设置变量。所以我希望 MATLAB 修改这个文本文件,运行可执行文件,并在迭代中获取结果。这可能吗?
【问题讨论】:
标签: optimization matlab
我想利用MATLAB的优化工具箱,即遗传算法。
但是我的函数是一个可执行文件,是我用 C 语言编写的,它接受一个文本文件作为输入。在这个输入文件中可以设置变量。所以我希望 MATLAB 修改这个文本文件,运行可执行文件,并在迭代中获取结果。这可能吗?
【问题讨论】:
标签: optimization matlab
您可以在 MATLAB 中调用 C、C++ 或 FORTRAN 代码,方法是将代码编译成称为 MEX 文件的 MATLAB 可执行文件:http://www.mathworks.com/support/tech-notes/1600/1622.html
那么你必须在你的适应度函数中调用这个 MEX 文件。
【讨论】:
您可以使用! 命令运行*.exe 文件。
在 MATLAB 中创建循环,您将在其中向*.txt 写入内容,然后使用!name.exe 运行 C 程序,并在迭代中读取结果。
【讨论】: