class ols {
a: any[] = new Array();
b: number[] = new Array();
number_ols: number;
sol: number[] = new Array();
data: any[] = new Array();
point: number[] = new Array();
datanumber: number;
cal(): void {
var s: number;
var sx: number;
var tx: number;
for (s = 1; s < this.datanumber + 1; s++) {
this.data[s] = new Array();
}
for (s = 1; s < this.number_ols + 1; s++) {
this.a[s] = new Array();
}
var delta: number;
for (s = 1; s < this.number_ols; s++) {
for (sx = 1; sx < this.number_ols; sx++) {
delta = 0;
for (tx = 1; tx < this.datanumber + 1; tx++) {
delta = delta + this.data[tx][s] * this.data[tx][sx];
}
this.a[s][sx] = delta;
}
}
for (s = 1; s < this.number_ols; s++) {
delta = 0;
for (tx = 1; tx < this.datanumber + 1; tx++) {
delta = delta + this.data[tx][s] * this.point[tx];
}
this.b[s][sx] = delta;
}
this.mat();
}
mat(): void {
var s: number;
var sx: number;
var tx: number;
var z: number;
for (s = 1; s < this.number_ols + 1; s++) {
for (sx = 1; sx < this.number_ols + 1; sx++) {
z = this.a[sx][s] / this.a[s][s];
if (s == sx) z = 0;
for (tx = 1; tx < this.number_ols + 1; tx++) {
this.a[sx][tx] = this.a[sx][tx] - z * this.a[s][tx];
}
this.b[sx] = this.b[sx] - z * this.b[s];
}
}
for (s = 1; s < this.number_ols + 1; s++) {
this.sol[s] = this.b[s] / this.a[s][s];
}
}
}
最終更新:2015年06月25日 02:37