与えられた x と y ベクトルは、 以前のようにクイック変数 q1 と q2 にストアされているものとします。 最初の仕事は、問題を行列形式で表現することです。
m*x + b*1 = y
よって必要なのは、 最初の列ベクトルが x ベクトルで次の列が 1 である、 19x2 の行列です。 そこでまず 1 でできた列ベクトルを作り、 x ベクトルと結合して A 行列を作ります。
2: [1.34, 1.41, 1.49, ... ] 1: [ [ 1.34, 1 ] 1: [1, 1, 1, ...] [ 1.41, 1 ] . [ 1.49, 1 ] ... r 1 1 v b 19 RET M-2 v p v t s 3
ここで @c{$A^T y$} trn(A) * y と trn(A) * A を計算し、割り算します。
1: [33.36554, 13.613] 2: [33.36554, 13.613] . 1: [ [ 98.0003, 41.63 ] [ 41.63, 19 ] ] . v t r 2 * r 3 v t r 3 *
(おや、見覚えある数値だ!)
1: [0.52141679, -0.425978] . /
m*x + b*1 = y 形式の方程式を解いていたので、 この数値がそれぞれ m と b に違いありません。 間違い無く、これらの値は V M と V R を使って解いた結果と一致します。
このお話の教訓: V M と V R で 大概の問題は解けるでしょうが、 世の中にはしばしばもっと簡単な方法(ハイレベルの数学関数を使った)が存在する! ということです。
事実、Calc には a F コマンドが組込まれていて、 最小二乗近似を行います。 曲線近似(Curve Fitting) 参照 .
Go to the first, previous, next, last section, table of contents.
利用度数