How to vectorize 'for' loop in this code?

My code is like this...
c = 0;
for j = 3: 2 : size(READ,2)
c = c+1;
output(c) = .....
end
I want avoid 'c' and 'for loop' in my code but as you are seeing it is necessary to store the results of loop.
I want it to be like this
j = 3: 2 : size(READ,2)
output = ....
But in this case all the outputs are not stored. I want this thing to make my code faster.

2 件のコメント

Jan
Jan 2018 年 11 月 22 日
編集済み: Jan 2018 年 11 月 22 日
There is no benefit in vectorizing in general. Depending on what is hidden in ".....", a vectorized version can be slower or impossible to create. So please post this very important detail.
Using the index c is nice and efficient, if you pre-allocate the array output.
Mr. 206
Mr. 206 2018 年 11 月 22 日
Thanks.
I thought vectoring will make my code faster.

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

回答 (1 件)

madhan ravi
madhan ravi 2018 年 11 月 22 日

0 投票

You can preallocate output before the loop but to store the output your first way is the only way.

1 件のコメント

Mr. 206
Mr. 206 2018 年 11 月 22 日
編集済み: madhan ravi 2018 年 11 月 22 日
Thanks.
I will do so .

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

カテゴリ

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

タグ

質問済み:

2018 年 11 月 22 日

編集済み:

2018 年 11 月 22 日

Community Treasure Hunt

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

Start Hunting!

Translated by