- 积分
- 26277
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-6-1
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
程序如下:
function data = readdata(directory)
file = dir(directory); % 获取文件夹directory中的所有文件名
n = length(file);
j = 1;
for i = 1:n
point = strfind(file(i).name, '.'); % 寻找文件扩展名起始标志点'.'
if ~strcmp(file(i).name(point:end), '.xlsx') % 如果当前文件不是文本文件,则跳过该文件
continue;
end
dirname = [directory, '\', file(i).name]; % 将文件夹目录和文件名组集成当前文件的完整目录
sheet = 1;
station = xlsread(dirname,'A:A');
year = xlsread(dirname,'I:I');
pr95 = xlsread(dirname,'J:J');
rday = xlsread(dirname,'K:K');
maxp = xlsread(dirname,'L:L');
yearp = xlsread(dirname,'M:M');
p95r = xlsread(dirname,'N:N');
averp = xlsread(dirname,'O:O');
meanp = xlsread(dirname,'P:P');
yr78before = find(year>=2000 & year<=2012);
stationbefore=station(yr78before)
yearbefore=year(yr78before)
pr95before=pr95(yr78before)
rdaybefore=rday(yr78before)
maxpbefore=maxp(yr78before)
yearpbefore=yearp(yr78before)
p95rbefore=p95r(yr78before)
averpbefore=averp(yr78before)
meanpbefore=meanp(yr78before)
% yearbefore=[ones(length(yearbefore),1),yearbefore]
% [B,Bint,E,Eint,Stats]=regress(pr95before,yearbefore)
data{j, 1} = file(i).name; % 将文件名保存在元胞数组data的第1列
data{j, 2} = mean(stationbefore) % 将该的数据的第一列的平均值保存在元胞数组data的第2列
data{j, 3} = std(pr95before)/mean(pr95before); % 将该的数据的第二列的平均值保存在元胞数组data的第3列
data{j, 4} = std(rdaybefore)/mean(rdaybefore);
data{j, 5} = std(maxpbefore)/mean(maxpbefore);
data{j, 6} = std(yearpbefore)/mean(yearpbefore);
data{j, 7} = std(p95rbefore)/mean(p95rbefore);
data{j, 8} = std(averpbefore)/mean(averpbefore);
data{j, 9} = std(meanpbefore)/mean(meanpbefore);
j = j+1;
end
dataforexcel = [{'文件名','站点','95%百分位数','降水日数','日最大降水','全年降水','p95r','averp','meanp'}; data]; % 加表头,便于阅读
xlswrite('data.xls', dataforexcel); % 保存在Excel文件中
直接调用readdata函数即可。希望和大家一起探讨学习
|
评分
-
查看全部评分
|