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 Commenti

Jon
Jon il 30 Lug 2015
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 il 30 Lug 2015
Modificato: ak135AK il 30 Lug 2015
this code works, but my implementations of vectorization do not... I am not sure, if it is even possible, is it?
Jon
Jon il 30 Lug 2015
Modificato: Jon il 30 Lug 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

Accedi per commentare.

 Risposta accettata

Just preallocating P will speed this up a lot
P = cell(Nx^2,1)
before the loop

Più risposte (0)

Categorie

Scopri di più su Loops and Conditional Statements in Centro assistenza e File Exchange

Richiesto:

il 30 Lug 2015

Modificato:

Jon
il 30 Lug 2015

Community Treasure Hunt

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

Start Hunting!

Translated by