我試圖找到我的.wav文件的峯值,並有使用findpeaks方法MATLAB - 如何找到峯WAV文件
a = audioread('FilterNew.wav');
[pks,locs] = findpeaks(a)
但是當我運行該腳本,它給了我3錯誤
使用findpeaks的錯誤 預期的Y是一個向量。
錯誤findpeaks> parse_inputs(線189) validateattributes(陰,{ '數字'},{ '非空', '真實', '載體'},...
錯誤findpeaks(線131) [Y,yIsRow,X,xIsRow,胡志明MINP,minW,maxW,心,薄荷,MaxN中,sortDir,註釋,refW] ...
我試着用搜索引擎,但我沒有找到任何答案,所以我希望在這裏得到一些幫助。代碼有什麼問題?或者說,我的.wav文件已損壞?!??
謝謝
感謝mathematician1975管理繪製圖。
現在,我想要繪製的峯值圖形和標記爲左,右兩個峯butit使用情節 載體必須是相同的長度
於是我查了是給我 錯誤的錯誤大小
>> size(a(1,:))
ans =
1 2
>> size(a(:,2))
ans =
467712 1
我的代碼
a = audioread('FilterNew.wav');
[pks,locs] = findpeaks(a(:,1));
[pks2,locs2] = findpeaks(a(:,2));
figure
x = (1:length(a));
plot(x,a,'k');
figure
z = (1:length(a));
plot(z,a,'k');
hold on
plot(locs,pks,'go');
hold on
plot(locs2,pks2,'ro');
我該如何解決?再一次感謝你!
謝謝。有用。我在更新後的問題 – user1730935
@ user1730935中遇到了另一個問題,通常您應該提出一個新問題,而不是更新原始問題。你的劇情代碼的問題是你犯了一個大小錯誤。如果你輸入大小(a),你會得到467712行和2列。什麼是p? – willpower2727
對不起,我犯了一個錯字。它應該是pks和pks2。現在它沒有矢量長度錯誤。但是現在我想要做的是繪製左右圖並分別找出峯值。之後,標記他們。但似乎我做錯了。參考問題的圖片。謝謝 – user1730935