Vectorization of double for loop

1 view (last 30 days)
ak135AK
ak135AK on 30 Jul 2015
Edited: Jon on 30 Jul 2015
I am vectorizing following code,doesnt seem to work. I will appreciate any help !
aux=1;
n = sqrt(max(size(u)));
cut = n / Nx;
u = reshape(u, n, n);
for i = 0 : Nx-1
for j = 0 : Nx-1
P{aux}{1} = u(1+ i*cut: (i+1)*cut,1+ j*cut: (j+1)*cut);
aux = aux +1;
end
end
  4 Comments
Jon
Jon on 30 Jul 2015
Edited: Jon on 30 Jul 2015
It doesn't seem possible to me, but one of the more experienced users here might be able to make it happen.
ak135AK
ak135AK on 30 Jul 2015
u is vector 1 x n2, then is gets reshaped and is cut into 4 partitions in middle, something like:
% omega 1 | omega 2
% ------------------
% omega 3 | omega 4
and each part is saved into P

Sign in to comment.

Accepted Answer

Sean de Wolski
Sean de Wolski on 30 Jul 2015
Just preallocating P will speed this up a lot
P = cell(Nx^2,1)
before the loop

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!