関数とは

中学校、高校の数学で関数(function)というものを習っていると思います。 関数は論理や数学や情報の基礎に関わる非常に重要な概念です。 関数は非常にシンプルな概念で、そのシンプルさ故に応用範囲がむちゃむちゃ広いです。 これまでなんとなく理解していた人も、ここで一度立ち止まってしっかり考えてみてください。 関数を理解していることで、その後の様々な学習の理解度がかなり変わってきます。

目次

基本的な考え方
目次へ↑

関数とは数値の間の対応関係です。 入力数値を $x$ で表します。 出力数値を $y$ で表します。 $x$ と $y$ がどのような関係になってるかというルールを $f$ で表します。

\begin{align*} \mbox{入力数値}\quad x \quad\xrightarrow[\mbox{関係ルール}]{f}\quad y \quad\;\mbox{出力数値} \end{align*}

ちなみに数学では $x$ を独立変数(independent value)、$y$ を従属変数(dependent value)といいます。 独立(independent)・従属(dependent)、よりも入力(input)・出力(output)の方がイメージしやすいです。 入力値・出力値は様々な値に変わるので変数というイメージは持っていてください。

ルールの $f$ の表現(記述)の仕方にはいろいろあります。

どのような記述でも構いません。 (数学的に厳密な議論をするときは曖昧な表現は避けなければいけないけど。) 重要なことは $x$ の値を決めれば $y$ の値が1つに定まる ということです。

「$f$ というルールで $x$ と $y$ の関係がつきます」ということを数式で表現したものが以下の式になります。

\begin{align*} y = f(x) \end{align*}
グラフで表現した一例が以下の図になります。

関数の表現
目次へ↑

関数 $f$ の入出力のルールの記述には様々な表現が可能です。 以下の表現は全て同じ関数を表しています。

数式で関数を表現できれば綺麗で曖昧さも少なくて良いのですが、いつでも数式で書けるとは限りません。 同じ機能(同じ入出力関係)の関数でも表現方法は様々だと思っていてください。

関数の例
目次へ↑

中学高校で習う関数の例

無限の種類の関数があります。

わざわざ名前を付ける必要がないものは $f(x)$ とか $g(x)$ とか $h(x)$ とかで表現します。

一次関数($a, b$ を定数として、変数 $x$の一次式で表される) \begin{align*} f(x)=ax+b \end{align*} 二次関数($a, b, c$ を定数として、変数 $x$の二次式で表される) \begin{align*} f(x)=ax^2+bx+c \end{align*}
定数とは値が定まってる数(特定の数値)のことです。 変数とは値が定まっていない数のことで、$x$ に具体的な数を入力して初めて値が定まる数です。

有名な関数には名前がついています。

正弦(sine)関数 \begin{align*} \sin (x) \: & = \sum_{n=0}^{\infty} \frac{(-1)^n}{(2n+1)!}x^{2n+1} \\ &= x - \frac{1}{3!}x^3 + \frac{1}{5!}x^5 - \frac{1}{7!}x^7 + \cdots \end{align*} 余弦(cosine)関数 \begin{align*} \cos (x) \: &= \sum_{n=0}^{\infty} \frac{(-1)^n}{(2n)!}x^{2n} \\ &= 1 - \frac{1}{2!}x^2 + \frac{1}{4!}x^4 - \frac{1}{6!}x^6 + \cdots \end{align*}
ここでは数式で表現しましたが、微分を習得しないと理解できません。 実用や応用には数表の表現で十分です。 昔の数学の教科書には必ず数表がついていました。 今は、関数電卓、パソコンやスマホのアプリ、を使うと良いです。

関数の特徴や性質

「関数の特徴や性質」が重要になることがあります。 その関数にどんな特徴があるのか知っておくと応用に便利です。

例えば、1次関数 $y=f(x)=ax+b$ には次のような性質があります。

2次関数 $y=f(x)=ax^2+bx+c$ には次のような性質があります。 正弦関数 $y=\sin(x)$ や余弦関数 $y=\cos(x)$ 等の三角関数には次のような性質があります。

関数を組み込んだ数式

関数を組み込んだ数式を扱うこともあります。 「$f(x)+2g(x)$」や「$\sin(x)\cos(x)$」等です。 関数の位置には、その関数の出力数値を当てはめるということになります。 入力値 $x$ の値が具体的に確定していない時は「$x$ の値が確定した瞬間に、そこに当てはまる数値が確定する」という感じでいてください。

$f(x)=x+1,\;g(x)=x^2 + 3$ とする。 \begin{align*} x = 1\, \mbox{の時}\; f(1) = 1 + 1 = 2,\; g(1) = 1^2 + 3 = 4 \end{align*} \begin{align*} f(1) + 2 g(1) = 2 + 2\cdot 4 = 10 \end{align*}
\begin{align*} x = 30^\circ \mbox{の時、三角関数表より}\; \sin\left(30^\circ\right) = 0.500, \; \cos\left(30^\circ\right) = 0.8660 \end{align*} \begin{align*} \sin\left(30^\circ\right)\cos\left(30^\circ\right) = 0.5000\cdot 0.8660 = 0.7310 \end{align*}

関数と関数の関係

