В отрывке:
segment(n_start)=data(n_start:(n_start+ window_size-1));
Вы пытаетесь приписать вектор матрице 1x1.
Если segment
- это вектор, тогда segment(n_start)
- это его значение вместоположение n_start
, если n_start
в целом числе, то segment(n_start)
равно 1x1.
С другой стороны, n_start:(n_start+ window_size-1)
- это вектор, который простирается от n_start
и увеличивается один за другим до (n_start+ window_size-1)
. И это из-за того, как работает оператор :
. Поскольку window_size=256*3
, то это вектор длиной 767.
Когда вы вызываете data(n_start:(n_start+ window_size-1))
, вы запрашиваете все значения данных в индексах, содержащихся в векторе n_start:(n_start+ window_size-1)
.
Следовательно, в строке ошибки вы пытаетесь приписать вектор размером 767x1 матрице 1x1. вот почему это не работает.