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中
1.版本:MATLAB R2014a ANSYS14.5 / MATLAB R2017a ANSYS17.0
来源:CSDN
作者:杨跃辉
链接:https://blog.csdn.net/weixin_44363881/article/details/103857704