How to use switch statement

4 ビュー (過去 30 日間)
Alexya
Alexya 2022 年 10 月 14 日
回答済み: Matt J 2022 年 10 月 14 日
I need to create a function through switch statements that are from one bound to the next bound. How would i use the case to display bound1 through bound2. Every variable falling within the bounds is included in the case.
i have
switch n
case {bound1 through bound2}
  2 件のコメント
Matt J
Matt J 2022 年 10 月 14 日
Don't do that. Use logical indexing instead.
Alexya
Alexya 2022 年 10 月 14 日
This is what I have so far
function [lettergrade] = curvedGrade(grade,bound)
a = (bound(1):100);
b = (bound(2):bound(1));
c = (bound(3):bound(2));
d = (bound(4):bound(3));
switch grade
case{a}
lettergrade = 'A';
case{b}
lettergrade = 'B';
case{c}
lettergrade = 'C';
case{d}
lettergrade = 'D';
otherwise
lettergrade = 'F';

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

採用された回答

Matt J
Matt J 2022 年 10 月 14 日
No, do it like this:
[lettergrade] = curvedGrade(71,[90,80,70,60, 50])
lettergrade = "C"
function [lettergrade] = curvedGrade(grade,bound)
gradeList=flip(["A" "B" "C" "D" "F"]);
idx=discretize(grade,[flip(bound(:));100]);
lettergrade=gradeList(idx);
end

その他の回答 (1 件)

Walter Roberson
Walter Roberson 2022 年 10 月 14 日

https://www.mathworks.com/help/matlab/ref/double.discretize.html and switch on the bin number.

カテゴリ

Help Center および File ExchangeIntroduction to Installation and Licensing についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by