查找和存储指数连续数字

25日视图(30天)
理查德。
理查德。 2013年3月11日
评论道: 院长Ranmar2016年11月30日
考虑以下:
Jday = datenum (“2009-01-01 00:00”,“yyyy-mm-dd HH: MM”):1:
datenum (“2009-12-31点”,“yyyy-mm-dd HH: MM”);
DateV = datevec (Jday);
dat = 1 +(10:1)。*兰德(长度(Jday), 1);
噪音= 10 * sin(2 *π* Jday / 32) + 20;
i = 1:尺寸(dat, 2);
dat2 (:, i) = dat(:,我)+噪音';
结束
地板nan_dat =(100 +(300 - 1)。*兰特(50,1));
dat2 (nan_dat) =南;
从“dat2”我想找到天每个月的最大数量(用DateV (:, 2)), dat2大于30。此外我想每个月的天数等于在如果我们有10值大于30月1,然后只在月5值大于30 2那么我们应该只拿两个月前5的值大于30。这应该是适用于所有月。注意:缺失值出现在本系列。
3评论
1月
1月 2013年3月11日
编辑:1月 2013年3月11日
你的意图是相当清楚的。有什么问题吗?你希望什么样的帮助?

登录置评。

答案(1)

ChristianW
ChristianW 2013年3月11日
我猜你的问题是识别同一地区一个向量。因此你可以使用该功能:
Isame = @ (x) [1;找到(diff (x)) + 1;长度(x)];%指数相同的区域
一个例子是
x = [2 2 2 2 1 6 6 6 0] ';
Idx = Isame (x)% Idx = [1 5 6 9 9]
第一个区域开始指数1,第二个指数5等。去年指数,我添加了x(结束)指数。这是有用的在一个循环中。
通过这种方式你可以循环同一地区的而不是每个x元素。我会循环这样的几个月也算面积大于30 (Isame (X > 30)) 。area-length(天数)使用 diff (Isame (X > 30)) 。不要忘记有真假地区的X > 30。
2的评论
院长Ranmar
院长Ranmar 2016年11月30日
顺便说一句,在MATLAB 2015 b,你必须先声明x或者你得到一个错误:
x = [] ';
(我应该有一个'上面的x3向量)。

登录置评。

类别

找到更多的在日期和时间帮助中心文件交换

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!