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

 採用された回答

Matt J
Matt J 2021 年 3 月 25 日
編集済み: Matt J 2021 年 3 月 25 日

0 投票

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 件のコメント

Farhan Omoush
Farhan Omoush 2021 年 3 月 25 日
I must use a loop as a part of an assignment
Matt J
Matt J 2021 年 3 月 25 日
編集済み: Matt J 2021 年 3 月 25 日
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 2021 年 3 月 25 日
Thank You, Appreciate it <3
Matt J
Matt J 2021 年 3 月 25 日
You're welcome, but please Accept-click the answer to signify that it addressed your question.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeLoops and Conditional Statements についてさらに検索

製品

リリース

R2018a

質問済み:

2021 年 3 月 25 日

コメント済み:

2021 年 3 月 25 日

Community Treasure Hunt

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

Start Hunting!

Translated by