!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!声明:初学者自用,如果有高端操作的大佬欢迎批评指正。!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
应用场景:
在Ansys Fluent参数化批量计算之后得到如下文件结构:
在每一个dp子文件内:
在FLU的子文件夹Fluent中有该dp文件对应的计算结果.out文件:
目标:
轮流读取每个dp文件夹下FLU内Fluent内的.out数据文件,并提取该数据文件内最后一行除行序号以外的数据,将得到的每一个dp对应的数据作为一列,依次列入一个新的数组,最后得到一个5列的新数据,进行后续的作图。
程序:
clear
dir_path = 'K:\experiment\nojet-twi_files\'; %输入路径,所有dp文件的上一级
%save_dir = 'K:\experiment\nojet-twi_files_matlab'; %输出路径
fileFolder=ls(dir_path); %列出主目录下的所有子文件夹,包括所有dp文件的列表
delimiterIn = ' '; % imputdata的分隔符
headerlinesIn = 3; % 头文件行数,用于import从指定行开始读取
for i=5:9 %读取待处理子文件夹,轮流读取每一个dp
k=i-4;
file_path = strcat(dir_path,strtrim(fileFolder(i,:)),'\FLU\Fluent\','report-def-0-rfile.out'); %读取当前dp文件夹子文件及更下一级文件夹内的.out数据文件
A=importdata(file_path, delimiterIn, headerlinesIn); %读取.out的数据
data_num=A.data; %提取数据
N=size(data_num); %得到当前数据的维度
% disp(file_path);
n=N(1);%统计共有多少行数据,用于处理最后一行的数据
result1=data_num(n,:);%提取最后一行的数据
result2(:,k)=result1.';%按照列存储到result2中
result3=result2(2:N(2),:);%去掉源数据文件第一列的行序号
sort(result3,'descend') %排序,如果无排序需求可省略。
end
结果:

版权声明:本文为weixin_42230462原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。