synchronize() 関数は、時系列の引数を 2 つしか取りません。2 つ以上の時系列を同期する必要がある場合の標準的な手順は何ですか? (時系列 1 と 2 の同期の出力の 1 つ) を時系列 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 つの時系列を同期して、1 日の終わりにすべての時刻データが同じになるようにする方法を誰かが提案できますか?
編集:
問題は、uniform_ts12_1、uniform_ts12_2、uniform_ts13_1、および length(uniform_ts13 の長さが同じではないことです。2 を 1 と同期しますが、3 が 2 の境界の外側 (またはかなり内側) にある場合、それらを小さい方に同期します。 1 と 2 の間の同期と同じ長さではなくなりました。