У меня есть большой вектор, содержащий целые числа (длина: 230 400, int8), которые я переставляю в трехмерную матрицу (строки: 240, столбцы: 320, глубина: 3).Когда это будет сделано, новая матрица будет содержать двойные числа вместо целых (в соответствии с рабочей областью Matlab).
Вся операция занимает 0,3 секунды, что слишком долго для моих целей.
Конвертирует ли Matlabчисло в массиве удваивается, прежде чем положить их в матрицу?Можно ли этого избежать, чтобы ускорить процесс?
Код:
tic;
A=zeros(240,320,3);
%A is matrix, B is vector.
for i=1:240
for j=1:320
A(i,j,:)=B(1+(j-1)*3+(i-1)*320*3:3+(j-1)*3+(i-1)*320*3);
end
end
toc;
Спасибо!