How to replace an element in an struct array

Hi,
I have a problem about replacing an element in the array with a new one.
Could you please take a look and tell me what i'm doing wrong?
breedpop =
1x100 struct array with fields:
sched
harvvol
npv
penalty
fitness
% every array has 10 element in it.
I tried to replace one of the element in the breedpop.penalty array(doesnt matter index of the element) this way
breedpop(i).penalty = newgeneration(i).penalty;
It works if i run once but when i run it more than 100(number of iteration) bredpop.penalty becomes more than 10 element.
How can I do it?

1 commentaire

Walter Roberson
Walter Roberson le 21 Août 2013
We would need to see more about how you create newgeneration(i).penalty

Connectez-vous pour commenter.

 Réponse acceptée

Azzi Abdelmalek
Azzi Abdelmalek le 21 Août 2013
Modifié(e) : Azzi Abdelmalek le 21 Août 2013
Because newgeneration(i).penalty when i >100 contains more then 10 elements
If you want to take the first 10 elements
breedpop(i).penalty(1:10) = newgeneration(i).penalty(1:10);

2 commentaires

I wanna replace one from the list(newpopulation.penalty) to old list (breedpop.penalty)
breedpop(i).penalty = newgeneration(i).penalty(end)
however it didn't work
I solve it. thank you
breedpop(n).penalty = newpopulation(i).penalty(end)
n is the last one of the list (number of the elements)

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by