アットウィキロゴ

tiiki

var m = new Array();
var ms = new Array();
var d = new Array();
var c = new Array();
var y = new Array();
var yy = new Array();
 
var alpha;
 
function sample() {
 
 
    y[1] = 200;
    y[2] = 250;
    y[3] = 300;
    c[1] = 300;
    c[2] = 250;
    c[3] = 200;
 
    for(s=1;s<4;s++){
    d[s] = new Array();
}
 
    d[1][1] = 0;
    d[1][2] = 2;
    d[1][3] = 4;
    d[2][1] = 2;
    d[2][2] = 0;
    d[2][3] = 2;
    d[3][1] = 4;
    d[3][2] = 2;
    d[3][3] = 0;
 
 
    m[1] = 5;
    m[2] = 7;
    m[3] = 10;
 
 
    alpha = 0.5;
 
    op();
 
    g();
 
    alert(yy[1]+","+yy[2]+","+yy[3]);
 
 
}
 
 
 
function op() {
 
    for (num = 1; num < 11; num++) {
 
        for (tr = 1; tr < 4; tr++) {
            subx(tr);
        }
 
    }
 
 
}
 
 
function subx(tr) {
 
    for (s = 1; s < 4; s++) {
        ms[s] = m[s];
    }
 
 
    mine = 999999;
    delta = 1;
    for (s1 = 1; s1 < 11; s1++) {
        ms[tr] = s1;
        e1 = f();
        if (e1 < mine) delta = s1;
        if (e1 < mine) mine = e1;
    }
 
    m[tr] = delta;
 
}
 
 
function f() {
 
    var p = new Array();
    for (s = 1; s < 4; s++) {
        p[s] = new Array();
    }
 
    for (s = 1; s < 4; s++) {
        for (sx = 1; sx < 4; sx++) {
            p[s][sx] = alpha * ms[s] - (1 - alpha) * d[s][sx];
        }
    }
 
    var ys = new Array();
    for (s = 1; s < 4; s++) {
        ys[s] = 0;
    }
 
 
    for (sx = 1; sx < 4; sx++) {
        p1 =0;
        for (s = 1; s < 4; s++) {
            p1 = p1 + p[s][sx];
        }
        for (s = 1; s < 4; s++) {
        ys[s] =ys[s]+ c[sx]*p[s][sx]/p1;
        }
}
 
 
    e1 = 0;
    for (s = 1; s < 4; s++) {
        e1 = e1 + (y[s] - ys[s]) * (y[s] - ys[s]);
}
 
 
 
    return e1;
}
 
 
function g() {
 
    var p = new Array();
    for (s = 1; s < 4; s++) {
        p[s] = new Array();
    }
 
    for (s = 1; s < 4; s++) {
        for (sx = 1; sx < 4; sx++) {
            p[s][sx] = alpha * m[s] - (1 - alpha) * d[s][sx];
            if (p[s][sx] < 0) p[s][sx] = 0;
        }
    }
 
 
    for (s = 1; s < 4; s++) {
        yy[s] = 0;
    }
 
 
    for (sx = 1; sx < 4; sx++) {
        p1 = 0;
        for (s = 1; s < 4; s++) {
            p1 = p1 + p[s][sx];
        }
        for (s = 1; s < 4; s++) {
            yy[s] = yy[s] + c[sx] * p[s][sx] / p1;
        }
    }
 
 
}
 
最終更新:2015年06月22日 15:11