I would like to speed up my code and avoid for loops. I want to extract smaller matrices which are placed along the diagonal of a bigger matrix and put those into an array. The code looks like this:
SC = zeros(m, n, n);for i = 1:m SC(i, 1:n, 1:n) = matrix(n*(i-1)+1:i*n, n*(i-1)+1:i*n);endSC = SC(:,:,:);
Do I have to include the for loop or is there a way to extract the matrix all at once?
Best Answer