matla新手,把我自学能搞定的部分已经写出来了,跪求高手改正、指点……
会批量导入文件,导入之后不会算了
————————————————————
cd('h:\data')%待处理的数据文件所在文件夹
filename=dir('h:\data\*.wth');
h=length(filename);%文件数量
———————————————
%1、导入之后怎么调用数据计算?
for ii = Data(:,:,ii) = textread(filename{ii},%f%f%f%f%f,'headerlines',6));
%%每个文件有6列文字说明的表头,去掉后是365*5或者366*5的数据矩阵
——————————————
%2、每个文件的算法相同,名字怎样设置可以依次调用,还是经过上面导入全部算就可以了?
文件名字格式:分三部分ABC。A:1-3854;
B:61,62,…99,01,02,03…10(就是1961-2010,只取后两位);
C:全部01.(0001+61+01)
00016101.wth
00016201.wth
00016301.wth
。
。
。
00019901.wth
。
。
。
00011001.wth
均为0001**01, **的变化为1961-2010只取后两位数字:61:10.,
前四个数字为0001-3854,后四个数字为6101-1001不断循环
所以总数据量为3854*50=192900
00026101.wth
。
00021001.wth
。
。
。
38546101.wth
。
38541001.wth
这样的文件名可以循环吧,起码可以50个一组循环b吧?我还是没弄明白matlab里面可以怎么表示
——————————————————————————
单个文件:
[d,s,tmax,tmin,p]=textread('filemane{jj}',%f%f%f%f%f,'headerlines',6);
%每个文件有6列文字说明的表头,去掉后是365*5或者366*5的数据矩阵
————————————————————————————————
%3、会单个的,怎么处理全部文件?
[d,s,tmax,tmin,p]=textread('?',%f%f%f%f%f,'headerlines',6);
if size(d)=[365,1]
maxt4=mean(91:120,3);mint4=mean(91:120,4);%4月
maxt5=mean(121:151,3);mint5=mean(121:151,4);%5月
maxt6=mean(151:181,3);mint6=mean(151:181,4);%6月
maxt7=mean(182:212,3);mint7=mean(182:212,4);%7月
maxt8=mean(213:243,3);mint8=mean(213:243,4);%8月
maxt9=mean(244:273,3);mint9=mean(244:273,4);%9月
else size(d)=[366,1]
maxt4=mean(92:121,3);mint4=mean(92:121,4);
maxt5=mean(122:152,3);mint5=mean(122:152,4);
maxt6=mean(152:182,3);mint6=mean(152:182,4);
maxt7=mean(183:213,3);mint7=mean(183:213,4);
maxt8=mean(214:244,3);mint8=mean(214:244,4);
maxt9=mean(245:274,3);mint9=mean(245:274,4);
%4、如何输出第一行和第四行文本内容disp('1,4')?
(maxt4,,mint4;
maxt5,mint5;
maxt6,mint6;
maxt7,mint7;
maxt8,mint8;
maxt9,mint9);
end |