2012-08-25 109 views
1

我對matlab非常陌生,需要一些幫助才能找到正確的語法來完成簡單的數據圖形任務。我有一個腳本可以分析一個波形並保存一個叫做特徵的六點向量(它的值是< 3791x6 double>)。我需要通過第五個數據空間中的值,記錄它們是否超過某個閾值,然後繪製結果圖(時間對比上/下閾值)。Matlab基本數據圖形

這裏是基本的僞代碼。什麼是正確的Matlab語法?

create a time vs. boolean vector 'threshold' 
fifth column of 'features' equals new vector 'data' 
for each value in 'data' 
    if (data[index] > threshold value) threshold[index] = true 
    else threshold[index] = false 
graph(threshold) 

回答

1

的循環,如果條件相反,嘗試:

data=features(:,5);

plot(data(data>threshold));

+0

OP不想僅繪製高於閾值的那些值 - 他們想要繪製兩者的圖形,但是要標識哪些高於或低於哪個值。另外它需要隨時間繪製。 – Ansari

+0

對不起,你是正確的我的意思是情節(數據>閾值)。正如你也寫道,這將產生一個長度(數據)的矢量,其中1爲真,0爲假。 – bla

+0

比我想象的要優雅得多 – Cbas

1

嘗試是這樣的:

vtime = 1:length(features(:, 5)); 
plot(vtime, features(:, 5) > threshold, '.'); 

變化vtime是你的時間向量如果這是不同的。