If you're seeing this message, it means we're having trouble loading external resources on our website.

もしあなたがウェブフィルターを利用している場合には,*.kastatic.org*.kasandbox.org がブロックされていないことを確認して下さい。

メインのコンテンツ

関数とは何か?

関数はそれぞれの入力に対してただ 1 つの出力を割りあてます。このビデオでは,さまざな種類の関数の例をみていきましょう。 Sal Khan により作成されました。

会話に参加したいでしょうか?

まだ投稿がありません。
英語は理解できますか? ここをクリックしてカーンアカデミーの英語のサイトでのさらなる議論を見て下さい。

ビデオのトランスクリプト

さて「関数」です。もともと関は 函(はこ)の字を書きましたが, これが常用漢字でないので同じ読みの 関(せき)の字を当てるのが普通です。 関数とはかなり抽象的な考えです。 関数とは,「何か」機械のようなもので, 入力を 1 つ入れると その入力をみて,その入力に 「何か」処理を「します」。 そして関数はその入力に対して, 「何か」を 1 個作って出力します。 実は関数にも種類がありますが, これを最初の関数の定義としましょう。 入力は複数あって構いません。 つまり「何かを入力」して,「何かをして」, 「何かを出力」するものが関数です。 ここで何度も「何か」と言ったので 抽象的で難しいと思います。 私はこういうふうに習った時に 「何かって何だ?」と思いました。 しかし,ここで「何かをする」という ことが実は本質なのです。 「何か」が決まっていないことが重要です。 なので「何か」としか言えないのです。 これではわかりにくいでしょうから, もっと説明します。 そもそもなぜ「関数」を習うのというと, それは数学で「何かをして』『結果を 得る』」と言うためです。 数学は言語の一種と以前言いましたが, 言語では,何かを「する」と 言えることは大事です。 そして関数はその「する」の一種です。 実は日本語の「する」とは かなり違うのですが, 私にはもっと良い言葉がわかりません。 より正確に「写像」とか言ってもいいですが, そうすると今度は「写像って何?」 になってしまいます。 これでは説明になっていません。 ですから入門としてとりあえず 一番近そうな 「する」と言う言葉の意味と 同じと説明しておきます。 やがて関数が「する」ということとどう 違うのかわかっていくと思います。 あとは「何か」というのが なぜいいのかですね。 2023年現在でコンピュータや スマホが普及しているのは それらは「何か」が できるからだと思います。 以前は時計といえば 時計だけの機能でした。 私の子どものころには ゲームウォッチという 1種類しかゲームができない ゲーム機がありました。 しかし,現在のコンピュータや スマホがすごいのは, 特定のことができるからではありません。 それは時計にもなるし,ビデオも見えるし, ゲームもできるし,電話にもなる ということが大事です。 時計とかゲームとかの具体敵な 例は実は重要ではないのです。 「何か」ができるということが 本質なのです。 そしてその「何か」が決まっていないことが スマートフォンやコンピューターの 重要な機能です。 実際コンピュータの機能は関数として 表現されることも多いです。 関数とはそういう抽象的なものです。 関数が「何かをする」もの という意味が少しわかって もらえたらうれしいです。 では関数の例を見ていきましょう。 関数を書くときにはよく f(x) と書きます。 カッコの中の文字は入力を表し, 一番良く使う入力の文字は「x」です。 関数は英語で function というので その頭文字の f を関数の 名前として良く使います。 でも名前には他の文字でも構いません。 では,関数 f(x) は「x の 2 乗, (x が偶数の時) x+5,これは (x が奇数の時)」 としましょう。 ここで入力として 2 を 入れるとどうなりますか? 「2 を入力する」というのは x に 2 を代入して f(2) の値を 求めるという意味です。 入力を入れて関数の値を求めることを 「評価する」といいます。 この時,x を見たらそれを 毎回 2 にします。 この変数 x は後で 数を入れるための物置, プレースホルダーとして使います。 とりあえず x というラベルのついた 箱と思ってもいいでしょう。 では x を入力でおきかえましょう。 もし 2 が偶数の場合は 2 を 2 乗します。 もし 2 が奇数の場合は 2 + 5 を計算します。 2 は実は偶数なので 2 を 2 乗します。 この場合 f(2) は 2 の 2 乗で 4 です。 では f(3) の場合はどうでしょうか? 今度もまた変数 x を見つけたら 毎回それを入力値で置き換えます。 入力値で置き換える。 f(3) は,もし 3 が 偶数ならば 3 の 2 乗で もし 3 が奇数ならば 3 + 5 です。 3 は奇数ですから 3 + 5 で f(3) は 8 に等しくなります。 ちゃんと規則があって解釈できるのは 素敵だと思います。 ここでは関数をちょっと変わった 感じで定義してみました。 特にこんなふうに中括弧を使うと, 関数というある種の機械が 入力値に (応じて) 何かの処理を するという感じがでると思います。 ではこれまで習った伝統的な 数学の表記で 表せないような関数もあるのでしょうか? そうですね。例えばこういうのも関数です。 f の…,いや,今回は f と x はやめましょう。 この記法がもっと一般的というのを 見せたいので,他の文字にします。 h(a) にしましょう。 h(a) は変数 a と同じ文字で始まる数で その変数の次に大きい数だとしましょう。 h(a) は変数 a と同じ文字で始まる数で その変数の次に大きい数だとします。 ここで言語ですが, 言語は英語とします。 この定義では,h(2) は何でしょうか? 英語の 2 は two で, 文字 「t」で始まります。 では 2 の次に大きい t で 始まる数は何かというと, three の 3 です。 では 入力を変えてみましょう。 何にしましょうか? h(8) にしましょう。 8 (eight) は「e」で始まります。 e で始まる次に大きい数は-- 9 (nine)でも 10 (ten) でもない 11 (eleven) です。 これを日本語でもやってみましょうか。 日本語版の関数を j(k) としましょう。 変数はなんでもよいのですが, k にしたのは数 (Kazu)の 頭文字だからです。 a でも x でもかまいません。 j(2) を考えますが… 「に」ではじまる数は 1 桁では 2 しかないので, 次に大きい数はにじゅう 20 です。 j(4) を考えてみます。 「よん」と読むとよん,ご,ろく,しち,は ち,く,じゅうで,40 まで「よ」がないので,日本語だとつ まらないですね。 やはり 40 まで「よ」がないので, 日本語だとちょっとつまらなかった かもしれません。 ただ日本語には読み方に ゆれがあるので, それを使って読み方を定義しましょう。 ここでは数を,いち,に,さん,し,ご, ろく,しち,はち,きゅう,じゅう, と読むことにします。 すると j(4) (し) は,… 次に大きい「し」で始まる数は 「しち」 7 です。 ですから j(4) = 7 です。 7 (しち)を「なな」と読むと定義 するとまた違ってきます。 その場合は j(4) は (しじゅう) 40です。 こういう関数もできます。 この関数に何の意味があるのか と思う人はするどいです。 実は特に意味はありません。 そういう遊びだと思ってもらってもいいです。 でも,数学は言語なので 遊びもできるということを 見てほしかったのです。 遊びもできるというのは私は大事 だと思います。(表現力がある。) これは「何か」の例でもあります。 さっきの h に戻りますが, このように関数は とてもとてもとても一般的なツール だとわかるでしょう。 今定義したこの関数 h は その数を英語で書いた時の始めの 文字が何かというような ある意味,かなりかなりとっても 変なことをする関数です。 しかし全ての関数が変とは限りません。 実は,これまでにもう 関数を扱っています。 たとえば,y = x+1 のような式を 見た事があると思います。 これも関数と見る事ができます。 これは y = 関数 f(x) で,それが x + 1 に等しいと書けます。 もしこれに何か入力を入れると,…。 例えば x が 0 の時です。 それは f(0) で,x に 0 を入れると, 0+1 で 1 に等しいです。 f(2) は 2 に等しい。 以前にもこういうことをもうやりました。 こういう式で表されている 問題を解くときは x と y の表を作ります。 x が 0 の時 y は 1, x が 1 ...おおっとすみません。 間違えました。 f(2) は 3 でした。 ですから,x と y があって, x が 0 の時 y は 1。 x が 2 の時 y は 3。 ただ,ここで,どうして わざわざ f(x) という 関数の表記を使うのかと 疑問に思う人もいるでしょう。 それは関数を一般的に 表すためです。 このような問題の場合には 関数の表記を使わなくてもかまいません。 しかし,関数表記を使っても 害はありません。 関数表記を使うと, 関数に入力値を入れると 何か処理をして, この例の場合は x + 1 という定義があって, つまり関数は入力値よりも 1 つ大きい数を 出力する機械のように振舞います。 この関数は,どんな入力値に対しても, それより 1 大きい数を出力します。 ここまできたら,あなたは こう思うかもしれません。 じゃあ関数ではないものは どんなものか? と。 思い出してください, 関数は特定の入力値に対し, 1 個だけ出力値を得るものです。 ここではそういう定義です。 例えば,図を描いて関数を... いや,関数ではなく,ここでは 「関係」というべきでしょうね。 これが y 軸で,これを x 軸だとします。 そして半径が 2 の円を ここに描いてみましょう。 半径が 2 となる円です。 ここは 2 でここは -2。 ここが 2,ここは -2 と... この円は原点を中心とした 半径 2 の円です。 これ以上うまく描けそうにないですが... ちょっとフィットさせましょう。 はい,円が描けました。 この円の方程式は x の 2 乗たす y の 2 乗 が半径の 2 乗,4 と書けます。 ここでの疑問は「この方程式で表された x と y の関係は関数ですか?」です。 ここでは方程式として関係を書きました。 ここに描いた円は,この方程式を満たす 全ての x と全ての y の値の集合です。 これは関数ですか? これを,グラフを見るとこれは 関数ではないことがわかります 例えば x が 1 に等しい時に, その x に対応する y の値が 2 個あります。 この 上にある y と, この 下にある y です。 この方程式を解いてその値を 求めることもできます。 x が 1 の時,x の 2 乗たす y の 2 乗イコール 4。 1 たす y の 2 乗が 4 に等しい。 両辺から 1 をひいて, y の 2 乗は 3 です。 y はするとプラスまたは マイナスのルート 3 に等しい。 こちらがプラスのルート 3。 こちらがマイナスルート 3 です。 するとこの関係では, 1 を入力すると 1 に対応する y の値が プラスのルート 3 とマイナスの ルート 3 の 2 個あります。 ですからこれは関数ではありません。 関数ではない。 今回の関数の定義では, 1 個の入力に対して 2 個の出力を 得ることはできません。 関数の出力は 1 個である 必要があります。