2017-07-18 15 views
0

私はmatlabの配列のデータを持っています。私はピークを見つけたいと思っていますが、下記の問題に直面しています。フラット領域のmatlabのピークを見つける

ピークを生成し、それらをプロットするために、私は次のコードを使用:

gyryMF = medfilt1(gyry, 3); 
[pks, gyryPeaks] = findpeaks(gyryMF); 
%% 
plot(gyryMF); 
text(gyryPeaks+.02,pks,num2str((1:numel(pks))')); 

Picture

をあなたが写真からわかるように平坦な領域があるので、いくつかのピークが、見つかりません。どういうわけか私はそれらを見つけて含めてもいいのだろうか?

+0

どのピークを参照していますか?約1.934の塊はピークではありませんが、派生がゼロのポイントかもしれません。 'find(abs(diff(gyryMF))<0.1))'に基づいてアプローチを試してみてください。 – Zep

答えて

0

独自の基準で独自のピーク機能を書き込むのはどうですか? peak_no = []

ind_peak_no = []

場合、データ(X)<データ(X + 1)& &データ(X + 1)>データ(X + 2)& &データ

(x + 1)> Peak_min
peak_no = [peak_no; Data(x + 1)];
ind_peak_no = [ind_peak_no; x + 1]。
end

関連する問題