爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4950|回复: 7

[程序设计] 计算连续干天日数

[复制链接]

新浪微博达人勋

发表于 2014-7-7 11:02:21 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
我的数据是17个站点分开的,每个站点里面的数据是这样的,第一列是年,第二列是月,第三列是日,第四列是降水量:
1960    1       1       0
1960    1       2       0.6
。。。。
2011    12    31      0
我想要计算每年持续时间最长的干天(日降水量<1mm)日数,所以我写了这样的程序,刚接触matlab所以只能用最简单的语法来拼凑,
for n = 1:17
    data = prec_all{n,1};
% assume that your data contains 52 years and started from 1960
TDim=52; startYear=1960;
Result=zeros([TDim,1]);
% count rainfall days by a for loop
   for i=1:TDim
    initial=datenum(startYear+i-1, 1, 1)-datenum(startYear, 1, 1)+1;
    final=datenum(startYear+i-1, 12, 31)-datenum(startYear, 1, 1)+1;
     m=final-initial+1;
     extract=zeros([m,1]);
   extract(1:m,1)=data(initial:final,4);
   for z=1:m
       a=0;
       days=[];
   if extract(z,1)<1
       a=a+1;
   else a=a;
   days=a;
   end

   end
   end
end
程序是不对的,从第三个for循环下来结果就不对了,高手们能帮我指点下吗?有更好的办法能告诉我吗?拜托拜托!

密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 32430
发表于 2014-7-7 13:07:16 | 显示全部楼层

回帖奖励 +3 金钱

我给楼主一个思路吧,不知道准确不,仅供参考。
楼主可以做一个17*总日数的数组,对每一个降水量小于1的日期都进行计算其后的干燥日数(如果大于1就计为0),然后每一列选取最大值就好了。
计算干燥日数:
for i=1:length-1(length:总日数)
if rain(i,4)<1
for j=i+1:length
if rain(j,4)>=1
break;
days(i,n)=j-1+1;
end
end
end
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2014-7-7 21:18:53 | 显示全部楼层
二爷名声在外 发表于 2014-7-7 13:07
我给楼主一个思路吧,不知道准确不,仅供参考。
楼主可以做一个17*总日数的数组,对每一个降水量小于1的日 ...

谢谢你啊,给了我启发
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-7-8 15:31:20 | 显示全部楼层

回帖奖励 +3 金钱

很实用  不错   
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-8-5 13:59:17 | 显示全部楼层

回帖奖励 +3 金钱

貌似改一改很有用啊~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-8-6 08:09:52 | 显示全部楼层

回帖奖励 +3 金钱

新手学习中。。。。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-8-6 16:30:12 | 显示全部楼层
谢谢分享,好东西
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-10-13 13:18:21 | 显示全部楼层
思路也可以Fortran
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表