[英]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.