| 查看: 4967 | 回复: 4 | |||
[求助]
用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=1 hang(2)-hang(1)+1)for l=1 lie(2)-lie(1)+1)b=temp{l+lie(1)-1}{k+hang(1)-1}; A(k,l)=str2num(b); end % for l=1 lie(2)-lie(1)+1)end % for k=1 hang(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
» 猜你喜欢
垃圾破二本职称评审标准
已经有19人回复
职称评审没过,求安慰
已经有53人回复
毕业后当辅导员了,天天各种学生超烦
已经有5人回复
26申博自荐
已经有3人回复
A期刊撤稿
已经有4人回复
Dlinlin
新虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 1017.6
- 散金: 160
- 帖子: 154
- 在线: 26.5小时
- 虫号: 6326414
- 注册: 2017-04-16
- 性别: GG
- 专业: 爆炸与冲击动力学
2楼2017-06-02 15:39:55
3楼2017-06-03 01:00:03
4楼2017-06-03 01:03:44
5楼2017-06-29 08:36:47













hang(2)-hang(1)+1)

回复此楼
