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

 采纳的回答

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 个评论

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.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Loops and Conditional Statements 的更多信息

产品

版本

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by