Matlab 同步多个时间序列

Matlab 同步多个时间序列,matlab,time-series,Matlab,Time Series,函数的synchronize()只接受2个timeseries参数。如果需要同步2个以上的timeseries,标准的过程是什么?我尝试将(同步timeseries 1和2的一个输出)与timeseries 3同步,但结果没有同步(例如,相同的长度)(如下所示),因为它只是与时间数据的范围有关: % Create data set 1 t1 = rand(10,1); data1=rand(10,1); ts1=timeseries(data1,t1); % Create data set 2

函数的synchronize()只接受2个timeseries参数。如果需要同步2个以上的timeseries,标准的过程是什么?我尝试将(同步timeseries 1和2的一个输出)与timeseries 3同步,但结果没有同步(例如,相同的长度)(如下所示),因为它只是与时间数据的范围有关:

% Create data set 1
t1 = rand(10,1);
data1=rand(10,1);
ts1=timeseries(data1,t1);

% Create data set 2
t2 = rand(8,1);
data2=rand(length(t2), 1);
ts2=timeseries(data2,t2);

% Create data set 3
t3 = rand(5,1);
data3=rand(length(t3), 1);
ts3=timeseries(data3,t3);

% Sync 1 and 2
[uniform_ts12_1 uniform_ts12_2] = synchronize(ts1,ts2,'Uniform','Interval',.1);

% Sync 3 to one of the results of the (sync of 1 and 2)
[uniform_ts13_1 uniform_ts13_3] = synchronize(uniform_ts12_1,ts3,'Uniform','Interval',.1);

disp('New sizes:')
length(uniform_ts12_1.Data)
length(uniform_ts12_2.Data)
length(uniform_ts13_1.Data)
length(uniform_ts13_3.Data)
有人能建议如何同步3个时间序列,以便它们在一天结束时都有相同的时间数据吗

编辑:


问题是,uniform_ts12_1、uniform_ts12_2、uniform_ts13_1和length(uniform_ts13)的长度不同。它将2与1同步,但如果3在2的边界之外(或很好地在里面),则将它们与较小的(3)同步,它现在与1和2之间的同步长度不同。

您需要同步所有可能的对,每次都使用同步的时间序列。我认为如果您继续修改时间序列,您将同步到位,这样您就不必跟踪要传递的值。只需保留3个时间序列即可在修改每个时间序列时,您只需将它们全部排列,以便所有时间序列对都已同步在一起:

>> [ts1 ts2] = synchronize(ts1, ts2, 'Union');
>> [ts1 ts3] = synchronize(ts1, ts3, 'Union');
>> [ts2 ts3] = synchronize(ts2, ts3, 'Union');
>> all(ts1.Time == ts2.Time)

ans =

     1

>> all(ts1.Time == ts3.Time)

ans =

 1

>> 

希望这会有所帮助!

您需要同步所有可能的对,每次都使用同步的时间序列。我认为如果您继续修改时间序列,您将同步到位,这样您就不必跟踪要传递的值。只需保留3个时间序列,并在每个时间序列被修改时将其保存只需将它们全部排列,以便所有时间序列对都已同步在一起:

>> [ts1 ts2] = synchronize(ts1, ts2, 'Union');
>> [ts1 ts3] = synchronize(ts1, ts3, 'Union');
>> [ts2 ts3] = synchronize(ts2, ts3, 'Union');
>> all(ts1.Time == ts2.Time)

ans =

     1

>> all(ts1.Time == ts3.Time)

ans =

 1

>> 

希望这有帮助!

您当前的方法以何种方式失败?uniform_ts12_1、uniform_ts12_2、uniform_ts13_1的长度和长度(uniform_ts13不一样。它将2与1同步,但如果3在2的边界之外(或很好地在边界之内),它将它们与较小的(3)同步,它现在与1和2之间的同步长度不同。您当前的方法以何种方式失败?uniform_ts12_1、uniform_ts12_2、uniform_ts13_1的长度和长度(uniform_ts13不相同。它将2与1同步,但如果3在2的边界之外(或很好地在边界之内),则将它们与较小的(3)同步,它现在与1和2之间的同步长度不同。