Trouble giving decimal input

2 ビュー (過去 30 日間)
MD JAHIDUL HAQUE KHAN
MD JAHIDUL HAQUE KHAN 2020 年 9 月 23 日
コメント済み: Walter Roberson 2020 年 9 月 23 日
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

採用された回答

Walter Roberson
Walter Roberson 2020 年 9 月 23 日
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 件のコメント
Walter Roberson
Walter Roberson 2020 年 9 月 23 日
https://www.thoughtco.com/is-a-negative-ph-possible-603653

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by