2016-05-12 76 views
1

我有一個3D攝像頭,可以在命令distance=function1(Device)(我忽略了此功能,因爲這裏不重要)實時提供有關物體距離的Matlab信息。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

我想改變比較時間(黑色字體)絕對系統時間(用紅色字體)。

我嘗試'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。

這樣做的一個限制是你做的迭代次數越多,你的X軸將變得越擁擠。

相關問題