| 查看: 4982 | 回复: 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
» 猜你喜欢
论文终于录用啦!满足毕业条件了
已经有4人回复
2025年遐想
已经有4人回复
投稿Elsevier的杂志(返修),总是在选择OA和subscription界面被踢皮球
已经有8人回复
自然科学基金委宣布启动申请书“瘦身提质”行动
已经有4人回复
求个博导看看
已经有18人回复
5楼2017-06-29 08:36:47







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

回复此楼