overwriting in a loop

9 vues (au cours des 30 derniers jours)
Sophia Vaccarella
Sophia Vaccarella le 1 Déc 2020
Commenté : Cris LaPierre le 1 Déc 2020
Hi guys,
I'm trying to workout a percentage for button errors using a loop. I have managed to do this but I can't figure out how to stop overwriting my previous loop. Its the last line i'm having trouble with and I'm not sure whether putting this into a matrix is the correct way of saving the percentage.
for i = 1:numel(fields);
for j = 1:numel(fieldsone);
count_rows = height (ButtonError.(fieldsone{j}));
rows = height (my_structure.(fields{i}));
percent = count_rows/rows*100;
percentageError {i}= [percent];
end
end
TIA

Réponse acceptée

Cris LaPierre
Cris LaPierre le 1 Déc 2020
Modifié(e) : Cris LaPierre le 1 Déc 2020
You have two for loops with loop counters i and j. You last line is using the outer counter, i. If you want to keep every value, you will need to use both indices. Try something like this
percentageError(i,j)= [percent];
  2 commentaires
Sophia Vaccarella
Sophia Vaccarella le 1 Déc 2020
Thank you! This works although I now have a matrix in which each row/column is repeated 8 times, I'm not sure if there is another way to avoid this but I think i'll just get rid of this after :)
Cris LaPierre
Cris LaPierre le 1 Déc 2020
If you are getting repeated values, that tells me you can probably get rid of one of your loops.

Connectez-vous pour commenter.

Plus de réponses (1)

Image Analyst
Image Analyst le 1 Déc 2020
Why not do
percentageError(i, j) = percent;
  1 commentaire
Sophia Vaccarella
Sophia Vaccarella le 1 Déc 2020
This worked the same as the above answer, thank you!

Connectez-vous pour commenter.

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by