matlab调用ansys-------1

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中

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章