1
我有一個向量Ir,我試圖使用findpeaks函數來識別峯和谷。如何在Matlab中使用Findpeaks正確地繪製谷底
但是,當我繪製山谷我得到下面的圖像,我做錯了什麼?
這是我的代碼,我認爲我做錯了什麼,當我invertig數據集?
[ypk,yt] = findpeaks(Ir,'MinPeakProminence', 5);
ypk2=[]
yt2=[]
for w = 1:numel(ypk)
if ypk(w) >=0
ypk2 = [ypk2;ypk(w)]
yt2 = [yt2;yt(w)]
end
end
%upsidedownIr = max(Ir)-Ir
upsidedownIr = -Ir
[ypk3,yt3] = findpeaks(upsidedownIr,'MinPeakProminence', 2);
ypk4=[]
yt4=[]
for w = 1:numel(ypk3)
if ypk3(w) >=0
ypk4 = [ypk4;ypk3(w)]
yt4 = [yt4;yt3(w)]
end
end
figure(1), clf
plot(time,Ir,'k-')
hold on
plot(time(yt2),ypk2,'r*')
plot(time(yt4),ypk4,'g*')
那麼我可以看到的是,山谷的符號錯了,它應該是否定的,儘量-1 * ypk4如果我的假設是不錯誤 – Umar
謝謝,@Umar!你究竟在哪裏看到這些?我問,因爲我是新手,我不知道我應該在哪裏改變標誌。對不起,剛剛看到你的編輯! – Spica
完美@Umar!謝謝,請發表回覆,我可以接受! – Spica