「関数と関数の関係」が重要になることがあります。 恐らく公式を覚えるのに一生懸命で、関数とはあまり意識せずに扱っていたと思います。

以下の例は「入力値 $x$ がどんな値でも同じ数値を入力したなら、$\sin(x)$ の出力の2乗と $\cos(x)$ の出力の2乗の和は必ず$1$である」 ということを表しています。

\begin{align*} \left\{\sin(x)\right\}^2+\left\{\cos(x)\right\}^2 = 1 \end{align*}

以下の例は「$x$ を正弦関数に入力したときの出力と、$90^\circ - x$ を余弦関数に入力したときの出力は同じである」 ということを表しています。

\begin{align*} \sin\left(x\right)=\cos\left(90^\circ - x\right) \end{align*}

関数として扱えないもの
目次へ↑

上の方にも書きましたが、関数の数の対応で1つだけ重要な注意があります。 「$x$ の値を決めれば $y$ の値が1つに定まる」ということです。 「$y$の値が2つとか3つになってどれを出力に定めたらよいのか決まらない」のはダメということです。

「出力 $y$ は 入力 $x$ の平方(2乗)」このルールは関数として扱えます。 数式で書くと $f(x)=x^2$ です。図で書くと次のようになります。 $x$ を決めると $y$ は1つに定まります。

「出力 $y$ は 入力 $x$ の平方根」このルールは関数として扱えません。 数式で書くと $f(x)=\pm\sqrt{x}$ です。図で書くと次のようになります。 $x$ を決めても $y$ は1つに定まらなくて、何を出力するのか決まりません。

「出力 $y$ は 入力 $x$ の平方根2つのうち正の方(ルート)」このルールは関数として扱えます。 数式で書くと $f(x)=\sqrt{x}$ です。図で書くと次のようになります。 $x$ を決めると $y$ は1つに定まります。

「出力 $y$ は 入力 $x$ の平方根2つのうち負の方」このルールは関数として扱えます。 数式で書くと $f(x)=-\sqrt{x}$ です。図で書くと次のようになります。 $x$ を決めると $y$ は1つに定まります。

「出力は1つだけ」に限定しないと、関数を組み込んだ数式に答えが複数出てしまって、数式の答えがどんな数値になるのか定まらない、ということになってしまうからです。 例えば $\sin(x)\cos(x)$ という数式で $\sin(x)$ の出力が2種類あったとすると、この数式がどんな数値を表すのか定まりません。

もっと発展した話では多価関数という出力が2つ以上あるような話も出てきますが、基本的には出力を1つに限定したもののみを関数として扱います。

関数の拡張や応用
目次へ↑

二変数関数

出力は1つに限るのですが、入力変数は2つ(2種類)あって構いません。 このような関数を二変数関数といいます。

入力数値を $(x, y)$ の組で表します。 出力数値を $z$ で表します。 $(x, y)$ と $z$ がどのような関係になってるかというルールを $f$ で表します。

\begin{align*} \mbox{入力数値の組}\quad \left(\begin{array}{c}x \\ y\end{array}\right) \quad\xrightarrow[\mbox{関係ルール}]{f}\quad z \quad\;\mbox{出力数値} \end{align*}

「$f$ というルールで $(x, y)$ と $z$ の関係がつきます」ということを数式で表現したものが以下の式になります。

\begin{align*} z = f(x, y) \end{align*}

二変数関数の例として次の関数を考えてみましょう。

\begin{align*} f(x, y) = x^2 + y^2 \end{align*}
この関数に $(1, 2)$ を入力すると $5$ が出力されます。 この関数に $(3, 3)$ を入力すると $18$ が出力されます。 出力は1つに定まってます。

多変数関数

出力は1つに限るのですが、入力変数はいくつあって構いません。 2つ以上の入力変数をもつ関数を多変数関数といいます。

入力数値を $\left(x_1, x_2, \cdots , x_n\right)$ の $n$ 個の数値の組で表します。 出力数値を $y$ で表します。 $\left(x_1, x_2, \cdots , x_n\right)$ と $y$ がどのような関係になってるかというルールを $f$ で表します。

\begin{align*} \mbox{入力数値の組}\quad \left(\begin{array}{c}x_1 \\ x_2 \\ \vdots \\ x_n\end{array}\right) \quad\xrightarrow[\mbox{関係ルール}]{f}\quad y \quad\;\mbox{出力数値} \end{align*}

「$f$ というルールで $\left(x_1, x_2, \cdots , x_n\right)$ と $y$ の関係がつきます」ということを数式で表現したものが以下の式になります。

\begin{align*} y = f\left(x_1, x_2, \cdots , x_n\right) \end{align*}

プログラムや表計算アプリで使われる関数

表計算アプリ Excel での関数の基本は(関数について)を見てください。

コンピュータ内部では2進法で表現される数値の2進数を使って情報を扱っています。 情報処理は入出力を基本に行います。 様々な情報処理の方法を関数としてまとめることで、複雑な情報処理を関数の組み合わせによって簡単にすることができるようになります。

指数関数 対数関数 対数目盛

桁違いに大きな数や小さな数を扱うときは、指数関数や対数関数が便利です。 (指数 対数)で指数関数や対数関数、対数目盛について説明しています。


(藤本の担当講義に戻る)    (Tipsに戻る)