Trouble giving decimal input

3 Ansichten (letzte 30 Tage)
MD JAHIDUL HAQUE KHAN
MD JAHIDUL HAQUE KHAN am 23 Sep. 2020
Kommentiert: Walter Roberson am 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

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 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 Kommentar
Walter Roberson
Walter Roberson am 23 Sep. 2020
https://www.thoughtco.com/is-a-negative-ph-possible-603653

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu App Building finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by