Is there a good way to avoid junking up code with lots of preallocation lines?

1 回表示 (過去 30 日間)
I have a specific set of code that has a lot of little projection pieces, each of which I'd like to be preallocated for speed. However, in doing so, you get a lot of lines like this:
...
cash.PaidOut=zeros(n,500);
cash.PaidIn=zeros(n,500);
cash.TaxesPaid=zeros(n,500);
...
Is there a way to get the same functionality in a more terse style?

採用された回答

Walter Roberson
Walter Roberson 2013 年 3 月 13 日
cash = struct('PaidOut', zeros(n,500), 'PaidIn', zero(n,500), 'TaxesPaid', zeros(n,500));
See also structfun()

その他の回答 (1 件)

Shaun VanWeelden
Shaun VanWeelden 2013 年 3 月 13 日
You can assign the same value to multiple fields if you want, which I think would help in this case.
  3 件のコメント
Walter Roberson
Walter Roberson 2013 年 3 月 13 日
Beware, though, the copy-on-write behavior.
Michael
Michael 2013 年 3 月 13 日
Could you give an example of the syntax? a=b=25 doesn't seem to work.

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

カテゴリ

Help Center および File ExchangeNumeric Solvers についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by