Matlab 与ANSYS/DYNA及LS-PREPOST接口问题
由于ANSYS不能进行显式优化,决定用matlab。算法问题还好,接口很麻烦。网上关于MATLAB与ANSYS之间接口解决方法很多,但没找到调用
LS-PREPOST的方法,那就只好自己来了。废话少说,具体如下:
首先,算一个基本算例,用ls-prepost读出数据,读出后,查找你的文件夹,你会发现如下一个文件。
打开它,结果如下:
$# LS-PrePost command file created by LS-PREPOST 3.0 - 23May2010(19:05)
$# Created on Jul-14-2011 (20:29:49)
open d3plot "F:\opt\try\d3plot"
ident part H4/0 ;
mtime 10 4
xyplot 1 savefile ms_csv "F:\opt\try\vb.csv" 1 all
xyplot 1 donemenu
deletewin 1
exit(这行是自己添加的,为了退出软件)
将这个文件存在其他位置,以免被改变。搞定之后就可以用matlab了,程序如下:
xma=[1:1:3] %以简单矩阵做个例子
len=length(xma)
for k=1:1:len
x=xma(k)
y=80/x
aa=[x y]
fid=fopen('F:\opt\try\h.txt','wt')%%将matlab循环的数据输出
fprintf(fid,'%6.2f%6.2f\n',aa')
fclose(fid)
system('C:\ANSYS\v130\ansys\bin\winx64\ansys130.exe -b -p ane3flds -i F:\opt\try\try\mod.txt -o
F:\opt\try\try\ou.out')