有时候需要批量处理,或者进行参数反演(比如用matlab的遗传算法调用flac3d进行计算,根据位移反演出各地层参数),就需要用到matlab调用flac3d。
过程如下:
1. 在flac3d主程序f3300.exe同目录(比如我的是E:\manualDownload\flac3D\flac3d300)下找到或新建一个FLAC3D.INI,内容写为flac3d要执行的代码:
- new
- call E:\manualDownload\flac3D\flac3d300\duncanEB\test\0-duncanEB-oneZoneTest.dat
new根据自己想需要添加或去掉。
2. 在同目录下新建一个bat文档:flac3dload.bat,内容为:
- start E:\manualDownload\flac3D\flac3d300\f3300.exe
当然,名字也可以根据自己喜欢的改动,新建bat其实就是新建一个txt文本文档,写好上面的命令后保存,把后缀名改为bat即可。此时双击flac3dload.bat就应该可以执行flac3d并计算
0-duncanEB-oneZoneTest.dat命令了。3.打开matlab,将f3300.exe的
路径 E:\manualDownload\flac3D\flac3d300设为matlab的当前路径,并执行下面代码:- clear
- clc
- [s,e]=dos('E:\manualDownload\flac3D\flac3d300\flac3dload.bat')
如下图所示,将路径粘贴到箭头所指位置,回车后即切换了matlab当前路径:
插图就大于字数限制了,不太好用啊。
或者在E:\manualDownload\flac3D\flac3d300路径下新建matlabCallFlac3d300.m,输入上述命令,直接运行,都可以成功调用flac3d300。
注意matlabCallFlac3d300.m一定与f3300.exe在同一目录下。
这儿没法直接放视频,在知乎放一个吧:[url]https://zhuanlan.zhihu.com/p/197809798[/url]
原创,转载请注明出处。