【Mathematica】関数の定義からプロットまでをわかりやすく解説

Mathematicaで関数を定義してプロットするまで

この記事では、Mathematica で関数を使う方法について、基礎から応用まで解説します

具体的には、関数の定義方法から、組み込み関数(三角関数や指数関数など)、条件付き関数、関数のプロット方法までを解説します。

無料で Mathematica を使う方法を知りたい方はこちら

目次

Mathematica における関数

関数の定義

Mathematica における関数とは、与えられた入力に対して計算を行い、その結果を返すプログラムの構造です。

関数を定義する最も基本的な形は、f[x_] := expressionという形です。

例えば、

\begin{align} f(x)=x^2+2x+1 \end{align}

という関数を定義するには、

f[x_] := x^2 + 2x + 1

と入力します。

これを実行することで、\(f(x)\) という関数が定義されます!

例えば、具体的に \(x=3\) を入力したときの結果を見てみます。

結果は次のように 16 となるはずです。

\begin{align} f(3)=3^2+2\times 3+1=16 \end{align}

実際に Mathematica でも 16 が返ってきました。

Mathematicaの関数

注意点

関数を定義する際の注意点が 2 つあります。

  • 引数 \(x\) のうしろにアンダースコア(アンダーバー)を付ける
  • =ではなく:=で結ぶ

Mathematica において、x_ は任意の値を取る引数として機能します。

アンダースコアは忘れがちなので、エラーになったらまず確認しましょう!

また、:= は遅延評価(SetDelayed)を意味し、右辺の式が関数が呼び出されるたびに評価されることを示します。

関数が呼び出されるたびに評価される例

\(x=3, 4\)を代入すると、その都度、対応する結果が得られます!

組み込み関数

Mathematica には多くの組み込み関数があります。

組み込み関数とは?

組み込み関数とは、あらかじめ用意されている関数のことです。

これらの関数は、ユーザーが自分で定義しなくてもすぐに使用できるようになっており、さまざまな計算や操作を効率的に行うことができます。

代表的な組み込み関数

関数コマンド使用例結果補足
\(\sin x\)Sin[x]Sin[Pi/3]\(\tfrac{\sqrt{3}}{2}\)円周率 \(\pi\) はPiと入力
\(\cos x\)Cos[x]Cos[Pi/3]\(\tfrac{1}{2}\)
\(\tan x\)Tan[x]Tan[Pi/4]\(1\)
\(\sqrt{x}\)Sqrt[x]Sqrt[3]\(\sqrt{3}\)
\(e^x, \exp{x}\)Exp[x]Exp[2*Pi*I]\(1\)虚数単位 \(i\) はIと入力
\(\log x, \ln x\)Log[x]Log[1]\(0\)底が \(e\) の対数関数(自然対数)
\(\log_a x\)Log[a,x]Log[2,4]\(2\)底が \(a\) の対数関数
\(|x|\)Abs[x]Abs[-2]\(2\)絶対値を求める関数
N[x]N[Sqrt[2]]\(1.41421\)数値解を求める関数

実際の入出力画面はこちらです

代数方程式に関する関数

Mathematica では、代数方程式を解くための関数も強力です。

Mathematica は数値解だけでなく、シンボリックな解も求めることができます。

コマンド機能使用例結果
Solve代数方程式をシンボリックに解くSolve[x^2 + a x + b == 0, x]\(x=\tfrac{-a\pm\sqrt{a^2-4b}}{2}\)
NSolve代数方程式を数値的に解くNSolve[x^2 + 3 x + 2 == 0, x]\(x=-2,-1\)
FindRoot初期推測値を与え、数値的に方程式の解を求めるFindRoot[x^2 + 3 x + 2 == 0, {x, -1}]\(x=-1\)
Reduce方程式や不等式を解き、解集合として表現するReduce[x^2 - 4 < 0, x]\(-2<x<2\)
Simplify式を簡単化するSimplify[(x^2 - 1)/(x - 1)]\(1+x\)
Eliminate複数の方程式から、ある変数を消去して他の変数の関係を求めるEliminate[{x + y == 3, x - y == 1}, y]\(x=2\)
Collect方程式を特定の変数で整理するCollect[x^2 + 2x + 3 + 4x^2 + 5x + 6, x]\(9+7x+5x^2\)

実際の入出力画面はこちらです

関数の応用

Mathematicaでは、関数を使ってさまざまな応用が可能です。

ここでは、簡単な例として条件付き関数を紹介します。

条件付き関数

IfWhich を使って、引数によって異なる処理を行う関数を作成できます。

If は、与えられた条件が真である場合に実行する式と、偽である場合に実行する式を指定できます

x = 5;
If[x > 0, "Positive", "Non-positive"]

\(x=5\) は \(x>0\) を満たすので、Positive が出力されます。

Which は、複数の条件を評価して、それぞれに対応する結果を返す関数です。

If と似ていますが、複数の条件を扱う場合にコードがシンプルで読みやすくなります

条件を順番に評価し、最初に真となる条件に対応する結果を返します

x = 5;
Which[
  x > 0, "Positive",
  x < 0, "Negative",
  x == 0, "Zero"
]

関数のプロット

Mathematicaでは、Plot関数を用いてグラフを描画することができます。

Plot[Sin[x], {x, 0, 10}]

\(\{x, 0, 10\}\) で描画する \(x\) の範囲を指定します

\(f(x)=\sin ax\) のように未定定数 \(a\) が含まれている場合、グラフを描画できません

その場合は、a := 1を実行して、\(a=1\) を定義します。

最後に

Mathematica で関数を使う方法について基本的な部分から応用的な使い方までを紹介しました。

関数をうまく活用することで、計算を効率よく行うことができ、複雑な問題にも対応できます。

関数を理解して適切に使いこなすことは、Mathematicaを使いこなす上で非常に重要です。

よかったらシェアしてね!
目次