月值降水数据格式的提取和转存[mat…

好久没有写新东西了,感觉以前做的数据写不成文章就这么扔掉好可惜。╭(╯^╰)╮,一定要折腾一篇出来。
降水值要乘以0.1我都忘记了!
clear;clc;
%改程序用于处理原始降水值数据,将其转存为站点名对应的月降水值。info.txt中储存了站点名对应的经纬度
%starYear为转存的起始年份,endYear为终止年份,本程序一律要求起始年为1960,原始数据不达标则抛弃
File=uigetfile({'*.txt';'*.*'},'MultiSelect','on');
len=length(File);pre=[];LOCA=[];temp=[];
for i=1:len
      file=char(File(i));
      file=['E:\F\essay\data\monthPre\',file];
      data=load(file);
      endYear(i)=data(end,5);
      startYear(i)=data(1,5);
    if startYear(i)<=1960
              name=data(1,1);
              %name=[name,'.txt'];
              Star=find(data(:,5)==1960);
              loacate=data(1,1:3);%站点名,纬度,经度(度分)
              star=Star(1);
              pre=data(star:end,9);
              LEN(i,1)=length(pre);
              LEN(i,2)=data(1,1);
              if LEN(i,1)==648;
                      SELname=LEN(i,2);
                      name=num2str(SELname);
                      name=['E:\F\essay\data\monthPre\worked\',name,'.txt'];
                  dlmwrite(name,pre,'\t')%将降水数据文件写入txt文件
                      temp=[temp;SELname];
              end
    end

      LOCA=[LOCA;loacate];%    站点名及对应的经纬度
      %dlmwrite('info.txt',LOCA,'\t')
end
clear data len file i ii name k
%%%%统计流域
len=length(temp);
for i=1:len
      name=num2str(temp(i));
      data(i,:)=load(['E:\F\essay\data\monthPre\worked\',name,'.txt']);
end
avg=mean(data);
%avg=avg';
%% 改储存格式
avg=reshape(avg,12,54);%%%!!!reshape的时候一定要注意是否是原数据序列,注意转置
avg=avg';
%dlmwrite('average.txt',avg);
AVG(54,13)=0;
y=1960:1:2013;
AVG(:,1)=y;
AVG(:,2:end)=avg;

% %%%画图
        for j=1:8
              for k=1:9
                      subplot(j,k,j+k-1)
                      plot(pre)
              end
% %          end


看了大牛的程序觉得我自己写的好low啊。。。未来路还很长,慢慢学吧。。。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值