6.3 条件判断による分岐

If[test, then-statement, else-statement] と すると分岐が実現できる。例えば

       If [1+1==2, Print["Yes, you are right."], Print["No, you are wrong."]]

たくさんの場合に分けるには、Which[] が便利である。

  myfunc[t_]:=Which[t < -1, Sqrt[-(t + 1)],
                    t < 0, Sqrt[t + 1],
                    t < 1, Sqrt[1 - t],
                    True, Sqrt[t - 1]]
このような関数定義をする場合、 式 /; 条件式 を使うという手もあるが、 自分の使用経験では Which[] の方が良い場合が多かった。 例えば
a0[x_] := Which[x > 0, x, True, -x]
a1[x_] := x /; x > 0
a1[x_] := -x /; x <= 0
Plot[a0[x], {x, -1, 1}]
Plot[a1[x], {x, -1, 1}]
Plot[a0'[x], {x, -1, 1}]
Plot[a1'[x], {x, -1, 1}]



桂田 祐史