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 件のコメント

Jon
Jon 2015 年 7 月 30 日
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 2015 年 7 月 30 日
編集済み: ak135AK 2015 年 7 月 30 日
this code works, but my implementations of vectorization do not... I am not sure, if it is even possible, is it?
Jon
Jon 2015 年 7 月 30 日
編集済み: Jon 2015 年 7 月 30 日
It doesn't seem possible to me, but one of the more experienced users here might be able to make it happen.
ak135AK
ak135AK 2015 年 7 月 30 日
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

サインインしてコメントする。

 採用された回答

Sean de Wolski
Sean de Wolski 2015 年 7 月 30 日

0 投票

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeLoops and Conditional Statements についてさらに検索

質問済み:

2015 年 7 月 30 日

編集済み:

Jon
2015 年 7 月 30 日

Community Treasure Hunt

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

Start Hunting!

Translated by