ツイッターはこちら

MATLABでのif文を用いた条件分岐【if, elseif, else】

2 min

今回は、MATLABでのif文の書き方について解説します。

if文とは、条件によって実行する処理を変えたい場合に使う構文のことです。

MathWorksのサイトの説明がわかりにくいという方は、是非こちらを参考にしてください

この記事を読む価値

if文を使いこなせるようになる

if文の基本的な書き方【if, elseif, else】

if %条件文1
    %実行文1
elseif %条件文2
    %実行文2
else
    %実行文3
end

MATLABでのif文の基本形は上記のようになります。

アルゴリズム

もし条件文1であれば、実行文1を実行する。
もし条件文2であれば、実行文2を実行する。
条件文1、条件文2に当てはまらなければ、実行文3を実行する。

ちなみに、elseifについては何個あっても大丈夫です。例えばこんな感じに、

if %条件文1
    %実行文1
elseif %条件文2
    %実行文2
elseif %条件文2
    %実行文3
elseif %条件文2
    %実行文4
else
    %実行文5
end
アルゴリズム

もし条件文1であれば、実行文1を実行する。
もし条件文2であれば、実行文2を実行する。
もし条件文3であれば、実行文3を実行する。
もし条件文4であれば、実行文4を実行する。
条件文1、条件文2、条件3、条件4に当てはまらなければ、実行文5を実行する。

例文【if, elseif, else】

それでは、例文を紹介します。

成績が90点以上であればS、80点以上であればA、70点以上であればB、60点以上であればC、59点以下であればFとなる大学の授業があるとします。

コードは、先程の基本構文を参考にすると以下のようになります。

if score>=90
    Grade = "S"
elseif score>=80
    Grade = "A"
elseif score>=70
    Grade = "B"
elseif score>=60
    Grade = "C"
else
    Grade = "F"
end
 

この授業で88点を取れたとして実行すると、

成績は、Aとなりました。簡単ですね。

if文の基本的な書き方【if, else】

elseifがない形でも書くことができます。

if %条件文1
    %実行文1
else
    %実行文2
end
アルゴリズム

もし条件文1であれば、実行文1を実行する。
条件文1に当てはまらなければ、実行文2を実行する。

例文【if, else】

例文を紹介します。

成績が60点以上であれば合格、59点以下であれば不合格となる大学の授業があるとします。

コードは以下のようになります。

if score>=60
    disp('合格です')
else
    disp('不合格です')
end

そして僕が、この授業で55点だったとして実行すると、

判定は、不合格となりました。悲しいですね。

if文の基本的な書き方【ifのみ】

ちなみにelseifやelseがなしでも書けます。

if %条件文1
 %実行文1
end
アルゴリズム

もし条件文1であれば、実行文1を実行する。
条件文1以外であれば、何も行わない。

例文【ifのみ】

例文を紹介します。

テストで90点以上をとれたら、マミーに褒められるとします。

コードは以下のようになります。

if score=90
    disp('マミー「偉いわね。さすがあたしの息子だわ♡」')
end

僕がテストで98点を取れたとして実行すると、

マミーに褒められました。嬉しいですね。

関係演算子【<, <=, >, >=, ==, ~=】

if文で必要となってくるのは、関係演算子です。

関係演算子は、2つの値の関係を示します。関係とは、先程の例文のように条件文で大小関係や等価関係を示すことです。

MATLABでの関係演算子は以下の通りになります。

演算子説明
x < yxはyより小さい
x <= y xはyより以下
x > y xはyより大きい
x >= y xはyより以上
x == y xはyと等しい
x ~= y xはyと等しくない

関係演算子の通りになれば「true」、違っていれば「false」となります。

論理演算子【&&, ||】

論理演算子とは、if文で複数の条件を扱う際に用いるものです。

MATLABでの論理演算子は以下の通りになります。

演算子説明
x && yxかつy
x || yxまたはy

関係演算子の通りになれば「true」、違っていれば「false」となります。

例文【論理演算子 ||】

例文を紹介します。

3の倍数あるいは3が付く、数字のときだけアホになる人がいるとします。

そのような人の、コードは以下のようになります。(ナベアツコード)

if rem(figure,3)==0 || contains(num2str(figure),'3')
    disp('アホになりました')
end

この人が32を読み上げるとすると、

アホになりましたね。32は3の倍数ではありませんが、3の付く数字だからです。

今回は以上です。

フルショ

フルショ

2019年春に理系大学院を卒業して、大手メーカーに勤める25歳です!
海外ノマドにあこがれて、会社に頼らない生き方を現在模索中。

FOLLOW

カテゴリー:
関連記事