Vectorization of double for loop

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

What do you mean "doesn't seem to work?" Please be specific, and if you can provide an example, it would really help.
ak135AK
ak135AK on 30 Jul 2015
Edited: ak135AK on 30 Jul 2015
this code works, but my implementations of vectorization do not... I am not sure, if it is even possible, is it?
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.
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

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

Asked:

on 30 Jul 2015

Edited:

Jon
on 30 Jul 2015

Community Treasure Hunt

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

Start Hunting!