関数sequence_get_interpolate_value マニュアル

(The documentation of function sequence_get_interpolate_value)

Last Update: 2021/12/7


◆機能・用途(Purpose)

時系列データの特定の1つの時刻における補間値を計算する。
Calculate the interpolated value of a time series data at a given time.


◆形式(Format)

#include <sequence/interpolate.h>
inline double sequence_get_interpolate_value
(struct sequence seq,const double t,const char ∗method)


◆引数(Arguments)

seq 時系列データ。
A time series data.
t 補間値を求めたい時刻\(t\)。
The time \(t\) at which the interpolated value is needed.
method 補間方法。以下のものを指定できる。
The method of the interpolation. Choose from below.

  • "linear" \(t\)を挟む両側の最寄りのサンプル時刻でのデータを用いた線形補間。
    A linear interpolation of the data at the closest sample times to the both sides of \(t\).


◆戻り値(Return value)

時刻\(t\)における補間値。
The interpolated value at time \(t\).


◆使用例(Example)

struct sequence seq;
value=sequence_get_interpolate_value(seq,1.23,"linear");


◆計算式(Formula)

1. method="linear"の場合 (In case of method="linear")

時刻\(t\)よりも前の最後のサンプルの時刻を\(t_1\)、 時刻\(t\)よりも後の最初のサンプルの時刻を\(t_2\)、 引数seqが表す時系列データを\(f\)として \[\begin{equation} f(t)=\frac{(t_2-t)f(t_1)+(t-t_1)f(t_2)}{t_2-t_1} \label{eq.linear} \end{equation}\] により計算する。 但し、時刻\(t\)がサンプル時刻の場合はその時刻での値をそのまま用いる。
Eq. (1) is used to calculate the interpolated value at time \(t\), where \(t_1\) and \(t_2\) are the times of data samples immediately before and after \(t\), and the function \(f\) is the time series represented by argument seq. If \(t\) is a data sample point, the value at this time is directly used.