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

 Risposta accettata

Cris LaPierre
Cris LaPierre il 1 Dic 2020
Modificato: Cris LaPierre il 1 Dic 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 Commenti

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 il 1 Dic 2020
If you are getting repeated values, that tells me you can probably get rid of one of your loops.

Accedi per commentare.

Più risposte (1)

Image Analyst
Image Analyst il 1 Dic 2020
Why not do
percentageError(i, j) = percent;

1 Commento

This worked the same as the above answer, thank you!

Accedi per commentare.

Categorie

Scopri di più su Loops and Conditional Statements in Centro assistenza e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by