24小时热门版块排行榜    

查看: 5074  |  回复: 4

elve920504

新虫 (初入文坛)

[求助] 用matlab进行批量处理数据时遇到的问题 已有2人参与

fluent计算结果输出170个压力分布数据,现在需要把数据进行批量处理求平均值。小女子新虫一枚,金币不多,望大神帮助。
下面是编的程序:
%-------------------------------------------------------------------------%
clear
%导入原始数据
cd('C:\Users\yangliu\Desktop\LES 未定义来流的湍流度\cp');%待处理的数据文件所在文件夹
Allname=struct2cell(dir); %得到上述文件夹下的所有文件名
%dir命令,可以得到路径内包括文件名在内的文件信息,为struc数据结构。
%-------------------------------------------------------------------------%

%逐个读入文件
[m,n]=size(Allname);
y=zeros(300,1);%对矩阵y进行赋值
for i=3:n %前两个不是文件名
    name=Allname{1,i};%第一行作为文件名用来提取数据
    hang=[5 304];%5行到304行
    lie=[1 2];%1到2列
    fid1=fopen('C:\Users\yangliu\Desktop\LES 未定义来流的湍流度\cp\name','r');
    temp=textscan(fid1,'%f %f ',5,304);%读取5-304行数据
    fclose(fid1);
     for k=1hang(2)-hang(1)+1)
         for l=1lie(2)-lie(1)+1)
             b=temp{l+lie(1)-1}{k+hang(1)-1};
              A(k,l)=str2num(b);
          end % for l=1lie(2)-lie(1)+1)
     end %  for k=1hang(2)-hang(1)+1)
   %将数据赋值到矩阵
     B(i)=A(:,2);
   if mod(i,n)==1
     fid2=fopen('C:\Users\yangliu\Desktop\LES 未定义来流的湍流度\cp\cpaverage.txt','wt');
        D(:,1)=A(:,1);
        D(:,2)=y(:,1)/(n-2);
      for j=1:1:300
        for m=1:1:2
            if m==2
               fprintf(fid,'%g\n',D(j,m));
            else
               fprintf(fid,'%g\t',D(j,m));
            end
         end
      end
      fclose(fid2);%将数据逐个写入文件中
   else
  i=i+1;
  y(:,1)=B(i)+y(:,1);
end %for if mod(i,n)==1
end %for i=3:n
这是自己编的程序,读取5-304行数据,并对第二列进行平均计算,提示错误使用 textscan。文件标识符无效。使用 fopen 生成有效的文件标识符。后面附有一个待处理的文件。小女子matlab刚开始学习,实在是不知道怎么改程序了,求各位大神帮助,不吝赐教啊。
回复此楼

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : 03cp.dat
  • 2015-11-30 16:10:50, 12.54 K

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Dlinlin

新虫 (小有名气)

这个解决了吗??我也在做fluent计算,碰到问题,想请教
2楼2017-06-02 15:39:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

somomo91

专家顾问 (职业作家)

【答案】应助回帖


jjdg: 金币+1, 感谢参与 2017-06-03 01:20:08
这里的问题在于 textscan 输入格式不对,因为第一到第四行是字符串格式,所以自然会出错。
用循环很容易出错,能不用就不用
这里有更简单的解决方法,两行(其实一行)代码就可以解决的
CODE:
rawdata = textread('03cp.dat', '%s','delimiter', '\n');
data = cell2mat( cellfun(@str2num, rawdata(5:304),'un',0) );

3楼2017-06-03 01:00:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

somomo91

专家顾问 (职业作家)


jjdg: 金币+1, 感谢参与 2017-06-03 01:20:22
完全不懂什么数据,不过曲线很有意思
用matlab进行批量处理数据时遇到的问题

4楼2017-06-03 01:03:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Deemo7

新虫 (初入文坛)

【答案】应助回帖

楼主您额批量处理的文件夹是几层的啊
5楼2017-06-29 08:36:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 elve920504 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 311求调剂 +13 冬十三 2026-03-15 14/700 2026-03-21 22:10 by peike
[考研] 考研调剂 +3 呼呼?~+123456 2026-03-21 3/150 2026-03-21 20:04 by 无际的草原
[考研] 326求调剂 +4 mlpqaz03 2026-03-15 4/200 2026-03-21 19:10 by ColorlessPI
[考研] 302求调剂 +12 呼呼呼。。。。 2026-03-17 12/600 2026-03-21 17:29 by ColorlessPI
[考研] 298求调剂 +4 上岸6666@ 2026-03-20 4/200 2026-03-21 17:14 by 学员8dgXkO
[考研] 26考研一志愿中国石油大学(华东)305分求调剂 +6 嘉年新程 2026-03-15 6/300 2026-03-21 17:07 by Dream007008
[考研] 266求调剂 +3 哇呼哼呼哼 2026-03-20 3/150 2026-03-21 16:46 by barlinike
[考研] 一志愿重庆大学085700资源与环境总分308求调剂 +7 墨墨漠 2026-03-20 7/350 2026-03-21 16:36 by barlinike
[考研] 南昌大学材料专硕311分求调剂 +6 77chaselx 2026-03-20 6/300 2026-03-21 07:24 by JourneyLucky
[考研] 301求调剂 +10 yy要上岸呀 2026-03-17 10/500 2026-03-21 03:14 by JourneyLucky
[考研] 二本跨考郑大材料306英一数二 +3 z1z2z3879 2026-03-17 3/150 2026-03-21 02:29 by JourneyLucky
[考研] 求调剂 +3 Ma_xt 2026-03-17 3/150 2026-03-21 02:05 by JourneyLucky
[考研] 288求调剂 +16 于海海海海 2026-03-19 16/800 2026-03-20 22:28 by JourneyLucky
[考研] 261求B区调剂,科研经历丰富 +3 牛奶很忙 2026-03-20 4/200 2026-03-20 19:34 by JourneyLucky
[考研] 招收调剂硕士 +4 lidianxing 2026-03-19 12/600 2026-03-20 12:25 by lidianxing
[考研] 生物学调剂招人!!! +3 山海天岚 2026-03-17 4/200 2026-03-19 21:34 by 怎么释怀
[考博] 26博士申请 +3 1042136743 2026-03-17 3/150 2026-03-17 23:30 by 轻松不少随
[考研] 材料专硕326求调剂 +6 墨煜姒莘 2026-03-15 7/350 2026-03-17 17:10 by ruiyingmiao
[考研] 一志愿,福州大学材料专硕339分求调剂 +3 木子momo青争 2026-03-15 3/150 2026-03-17 07:52 by laoshidan
[考研] 304求调剂 +5 素年祭语 2026-03-15 5/250 2026-03-16 17:00 by 我的船我的海
信息提示
请填处理意见