【发布时间】:2015-05-11 13:51:46
【问题描述】:
我将直接进入一个最小的例子,因为我觉得这很难用语言表达。我有以下示例:
Data.Startdate=[datetime(2000,1,1,0,0,0) datetime(2000,1,2,0,0,0) datetime(2000,1,3,0,0,0) datetime(2000,1,4,0,0,0)];
Data.Enddate=[datetime(2000,1,1,24,0,0) datetime(2000,1,2,24,0,0) datetime(2000,1,3,24,0,0) datetime(2000,1,4,24,0,0)];
Data.Value=[0.5 0.1 0.2 0.4];
Event_start=[datetime(2000,1,1,12,20,0) datetime(2000,1,1,16,0,0) datetime(2000,1,4,8,0,0)];
Event_end=[datetime(2000,1,1,14,20,0) datetime(2000,1,1,23,0,0) datetime(2000,1,4,16,0,0)];
如果 Data.Startdate 和 Data.Enddate 之间的任何时间介于 Event_start 和 Event_end 之间,我想要做的是向数据结构添加一个标志(比如 1)。在上面的示例中,Data.Flag 将具有值 1 0 0 1,因为从 Event_start 和 Event_end 向量中您可以看到 1 月 1 日和 1 月 4 日有事件。我的想法是我将使用这个标志来进一步处理数据。
我相信这很简单,但如果你能提供任何帮助,我将不胜感激。
【问题讨论】:
标签: matlab datetime indexing logical-operators