2
私は、Matlabで作成されたパワースペクトル密度プロットで最大ピークを見つけようとしています。私はプロットを作成することはできますが、正しく表示するのは難しいです。 find peaksとmax関数を使って見つけることができますが、Matlabはそれを正しくマークできません。それは正しい高さを見つけますが、それを左または右に少しマークします。コードは次のとおりです。Matlabを使用してパワースペクトル解析プロットの最大ピークを検出してマークしますか?
data = load ('EEGData(test1).txt', '-ascii');
figure(1)
plot(data)
Y =fft(data,251);
Pyy = Y.*conj(Y)/251;
f = 1000/251*(0:127);
figure(2)
plot(f,Pyy(1:128))
title('Power spectral density')
xlabel('Frequency (Hz)')
[a,b] = findpeaks(Pyy(1:128));
MAX = max(a);
hold on
plot(f(b), MAX,'or')
ご協力いただければ幸いです。
data=randn(251,1);
でデータを交換することであると私はあなたのコードをテストしたとき
これはまさに私がやろうとしていたものでした。本当にありがとう! – user1359861
偉大な、その後、受け入れボタンを押してください。 – learnvst