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中