基肥の自動計算に挑戦してみるで各肥料の構成をベクトルで持たせるということを記載した。
各肥料の構成を決める前にベクトルについて触れておくことにしよう。
ベクトルというのは要素が1つ以上の添数付きである集合の型で一次元配列のものを指す。
マグロウヒル大学演習 離散数学 コンピュータサイエンスの基礎数学 | 理工学専門書,理学,数学 | Ohmsha p72ページより引用
PHPで書いたら、
$vec = array(2, 3, 5, 9);
こんな感じですかね。
添数は左から0,1,2,3で
0 => 2
1 => 3
2 => 5
3 => 9
このように構成されている。
添数や要素は数である必要は無いので、
$vec = array("x" => "横", "y" => "縦");
という形でもベクトルと言えるはず。
オライリーの行列プログラマーという本で
ベクトルは関数であるという解釈を一度受け入れてしまえれば、応用の世界が目の前に開ける
と記載されていた。
O'Reilly Japan - 行列プログラマー p78から引用
確かに
$vec = array("x" => "横", "y" => "縦");の$vec変数を関数fに見立て、
f(x)に"x"や"y"の値を入れると、"横"や"縦"といった値が返ってくることから、
定義域DがD = {"x", "y"}の集合で、余定義域FがF = {"横", "縦"}の集合と捉え、
$vecはf:D → Fの関数であると言える。
とりあえず、
ベクトルを巧みに扱えなければ肥料の自動計算はおそらく出来ないので、
今回を機に計算に必要な知識をまとめながら、
各肥料の要素を模索して、自動計算の仕様を組み立てていければと思う。
関数あたりから見ていこう