Vectorization of double for loop

1 visualizzazione (ultimi 30 giorni)
ak135AK
ak135AK il 30 Lug 2015
Modificato: Jon il 30 Lug 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 Commenti
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.
ak135AK
ak135AK il 30 Lug 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

Accedi per commentare.

Risposta accettata

Sean de Wolski
Sean de Wolski il 30 Lug 2015
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 Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by