Доброго времени суток!
Хочу создать в Matlab'е и обучить нейросеть (нелинейную, авторегрессионную).
Предполагается работа с аудиофайлами (WAV, 24 бита). Сеть должна научиться на паре файлов: файл исходного сигнала и файл исходного сигнала, обработанный нелинейной функцией. После настройки сеть будет использована для аппроксимации.
Собственно, проблема, с которой столкнулся. Загружаем данные из файлов:
Код:
dataIn = wavread('D:\calcData\dataIn.wav');
dataOut = wavread('D:\calcData\dataOut.wav');
Получаем две переменные типа матрица double одинаковой размерности:
720300x1.
Далее выполняем операции:
Код:
d1 = [1:2];
d2 = [1:2];
narx_net = narxnet(d1,d2,10);
narx_net.divideFcn = '';
narx_net.trainParam.min_grad = 1e-10;
[p,Pi,Ai,t] = preparets(narx_net,dataIn,{},dataOut);
Получаем ошибку выхода за границы размерности:
Код:
??? Index exceeds matrix dimensions.
Error in ==> preparets at 269
xi = xx(:,FBS+((1-net.numInputDelays):0));
Чем вызвана эта ошибка и как можно преобразовать переменные с данными, чтобы избежать ошибки?