Я пытаюсь создать массив с числом столбцов, равным выбранному размеру бункера. Я хочу, чтобы каждая строка в массиве использовала значения в t
в последовательности. Например, t
идет от -4 до 4 с интервалом 0,01 секунды. Если ширина бункера равна 6, я бы хотел, чтобы строка 1 была [-4 -3.99 -3.98 -3.97 -3.96 -3.95]
, а затем строка 2 была бы [-3.99 -3.98 -3.97 -3.96 -3.95 -3.94]
... и это повторяется до последней строки в момент времени = 4 секунды. Я получил код, начинающий работать, но я только делаю его для строки 364, прежде чем я получу ошибку несоответствия присваивания индексов. Может ли кто-нибудь помочь мне выяснить эту ошибку?Создание увеличивающих ящиков в Matlab
bin_width = 6;
time_interval = 0.01;
t = -4:time_interval:4;
bin_number = bin_width/2;
t_bin = zeros(length(t),bin_width);
for n = 1:length(t)-bin_width
t_bin(n,:) = [t(n):time_interval: t(n+bin_width-1)];
bin_number = bin_number+1;
n = n+1;
end
Ошибка я получаю
индексируется Несоответствие размера назначения.
Ошибка Без названия (строка 15)
t_bin(n,:) = [t(n):time_interval: t(n+bin_width-1)];
вы хотите последний ряд, чтобы начать или закончить с 4, то есть '[4, 4,01, ...]' или '[... 3,99, 4]' ли? – zeeMonkeez
Для 'n = 364' (а не' 394' ??) каково значение '[t (n): time_interval: t (n + bin_width-1)]'? – Dan