Effacer les filtres
Effacer les filtres

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

2 vues (au cours des 30 derniers jours)
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?

Réponse acceptée

Walter Roberson
Walter Roberson le 13 Mar 2013
cash = struct('PaidOut', zeros(n,500), 'PaidIn', zero(n,500), 'TaxesPaid', zeros(n,500));
See also structfun()

Plus de réponses (1)

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

Connectez-vous pour commenter.

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by