2016-10-01 9 views
0

AIM: Matlabの2つのプロットのアニメーションを同期させる必要があります。matlabで正のカレンダーを見つける

問題: 2つのプロットのデータは、さまざまなサンプルレートで取得されています。

解決法: デュレーションオブジェクトの2つのデータセットのタイムスタンプを(ストリーミングの開始から)変換しました。 2つのデータセットをforループにプロットする必要があります。 各ループについて、経過時間内にあるデータセットのサンプルを表示する必要があります。

質問: 特定のサンプルの期間が既に発生しているかどうかを確認するにはどうすればよいですか?

コード例: ここでは、ランダムな持続時間(d1)とランダムな経過時間(et)をシミュレートしてソートします。どの期間が経過したかを知りたい

% simulate elapsed time 
et = calendarDuration(round(rand(1,6)*10)); 

% simulate data for plot 1 
data_for_plot1 = rand(10,1); 

% simulate durations for the samples in plot1 
d1 = calendarDuration(sortrows(round(rand(10,6)*10))); 

% find index of durations which are before the elapsed time 
is_past = (d1-et)>0; 

% plot the data 
plot(data_for_plot1(is_past)) 

`

`

型 'calendarDuration' の入力引数に対してエラーメッセージ

is_past = (d1-et)>0;

未定義の演算子 '>'。

代替ソリューション: 時間と日付のオブジェクトで初めてのことです。そのすべてのビットを嫌っています。あなたが他の解決策を持っているなら、私はそれらを聞いてみたいと思います。data1のタイムスタンプが文字列( 'yyyy-MM-dd HH:mm:ss.SSS')であり、data2のタイムスタンプがdouble(例:42.525,42秒、525ミリ秒)であることに注意してください。

あなたは、この目的のためにsplit機能を使用することができ、あなたの助け

答えて

0

いただきありがとうございます。

代わりis_past = (d1-et)>0;

+0

の使用is_past = split((d1-et),'time')> 0;はあなたに感謝します。これで解決します。 –

関連する問題