for q = [25,50,100,250,500,5000]
ActualTable(:,q)=ActualValues;
end
Это говорит о том, что MATLAB должен выполнить цикл по q
, где q
имеет шесть возможных значений.Если q=25
, внутренний вызов сохранит ActualValues
в столбце q
, который, как только что сказано, 25. Поэтому, конечно, используя этот массив q
, вы получите N
-by- 5000
матрица, поскольку последний столбец, в котором вы пытаетесь что-то сохранить, равен 5000, а MATLAB не делает швейцарский сыр в матрицах.
Вместо этого циклически монотонно увеличивайте индекс:
for ii = 1:numel(q)
ActualTable(ii,:) = ActualValues(q(ii),:); % You said rows, let's use rows then
end
Таким образом, у вас есть всего 6 строк, начиная с numel(q)=6
, и вы получаете данные на основе ii
-го значения q
из ActualValues
.