2015-08-19 45 views
0

我的老師給了我一個在MATLAB(曲線擬合)中以多項式形式表達聲音文件(.wav)的任務。我如何獲得matlab中.wav(音頻)文件的多項式形式

我嘗試使用polyfit()這樣的: -

a=wavread('filename'); 
x=linspace(0,1,239915); 
p=polyfit(x,a,4); 
display(p); 

,但我得到錯誤的

X和Y載體必須是相同的大小

請幫助我。

a的大小不是239915,這是爲x我們已經採取了這些許多樣本,爲了行空間,順便說一下,爲什麼我們需要x爲polyfit()。

謝謝你在先進

+1

什麼是'm'? a的大小是多少?我假設'a'的長度不是'239915'。 – hbaderts

+0

對不起,這是我寫錯誤的錯誤,而應該是P,所以我修改了問題,請現在幫助我,謝謝 –

回答

0

試試這個

a = wavread('filename') 
x = linspace(0, 1, numel(a))'; 
p = polyfit(x,a,4); 
display(p) 

注意,我轉linspace輸出返回,其中wavread返回一個列向量,這就是爲什麼你的錯誤消息的行向量。

+0

謝謝,爲此,我根據您的建議進行了修改,但仍然無法正常顯示錯誤,所以任何其他方式在那裏。 –

+1

同樣的確切錯誤?它是單聲道還是立體聲波形文件? 「尺寸(a)」和「尺寸(x)」是什麼? –

相關問題