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

 Respuesta aceptada

Cris LaPierre
Cris LaPierre el 1 de Dic. de 2020
Editada: Cris LaPierre el 1 de Dic. de 2020

0 votos

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 comentarios

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

Iniciar sesión para comentar.

Más respuestas (1)

Image Analyst
Image Analyst el 1 de Dic. de 2020

0 votos

Why not do
percentageError(i, j) = percent;

1 comentario

Sophia Vaccarella
Sophia Vaccarella el 1 de Dic. de 2020
This worked the same as the above answer, thank you!

Iniciar sesión para comentar.

Categorías

Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.

Preguntada:

el 1 de Dic. de 2020

Comentada:

el 1 de Dic. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by