How to use switch statement

3 次查看(过去 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 CenterFile Exchange 中查找有关 Introduction 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