各行に重複しないイベントの開始時間とオフセット時間が含まれるという名前のMx2
マトリックスがあります。events
イベント時間なしで含まれるすべてのポイントに対して1に等しい連続サンプル信号を作成したいと思います。信号をサンプリングしたいタイムスタンプを知っています。
たとえば、2つの変数eventTimes
とts
:
eventTimes = ...
[1 3;
6 7;
9 10];
ts = 1:10;
結果のバイナリ信号は次のようになります
binarySignal = [1 1 1 0 0 1 1 0 1 1];
現在、無名関数とクロージャを使用してこの問題を解決していますが、非常に大きなデータセットでは時間がかかります。
tmpFun = @(x) (x>=eventsTimes(:,1) & x<eventTimes(:,2));
binarySignal = cell2mat( arrayfun(tmpFun, ts, 'UniformOutput', 0) );
binarySignal = sum(binarySignal);