• 大小: 2.74KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-03-27
  • 语言: Matlab
  • 标签: matlab  

资源简介


首先利用tecplot导出想要处理的数据,然后导出到matlab中,利用matlab对湍流流场中脉动速度、时均速度等进行求解计算

资源截图

代码片段和文件信息

clear
clc
%对文件进行重新排序
str = dir(‘C:\Users\Freyr\Desktop\matlab simple2\*.dat‘); % 替换成你自己的文件所在目录
strx = struct2cell(str);  %结构化数组转换为细胞数组
sn = size(strx2); %确定拥有几个dat数据
for ix = 1:sn     %循环进行重命名
    newname=sprintf(‘data-0.1-%d.dat‘ix); % data-0.1-%d.dat 是根据具体的原文件的排列规律确定的
    movefile(strx{1ix}newname);
end
clear ix sn str; %清除中间变量  释放运行空间

%批量导入并处理数据
file=dir(‘*.dat‘);% 必须把需批量处理的文件放在同文件夹内,通过size(file1)确定有多少要处理的文件
for j=1:size(file1)%确定有多少要处理的文件,就确定要循环多少次
fname=file(j).name;% 通过这个函数得到该循环内的数据名称
fid=fopen(fname);%对该数据进行打开
 for i=1:17           %这个需要打开dat文件进行确定有多少行是需要英文字符说明,
 [~]=fgetl(fid);      %因为要把这些行给删除,删除剩余的就为全部数据
 end
c=textscan(fid‘%f %f %f‘45461); %45461这个数字是要根据data文件中noeds 的个数确定,
                                % %f(数据类型为浮点型数据)有多少个就代表有多少列,
                                  % 也就代表多少个变量并用空格隔开,这在tecplot输出时就能确定。
fclose(fid);   %数据读取完,并储存在c中
c=cell2mat(c); %把单元数组转化为普通数组
               % 需要确定有多少个变量 然后逐一进行更改
dat.x=c(:1); % 把普通数组中第一列赋值给dat结构数组中x域中
dat.x

评论

共有 条评论