爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: 大海绵1990

[程序设计] matlab计算

[复制链接]

新浪微博达人勋

 楼主| 发表于 2014-7-5 11:19:44 | 显示全部楼层
大海绵1990 发表于 2014-7-5 11:11
应该是每五天累计的,还有,是三个金币不是5个金币,我刚来这里不久,没多少金币,不好意思啊

就是元胞数组里面是17个站点的数据,每个站点的数据是这样的,第一列是年,第二列是月,第三列是日,第四列是降水量,例如
1960   1     1      0
1960   1     2      3
。。。。
2011   12   31     0
我想知道怎么一次性把元胞数组里面的所有站点又有年份的数据都算出来
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 32430
发表于 2014-7-5 11:19:56 | 显示全部楼层

回帖奖励 +3 金钱

大海绵1990 发表于 2014-7-5 11:11
应该是每五天累计的,还有,是三个金币不是5个金币,我刚来这里不久,没多少金币,不好意思啊

要是五天累计那做一个循环不就出来了
for i=1:length-4
sum_5day=sum(i:1+4,4);
end
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-7-5 11:30:37 | 显示全部楼层
沙颖凯 发表于 2014-7-5 10:30
http://bbs.06climate.com/forum.php?mod=viewthread&tid=24560

原来帮一个人写过类似的,是统计台站每 ...

for n = 1:17
    data = prec_all{n,1};
data(data<10)=0;
data(data>=10)=1;
% assume that your data contains 50 years and started from 1961
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;
    Result(i)=sum(data(initial:final, 4));
end
end
这个用来算大于10mm的日降水日数挺好的,被我改了一下,可以出来最后一个站点的数据,怎么改可以出来我的17个站点的数据,求赐教啊!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-7-5 11:35:20 | 显示全部楼层
大海绵1990 发表于 2014-7-5 11:30
for n = 1:17
    data = prec_all{n,1};
data(data=10)=1;

你在第二个循环外,增加1个存放站点结果的向量即可。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-7-5 14:02:13 | 显示全部楼层
rceclx 发表于 2014-7-5 11:35
你在第二个循环外,增加1个存放站点结果的向量即可。

恩,没错的,谢谢!可是出来的结果里面有NAN怎么办
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-7-5 22:08:49 | 显示全部楼层
大海绵1990 发表于 2014-7-5 14:02
恩,没错的,谢谢!可是出来的结果里面有NAN怎么办

有NaN应该是你原来的数据里有NaN吧,把sum(data(initial:final, 4));改成nansum(data(initial:final, 4));这样可以忽略原始数据中NaN的影响,或者你用个方法把原始数据里的缺测订正了也行。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-7-6 09:29:00 | 显示全部楼层
沙颖凯 发表于 2014-7-5 22:08
有NaN应该是你原来的数据里有NaN吧,把sum(data(initial:final, 4));改成nansum(data(initial:final, 4)) ...

恩,是这样的,已经解决了,谢谢你,那个95百分位我不知道该怎么计算,是一个极端降水指标,R95T,原定义是这样的,极端降水事件( 日降水量 1961- 1990年期间95%分位点) 的降水量之和占该年总降水量的百分率
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-7-7 11:06:59 | 显示全部楼层
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-8-5 14:00:31 | 显示全部楼层

回帖奖励 +3 金钱

有无大神回复程序呢?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-9-7 19:50:01 | 显示全部楼层

回帖奖励 +3 金钱

{:biggrin:}{:biggrin:}
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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