1.版本:MATLAB R2014a ANSYS14.5 / MATLAB R2017a ANSYS17.0
2.思路:将MATLAB中的数据输出到shuju.txt中,用ANSYS读取shuju.txt后将计算计算结果输出到jieguo.txt中并将其返回到MATLAB中进行运算分析。
3.程序:在MATLAB中输入
fid=fopen('c:\shuju.txt','wt'); %打开文件 将数据写入
fprintf(fid,'%20.12f%20.12f%20.12f%20.12f%20.12f%20.12f%20.12f%20.12f%20.12f%20.12f%20.12f%20.12f%20.12f%20.12f\n',aa');
 fclose(fid);
!"D:\Ansys\ANSYS Inc\v160\ansys\bin\winx64\ANSYS160.exe" -b -p -ane3fl* -i C:\TenBar.txt -o "C:\guocheng.txt"
%此行为调用关键代码
%tenbar.txt APDL命令流文件
%guocheng.txt 输出ANSYS计算过程
% -i表示输入文件 -o表示输出文件
t=load('C:\Users\Ivan\jieguo.txt'); %读取ANSYS计算结果
4.若想运行成功,关键是要讲以上.txt文件放在ANSYS工作目录下,否则*vread将无法读取数据。
MATLAB调用ANSYS的.m文件也要放在ANSYS工作目录下,否则将会报错。
5.关于APDL命令流文件
5.1 *vread读取文件
mm=1
 nn=10
 !创建宏文件
 *create,my_read_load,mac
    *dim,w_load1,array,mm,nn    !定义mmxnn数组w_load1
    *vread,w_load1(1,1),shuju,txt,,IJK,1,10
    (10F20.12)
 *end
 !结束宏文件
 !运行宏文件
 my_read_load
 *status,w_load1  !显示数据
5.2 *vwrite输出文件
*cfopen,jieguo,txt   
 uyn=uy(4)
 *vwrite,uyn
 (f20.16)
 *cfclose
 finish
*vread或者*vwrite 文件必须以 /input 形式输入ANSYS中