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

 Accepted Answer

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 Comments

I must use a loop as a part of an assignment
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
You're welcome, but please Accept-click the answer to signify that it addressed your question.

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products

Release

R2018a

Asked:

on 25 Mar 2021

Commented:

on 25 Mar 2021

Community Treasure Hunt

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

Start Hunting!