我有1和0的輔助功能載體。 1表示天氣好; 0意味着天氣不好,而且這個地方是不可訪問的。如何在MATLAB中查找序列中的趨勢?
我有(例如)10個小時一個step_duration。考慮到step_index(步驟的開始)爲101,我需要找到一個連續10個小時天氣良好的窗口。
預期溶液:隨着10小時預期天氣,說的可接近矢量爲[0 0 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1]。所以,我們找到窗口的索引是從109-118。和相應的天氣延遲(考慮到我們找不到直小時)是指數101-108(即9小時。)我需要編寫一個代碼,這樣的算法。
,我能想到的一些示例代碼如下(雖然這不是我想要的東西):
window = 0; % Initialize the counter for finding the weather window.
for tt = step_index
if Accessibility(tt) == 0
% bad weather, move to next index
% reset window.
window = 0;
k = k + 1;
possible_window(k) = window;
continue
else
% Increase window
window = window + 1;
% sote window history
k = k + 1;
possible_window (k) = window;
end
end
tt = tt + 1;
end
注意,解決方案也可以很容易地調整,以找到那些在爲10塊一個任意amound(通過改變' == n'into'> = 8')。 – 2014-09-11 12:05:49
@DennisJaheruddin我不確定你的意思,這裏'conv'的結果不能大於'n',如果你想找一個更小的數字,那麼你會不會寧願設置'n = 8'? – Dan 2014-09-11 12:10:10
我的意思是這個解決方案還提供了靈活性,可以在10個窗口中找到至少8個美好時刻。 - 評論主要是爲了提問者的利益。 – 2014-09-11 12:14:33