Trouble giving decimal input
2 views (last 30 days)
Show older comments
MD JAHIDUL HAQUE KHAN
on 23 Sep 2020
Commented: Walter Roberson
on 23 Sep 2020
Hi, my code is as shown below, i tried as switch function instead of else if statement. However, the code is taking only integer numbers, for decimal numbers showing 'out of range'.
function category = pH21Category(pH)
switch true
case any(pH == 0:2)
category = 'Strongly acidic';
case any(pH == 3:5)
category = 'Weakly acidic';
case ismember(pH,6:8)
category='Neutral';
case ismember(pH,9:11)
category='Weakly Basic';
case ismember(pH,12:14)
category=('Strongly basic');
otherwise
category=('out of range');
end
0 Comments
Accepted Answer
Walter Roberson
on 23 Sep 2020
0:2 does not express the range starting from 0 and ending at 2.
0:2 expresses a vector of numbers starting from 0 and incrementing by 1 until 2 is reached. That is the vector containing 0, 1, and 2. No other values are included in 0:2
You will need to test
0<=ph & ph < 2
but think about whether you want < or <= for the bounds.
1 Comment
More Answers (0)
See Also
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!