Maximaによるプログラミング
Maximaによる条件分岐(if文)
Maxima(マキシマ)で、条件分岐を扱うには、if文を使います。
演算
Maxima
条件分岐
if 条件文 then 条件処理1
条件分岐
if 条件文 then 条件処理① else 条件処理②
条件分岐
if 条件1 then 条件処理I elseif 条件2 then 条件処理II else 条件処理III
if文の条件分岐の関係は、下記の図で示しました。elseifを続けることで、分岐を増やすことができます。
2つ目の一般的な条件分岐式「if 条件文 then 条件処理1 else 条件処理2」を使う例を次に示します。
与えられた数が偶数か奇数であるかを判定するeo()関数を定義します。
eo()関数を定義した後、eo(2)とすると、2は偶数なのでEvenが返ってきます。eo(3)とすると、3は奇数なのでちゃんんとOddが返ってくるようになりました。
なお、「" "」で挟まむことで文字列を出力することができます。
これは、演算子print(" ")でも同じことです。
演算 | Maxima |
文字出力 | " " または print(" ") |
剰余(nをmで割った余り) | mod(n,m) |
また、mod(n,m)とは、剰余でnをmで割った余りを示しています。
では、いろいろな条件文の例を下記に記しておきます。
関数f(a,b,c),g(a,b,c),h(a,b,c)は、2次方程式の係数がa,b,cの場合に判別式から解が、実数解であるのか、虚数解であるのかを判別して、結果を返す関数として定義しています。
4つ目の式から、1つ目の条件文の場合には、elseの処理を記述していませんので、条件文で偽(false)であったということを返してきています。
実際のMaximaでの使用例を通して、if文による条件処理を学ぶことができると思います。