2016-05-12 7 views
1

私はdistance=function1(Device)のコマンドの後にリアルタイムでオブジェクトの距離に関する情報をMatlabに与えることができる3Dカメラを持っています(ここでは重要ではないので、この機能は省略しています)。Matlabはシステム時間をX軸の値として使用できますか?

時間が変わったときにオブジェクトが動いていることを示すプログラムを作りたいと思います。

私はすでに使用に成功している:

t1=clock; 

while......(in a loop) 
    distance(i)=step(Device); 
    t2=clock; 
    times(i)=etime(t2,t1); 
    plot(times,distance); 
end 

をオブジェクトの移動を表示します。ただし、この図のX軸は比較時間です。つまり、x軸は0秒で始まり、(t2-t1)秒で終わります。

ここで、X軸を絶対時間またはCPU時間に変更する方法を見つけようとします。次の画像のよう :

enter image description here

Iは、(赤色フォントで)絶対システム時間(黒のフォントで)比較時間を変更したいです。

私は 'datetick'を試しましたが、正しく動作しませんでしたか? これを行う方法はありますか?

答えて

2

以下は、クロックから文字列を作成し、距離をプロットし、各繰り返しのテキスト文字列に基づいてラベルを変更しようとします。 MATLABで簡単なインスタンスをテストしました。

while ... (in a loop) 
    distance(i)=step(Device); 
    t2=clock; 
    tint = int8(t2(4:6))) 
    stamp{i} = strcat(int2str(tint(1)),':',int2str(tint(2)),':',int2str(tint(3))) 
    plot(distance) 
    set(gca,'XTick',1:i,'XTickLabel',stamp) 
end 

限りAMとPMを表示するために取得など、よく、あなたはいくつかの余分な魔術を行う必要があるでしょうが、それはクロック値に基づいて、可能なはずです。次に、AMまたはPMをstamp{i}割り当てに追加します。

ヒント、t2(4) > 12あなたがPMを見ている場合。その他、AM。

これには1つの制限があります。反復回数が多いほど、X軸がより混雑します。

関連する問題