Trouble giving decimal input

3 vues (au cours des 30 derniers jours)
MD JAHIDUL HAQUE KHAN
MD JAHIDUL HAQUE KHAN le 23 Sep 2020
Commenté : Walter Roberson le 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

Réponse acceptée

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

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur App Building dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by