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

 Réponse acceptée

Matt J
Matt J le 25 Mar 2021
Modifié(e) : Matt J le 25 Mar 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 commentaires

I must use a loop as a part of an assignment
Matt J
Matt J le 25 Mar 2021
Modifié(e) : Matt J le 25 Mar 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"
Thank You, Appreciate it <3
Matt J
Matt J le 25 Mar 2021
You're welcome, but please Accept-click the answer to signify that it addressed your question.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange

Produits

Version

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by