簡體   English   中英

如果循環查找值大於某個閾值的日期

[英]If loop to find date where values are bigger than certain threshold

我正在為我的 Matlab 作業而苦苦掙扎。

我有一個名為“date”的日期時間數組和兩個 double 類型的數組(X 和 Y),其中包含每個時間步的測量值。

我必須執行以下任務:

選擇 X 和 Y 都大於其各自 Z 值的所有時間步。 將這些時間步的日期存儲在一個新變量中。 將其命名為“C”

Z 和 Y 是 52584x1 雙向量,日期是格式 52584x1 日期時間 (dd.MM.yyyy hh:mm) 的向量

我試過:

%Some Dummy Data:
Y = 1:8:80
X = 2:4:40
t1 = datetime(2013,11,1,8,0,0)
t2 = datetime(2013,11,10,8,0,0)
date = t1:t2

Z = 8;

for i = length(date) 
    if X(i) > Z && Y(i) > Z
         C=date(i)
    end
end

我猜C=date(i)

感謝您的幫助!

我想您需要的可能如下所示:

Z = 8;
for i = 1:length(date) 
    if X(i) > Z && Y(i) > Z
         C(end+1)= date(i);
    end
end

替代方案C = date((X>Z)& (Y>Z))C = date(min([X;Y],[],1) > Z)是一種更有效的解決方案,而不是使用for循環

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM