2014-01-16 28 views
0

我試圖找到使用findpeaks()功能和數據集的局部最大值到目前爲止,我有這樣的代碼:(簡單嗎?)的錯誤與findpeaks如果循環

[pks, locs] = findpeaks(signal); 
max_times = zeros(size(locs)); 

if n = 1:size(locs); 
max_times(n) = (times(locs(n))); 
end 

我是什麼試圖做什麼?那麼我有一套信號數據和相應的時間。我想獲得局部最大值並輸出兩個向量;最大信號值和它們發生的時間。

我該怎麼做?我使用findpeaks函數來查找最大值的峯值(pks)和位置(loc)。然後我設立一個空白陣列相同的長度的初始位置向量,然後使用與倍如果循環以填充空max_times(n)的矢量,所述最大值發生

的問題?我不斷收到有關我的if循環的錯誤Expression or statement is incomplete or incorrect.。我不明白這是什麼意思/我該如何解決這個問題/編輯我的代碼,讓它做我想做的事情?

感謝您的幫助!

回答

0

你在想什麼是完全錯誤的。

If是不是循環的條件語句
你想要的這裏是for循環

for n = 1:size(locs) 
    % your code 
end 

times需要兩個參數,你應該自己弄清楚它應該是什麼