Why is pre-allocating done?

1 回表示 (過去 30 日間)
S Priya
S Priya 2021 年 6 月 30 日
コメント済み: S Priya 2021 年 6 月 30 日
In a program why is pre-allocating done?for example using arrays of zeros
ex- A=zeros(3)

採用された回答

Yongjian Feng
Yongjian Feng 2021 年 6 月 30 日
Hello Priya,
This is more like setting default values. Just in case, they are not set in some code paths, the default values will be there.
Thanks,
Yongjian

その他の回答 (1 件)

Steven Lord
Steven Lord 2021 年 6 月 30 日
See this documentation page for a brief discussion of why one may want to preallocate an array.
Imagine you were building a home. Which would be preferable?
  1. Buy a lot large enough to build the entire home.
  2. Build the bathroom.
  3. Build the bedroom.
  4. Build the kitchen.
  5. etc.
or
  1. Buy a lot large enough to build the bathroom.
  2. Build the bathroom.
  3. Buy a new lot large enough to hold the bathroom and a bedroom.
  4. Move the bathroom to the new lot.
  5. Build the bedroom.
  6. Buy a new lot large enough to hold the bathroom, a bedroom, and a kitchen.
  7. Move the bathroom and the bedroom to the new lot.
  8. Build the kitchen.
  9. etc.
Moving a building is hard. Ideally you don't do it, or you do it as few times as you can.
  1 件のコメント
S Priya
S Priya 2021 年 6 月 30 日
Thank you @Steven Lord

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

カテゴリ

Help Center および File ExchangePerformance and Memory についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by