Multiple Values for one variable with for loop

Hey guys, I'm new to MATLAB so please be gentle. I'm trying to give x multiple values to assign multiple characters depending on a for loop. As you can see I need to store every value of the row vector (x) as a character; it only stores the last value (90)
x = [80 50 70 60 50 90];
for x = [80 50 70 60 50 90];
if x>=80
grade = 'D';
elseif (x>=60) && (x<80)
grade = 'M';
else
grade = 'P';
end
disp(grade)
grade
end

 Respuesta aceptada

Matt J
Matt J el 25 de Mzo. de 2021
Editada: Matt J el 25 de Mzo. de 2021
No need for a loop. Just use discretize().
Grades=["P" "M" "D"];
x = [80 50 70 60 50 90];
binNumber=discretize(x,[-inf,60,80,inf]),
binNumber = 1×6
3 1 2 2 1 3
grades=Grades(binNumber)
grades = 1×6 string array
"D" "P" "M" "M" "P" "D"

4 comentarios

Farhan Omoush
Farhan Omoush el 25 de Mzo. de 2021
I must use a loop as a part of an assignment
Matt J
Matt J el 25 de Mzo. de 2021
Editada: Matt J el 25 de Mzo. de 2021
Same kind of thing with a loop would be,
Grades=["P" "M" "D"];
x = [80 50 70 60 50 90];
N=numel(x);
grade=strings(1,N);
for i=1:N
binNumber=discretize(x(i),[-inf,60,80,inf]);
grade(i) = Grades(binNumber);
end
grade
grade = 1×6 string array
"D" "P" "M" "M" "P" "D"
Farhan Omoush
Farhan Omoush el 25 de Mzo. de 2021
Thank You, Appreciate it <3
Matt J
Matt J el 25 de Mzo. de 2021
You're welcome, but please Accept-click the answer to signify that it addressed your question.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

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

Productos

Versión

R2018a

Preguntada:

el 25 de Mzo. de 2021

Comentada:

el 25 de Mzo. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by