関数merge_sequence_multi マニュアル

(The documentation of function merge_sequence_multi)

Last Update: 2023/6/12


◆機能・用途(Purpose)

時間窓が連続する複数の時系列データを1つの時系列データにまとめる。
Merge multiple time series data with consecutive time windows to a single time series data.


◆形式(Format)

#include <sequence/operation.h>
inline struct sequence merge_sequence_multi(const int number,...)


◆引数(Arguments)

number マージする時系列データの個数。
The number of time series data to be merged.
... マージする時系列データのリスト。全てstruct sequence型とする。 全ての時系列データの時間刻みが等しく、 前の時系列データの最終サンプル時刻の1サンプル後が 次の時系列データの先頭サンプル時刻でなければならない。 すなわち、\(i\)番目の時系列データが時刻\(t=t_i+k\Delta t\) (\(k=0,1,2,\cdots,N_i-1\))で定義されている場合、 この\(\Delta t\)は全ての\(i\)について共通 かつ\(t_i+N_i\Delta t=t_{i+1}\)でなければならない。
The list of the time series data to be merged, all of which must be struct sequence-type. The sampling intervals of all time series data must be same, and the one sample after the final sample time of a previous time series data must be equal to the first sample time of the next time series data. That is, if \(i\)th time series data is defined at time samples \(t=t_i+k\Delta t\) (\(k=0,1,2,\cdots,N_i-1\)), then this \(\Delta t\) must be same for all \(i\) and \(t_i+N_i\Delta t=t_{i+1}\) must hold.


◆戻り値(Return value)

可変個引数(...)で与えた時系列データをマージした時系列データ。 戻り値のメンバの値は以下のようになる。 ここで、\(i\)番目の入力時系列データ(\(i=0,1,2,\cdots\))は 時刻\(t=t_i+k\Delta t\)(\(k=0,1,2,\cdots,N_i-1\))で定義されており、 その値は\(u_i(t_i+k\Delta t)\)であるものとする。
A time series data composed of seq1 followed by seq2. The values of members of the return value are as below. Here, the \(i\)th input time series data (\(i=0,1,2,\cdots\)) are assumed to be defined at time samples \(t=t_i+k\Delta t\) (\(k=0,1,2,\cdots,N_i-1\)) and the sample values are assumed to be \(u_i(t_i+k\Delta t)\).

戻り値のメンバ
Member of the return value

Value
size \(\sum_i N_i\)
t0 \(t_0\)
dt \(\Delta t\)
各\(k\in \left[\sum_{j=0}^{i-1} N_j, \sum_{j=0}^i N_j\right)\) に対するvalue[k]
value[k] for each \(k\in \left[\sum_{j=0}^{i-1} N_j, \sum_{j=0}^i N_j\right)\)
\(u_i\left(t_i+\left(k-\sum_{j=0}^{i-1} N_j\right)\Delta t\right)\)


◆使用例(Example)

struct sequence data1=read_sequence_file("data_day1.seq1");
struct sequence data2=read_sequence_file("data_day2.seq1");
struct sequence data3=read_sequence_file("data_day3.seq1");
struct sequence merged=merge_sequence_multi(3,data1,data2,data3);