CurveFitting[LeastSquares] - 最小2乗近似を計算する
使い方
LeastSquares(xydata, v, opts)
LeastSquares(xdata, ydata, v, opts)
パラメータ
xydata - [[x1,y1],[x2,y2],...,[xn,yn]] の形のリスト、配列、行列; データ点
xdata - [x1,x2,...,xn] の形のリスト、配列、ベクトル; 独立変数の値
ydata - [y1,y2,...,yn] の形のリスト、配列、ベクトル; 従属変数の値
v - 変数名; 独立な変数
opts - (オプション) 1つまたはそれ以上の weight=wlist, curve=f または params=pset という形の等式
|
説明
|
|
•
|
ルーチン LeastSquares は、点 {(x1,y1),(x2,y2),...,(xn,yn)} への最小2乗近似を計算します。オプション curve=f が指定されない場合は、変数 v の1次関数が返されます。
|
•
|
手続き LeastSquares は2通りのやり方で呼び出せます。
|
|
1番目の形式は、データ点のリスト、配列、または行列 [[x1,y1],[x2,y2],...,[xn,yn]] を受け付けます。
|
|
2番目の形式は、この入力集合を、2つのリスト、2つの配列、または2つのベクトルとして受け付けます。この形式では、1番目のデータの集合は、独立変数の値 [x1,x2,...,xn] からなり、2番目のデータの集合は、従属変数の値 [y1,y2,...,yn] からなります。各要素は代数型でなければなりません。
|
•
|
デフォルトで返ってくる関数は、a*v+b の形です。オプション curve=f を使うことにより、データ点に適合する異なったタイプの関数を指定することができます。 f 自身は1次関数である必要はありませんが、関数 f(v) は未知パラメータについて1次でなければなりません。たとえば、関数 a*v^2+b*v+c はパラメータ a, b および c について1次であるので受け付けられます。
|
•
|
オプション curve=f が与えられた場合、オプション params=pset を使うことができます。ここで pset は未知パラメータの集合です。オプション params を指定しないならば、未知パラメータは f 内の v とは異なるパラメータとなります。
|
•
|
オプション weight=wlist を使うことにより、各データ点に重みを付けることができます。ここで wlist はちょうど n 個の非負の値からなるリストです。
|
•
|
入力データから解が一意に決まらない場合、戻り値は、自動的に生成されるパラメータ名を使ったパラメータ表示の解となります。
|
•
|
この関数はパッケージ CurveFitting の一部なので、コマンド with(CurveFitting) を実行した後に限り、LeastSquares(..) の形式で使うことができます。しかし、コマンドの長い形 CurveFitting[LeastSquares](..) を使うことにより、常時使うことができます。
|
|
|
例
|
|
>
|
with(CurveFitting):
LeastSquares([[0,1],[1,2],[2,3],[3,10]], v);
|
| (2.1) |
>
|
LeastSquares([0,1,2,3], [1,2,3,10], v, weight=[1,1,1,10]);
|
| (2.2) |
>
|
LeastSquares([0,1,3,5,6], [2,-1,-3,6,8], v, curve=a*v^2+b*v+c);
|
| (2.3) |
|
|