#1
by コイキング » 2年前
cscript のプログラミングで、最小二乗法により(x
,x^2*e^x)をデータとして誤差が最小になるような一次式を求める下記のようなコードを書いたのですが、
これを実行しようとすると、(13,2){var S_0 =S_calc(xs,0); の場所で「オブジェクトを指定してください」とのエラーが出ます。。。なぜでしょうか。
手探りでやっているので、いろいろ間違えあると思います。
コード:
var xs=[];
var ys=[];
for(i=0;i<1000;i++){
xs[i] = 0.9+0.2*Math.random() ;
ys[i] = xs[i] * xs[i] * Math.exp(xs[i]) ;
}
least_square(xs,ys);
function least_square(xs,ys) {
var mat = [];
var S_0 = S_calc(xs,0);
var S_1 = S_calc(xs,1);
var S_2 = S_calc(xs,2);
var T_0 = T_calc(xs,ys,0);
var T_1 = T_calc(xs,ys,1);
mat[0] = [S_2,S_1,T_1];
mat[1] = [S_1,S_0,T_0];
return solve_linear_equations(mat);
cscript のプログラミングで、最小二乗法により(x[i],x^2[i]*e^x[i])をデータとして誤差が最小になるような一次式を求める下記のようなコードを書いたのですが、
これを実行しようとすると、(13,2){var S_0 =S_calc(xs,0); の場所で「オブジェクトを指定してください」とのエラーが出ます。。。なぜでしょうか。
手探りでやっているので、いろいろ間違えあると思います。
[code]
var xs=[];
var ys=[];
for(i=0;i<1000;i++){
xs[i] = 0.9+0.2*Math.random() ;
ys[i] = xs[i] * xs[i] * Math.exp(xs[i]) ;
}
least_square(xs,ys);
function least_square(xs,ys) {
var mat = [];
var S_0 = S_calc(xs,0);
var S_1 = S_calc(xs,1);
var S_2 = S_calc(xs,2);
var T_0 = T_calc(xs,ys,0);
var T_1 = T_calc(xs,ys,1);
mat[0] = [S_2,S_1,T_1];
mat[1] = [S_1,S_0,T_0];
return solve_linear_equations(mat);
[/code]