我的老师给我的任务是在MATLAB(曲线拟合)中以多项式形式表示声音文件(.wav)。

我尝试像这样使用polyfit():-

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

但我得到错误



请帮我。

a的大小不是239915,而是x的原因,我们为行空间提取了许多样本,顺便说一下,为什么我们为polyfit()需要x。

谢谢高级

最佳答案

试试这个

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

请注意,我转置了linspace输出,因为它返回行 vector ,而wavread返回列 vector ,这就是为什么收到错误消息的原因。

09-25 19:11