アットウィキロゴ

aidol

y=new Array();
x=new Array();
y1=new Array();
x1=new Array();
a=new Array();
var number; 
 
var ax=new Array();
var bx=new Array();
var b=new Array();
var z;
var lam=new Array();
var v=new Array();
y2=new Array();
x2=new Array();
 
 
 
function sample() {
 
 var query = "SELECT * FROM ";   
query=query+"1LwFrC2WTk7mbNj6ZD8nEIdxeLVZluDxXSoPG0LU"; 
 
 
 
        var encodedQuery = encodeURIComponent(query);
 
        var url = ['https://www.googleapis.com/fusiontables/v1/query'];
        url.push('?sql=' + encodedQuery);
        url.push('&key=AIzaSyAH0WCAXRIdHdbI-6bnMSN4kVDDZZmGyqY');
        url.push('&callback=?');
 
var sx;
 
sx=0;
 
        $.ajax({
          url: url.join(''),
          dataType: 'jsonp',
          success: function (data) {
 
 var rows = data['rows'];
 
for (var i in rows) {
sx=sx+1;
y[sx]=parseInt(rows[i][2]);
x[sx]=parseInt(rows[i][1]);        
}
 
number=sx;
 
select();
 
power();
 
table();
 
}
});
 
}
 
 
 
function select(){
 
var avx,avy,sigx,sigy;
 
 
avx=0;
 
for(s=1;s<number+1;s++){
avx=avx+x[s];
}
avx=avx/number;
 
avy=0;
 
for(s=1;s<number+1;s++){
avy=avy+y[s];
}
avy=avy/number;
 
sigx=0;
for(s=1;s<number+1;s++){
sigx=sigx+(x[s]-avx)*(x[s]-avx);
}
 
sigx=Math.sqrt(sigx/number);
 
sigy=0;
for(s=1;s<number+1;s++){
sigy=sigy+(y[s]-avy)*(y[s]-avy);
}
 
sigy=Math.sqrt(sigy/number);
 
for(s=1;s<number+1;s++){
x1[s]=(x[s]-avx)/sigx;
y1[s]=(y[s]-avy)/sigy;
}
 
 
for(s=1;s<3;s++){
a[s]=new Array();
}
 
z=0;
for(s=1;s<number+1;s++){
z=z+x1[s]*x1[s];
}
a[1][1]=z;
 
z=0;
for(s=1;s<number+1;s++){
z=z+y1[s]*y1[s];
}
a[2][2]=z;
 
z=0;
for(s=1;s<number+1;s++){
z=z+x1[s]*y1[s];
}
a[1][2]=z;
a[2][1]=z;
 
}
 
function power(){
 
var s;
 
 
for(s=1;s<3;s++){
v[s]=new Array();
}
 
for(s=1;s<3;s++){
ax[s]=new Array();
}
 
ax=a;
 
seekbs();
 
lam[1]=z;
 
for(s=1;s<3;s++){
v[1][s]=b[s];
}
 
 
for(s=1;s<3;s++){
for(sx=1;sx<3;sx++){
ax[s][sx]=ax[s][sx]-z*b[s]*b[sx];
}
}
 
seekbs();
 
lam[2]=z;
 
for(s=1;s<4;s++){
v[2][s]=b[s];
}
 
 
for(s=1;s<number+1;s++){
x2[s]=x1[s]*v[1][1]+y1[s]*v[1][2];
y2[s]=x1[s]*v[2][1]+y1[s]*v[2][2];
}
 
 
 
}
 
function seekbs(){
 
var mode;
 
b[1]=1;
b[2]=0;
 
mode=0;
 
while(mode<10){
 
seekb();
 
var e;
      e=0;
for(s=1;s<3;s++){
    e=e+ (bx[s]-b[s])*(bx[s]-b[s]);
     }
if(e<0.01)mode=100;
 
      for(s=1;s<3;s++){
      b[s]=bx[s];
      }
 
      mode=mode+1;
 
}
 
}
 
 
function seekb(){
 
var s,sx;
var b1;
 
    for(s=1;s<3;s++){
    b1=0;
    for(sx=1;sx<3;sx++){
    b1=b1+ax[s][sx]*b[sx];
    }
    bx[s]=b1;
    }
 
   z=0;
     for(s=1;s<3;s++){
     z=z+bx[s]*bx[s];
     }
 
z=Math.sqrt(z);
 
 
 for(s=1;s<3;s++){
     bx[s]=bx[s]/z;
     }
 
}
 
最終更新:2014年01月11日 09:31