基肥の自動計算を考える前にベクトルは関数であるという解釈を一度受け入れてしまえれば、応用の世界が目の前に開けると記載した。

PHPでベクトルを作成して、関数として解釈してみようとしたけど、

そもそも関数は何なの?ということでまとめてみる。


数学の授業で関数を習った時、

f(x) = x + 2

で線形グラフを描写だった。


これだと前回のベクトルを関数として捉えたり、プログラミングで関数を作成するといった時に迷う。


というわけで、

数学の概念としての関数とは何なのか?をまとめてみると、

集合Aの各要素に集合Bの唯一つの要素を割り当てるものとする:そのような割当て全体がAからBへの関数(function)と呼ばれる。

このとき、集合Aは定義域(domain)とよばれ、集合Bは値域(co-domain)とよばれる。

通常、関数をf、gなどで表す。

fがAからBへの関数ならば、f:A → Bと書き、"fはAをBにうつす"と読む。

マグロウヒル大学演習 離散数学 コンピュータサイエンスの基礎数学 | 理工学専門書,理学,数学 | Ohmsha p50ページより引用


この時、Aの集合を定義域と呼び、Bを余定義域と呼ぶ。




集合は対象の明確なリストまた集まりのことを指し、

単刀直入に言うと値の塊のことで、

A = {a, b, c, d, e}のように集合Aにはa〜eまでの小文字のアルファベットがあるといった形で値をまとめたもの。


集合内の要素の数が分かれば有限集合で、要素の数が無数にあるものを無限集合とする。

何も値がない集合を空集合とする。


上記の集合Aは要素数が5個の有限集合で、

B = {x: xは整数, x > 0}の場合、xは0より大きな整数という無限集合となる。

C = {}であれば、Cは空集合(φ)


集合の細かい話はここまでにしておいて、関数の話に戻る。


例えば、

A = {カボチャ, トマト, ダイコン, サツマイモ}という集合があって、

B = {ウリ, ナス, アブラナ, ヒルガオ}という集合があって、

カボチャ => ウリ

トマト => ナス

ダイコン => アブラナ

サツマイモ => ヒルガオ

という関係があった時、

f:A → Bという関数でAをダイコンとした場合、Bの値であるf(A)はアブラナとなる。


f(x) = x + 2という線形グラフだった場合、xは実数となり、f(x)も実数となるので、

実数の集合をRとする場合、

f:RRという関数であると言え、

定義域の値を1とした場合、余定義域のf(x)は3となる。


基肥の自動計算を考える前にでベクトルを関数を見立てた話を記載したけど、

今回の内容と一致したのでベクトルは関数であると言える。


これを踏まえた上で肥料の自動計算を考えていこう。