2015-08-19 1 views
0

Мой учитель дал мне задачу выразить звуковой файл (.wav) в полиномиальной форме в MATLAB (подгонка кривой).Как я могу получить полиномиальную форму .wav (аудио) файла в matlab

Я попытался с помощью 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

Точная ошибка? Это монофонический или стереофонический файл? Что означает 'size (a)' и 'size (x)' print? –

Смежные вопросы