通过使用 MATLAB 考虑时间戳来过滤两种不同大小的数据集



我有两个非常大的matlab数据集。在这两个数据集中,我们都有不同的参数。唯一常见的参数是时间戳表示每 10 分钟间隔测量所有参数的值。让我们举个例子,

在数据集 1 中,我有时间戳(YYYY-MM-DD,HH:MM :SS 格式)和幂在数据集 2 中,我再次拥有时间戳(以上述格式)和速度

我想要一个新的数据集,它具有时间戳同步的功能和速度。 例如:

       TimeStamp                         P           S
  2014 - 01 - 01 , 00 :10               100          5
                   00 :20                           7
                   00:30                150         10
                   00:40                200          
                   00:50                145         12
                   01:00                50          7
                   01:10                            6

等。。。。。。。。。。。。

简而言之,最终数据集的输出必须如下所示:

       TimeStamp                         P           S
        00 :10                          100          5
         00:30                          150         10    
         00:50                          145         12        

所以基本上,如果我同时获得功率和速度,那么它应该需要否则过滤器休息。

如果我们在两个数据集中都有不同大小的观察结果,它会起作用吗? 即使它们可能具有不同的观察大小,但我只希望最终数据库中的那些数据,其 P 和 S 与时间戳匹配,如果没有,那么我的最终数据库将排除这些集合

有人在 Matlab 的帮助下帮助我解决这个问题??? 提前致谢

你可以尝试这样的事情:

%type "help ismember" in command window to see what the function does
%finds index of timestamp in dataset1 that exists in dataset 2
indexPinS = ismember(dataset1(:,1),dataset2(:,1));
%finds index of timestamp in dataset2 that exists in dataset 1
indexSinP = ismember(dataset2(:,1),dataset1(:,1));
%combines data in final database
finalDatabase = [dataset1(indexPinS,1), dataset1(indexPinS,2), dataset2(indexSinP,2)];

最新更新