[実習 1] Mathematica での関数の作成 Mathematica では関数も定義可能 基本 : 「関数名[引数のパターン] := 式」 例 fac[0] := 1 fac[n_] := n * fac[n-1] ポイント 引数に「_」を付けるとパターンとなる 「_」の前の名前に、一時的にパターンにマッチする値が入る 一つの式が複数のパターンに一致した場合は、より具体的なパターンの値が使われる 計算の様子 fac[3] : 引数が 0 と一致しないので、一般的な n_ に一致 / n == 3 となり「3 * fac[2]」となる 3 * fac[2] : 上と同様 「3 * 2 * fac[1]」となる 3 * 2 * fac[1] : 上と同様 「3 * 2 * 1 * fac[0]」となる 3 * 2 * 1 * fac[0] : fac[0] は、両方にマッチするがより具体的な上が選ばれ 1 となる 3 * 2 * 1 * fac[0] : fac[0] は、両方にマッチするがより具体的な上が選ばれ「3 * 2 * 1 * 1」となる 3 * 2 * 1 * 1 : 計算されて「6」になる 答 : fac[3] == 6