[已答复] 如何统计一列具有时间序列的日温度数据中每年日温度大于某个值连续超过6个的总日数

[复制链接]
yuanyp 发表于 6 天前
我想统计1960-2008年日温度数据序列中,每年中日温度大于某个值连续六天以上的总天数,用excel实在算不出来,请教各位大佬用matlab程序应该怎么写?谢谢指导!

2 条回复


TouAkira 发表于 6 天前
先用判断条件把原数据向量变成是否满足条件的0或1构成的向量
再用diff函数求差分,从0变为1的差分为1,即当日气温大于均值的可能连续时间的起点,从1变为0的差分为-1,即终点,差分为0的要么是连续的低于条件数值要么是连续高于该数值,用find函数很容易对应差分为1或-1的索引值(即对应的第几天)
有了各个可能连续区间的起点和终点,再判断一下是否符合区间持续长度超过6天,又可以得到一组0或1构成的向量,用这个行向量乘以各区间天数构成的列向量就是符合条件的总天数了

yuanyp 发表于 6 天前
TouAkira 发表于 2021-1-12 11:39
先用判断条件把原数据向量变成是否满足条件的0或1构成的向量
再用diff函数求差分,从0变为1的差分为1,即当 ...

你好,非常感谢您的回答。我懂你的意思,可我是个matlab小白,不会写程序:'(,能麻烦你写一下吗?不好意思。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

热门教程
站长推荐
快速回复 返回顶部 返回列表