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中

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