Nです.

普段解析で取り扱うデータは99.9%ぐらいは離散データだと思います.その時に,ある時刻のデータがほしいと思っても,サンプリング間隔の関係でちょうどその時間のデータがないことはよくあります.

そこで今回は欲しい時間に一番近いインデックスを取り出す方法を紹介します.また,時間でなくて計測値に対しても同じようなことはできます.

MATLABを例に出しますが他言語でも同じようにできると思います.

手順は以下のような感じです.

1. 差の絶対値をとる.

2. 最小値を探す.

この2ステップです.具体的には以下のようになります.

% 一番近い時間のインデックスの取得
time_wanted = 5.04;% 
sf = 10e-2; % sampling frequency
time = 0:sf:10;
[~,idx]=min(abs(time-time_wanted));

% 確認
time(idx);
% 例えばその時間の計測値がほしいときには
% data(idx); % みたいな使い方もできます.

もし,何かの役に立てば幸いです.

カテゴリー: MATLAB

N

博士後期課程学生 研究中に気づいた事を中心に記事を作成していきます.研究内容は主にヒト運動計測と脳波解析.

0件のコメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA