var a=new Array();
var ax=new Array();
var bx=new Array();
var b=new Array();
var z;
var lam=new Array();
var v=new Array();
var number;
function sample(){
number=3;
for(s=1;s<number+1;s++){
a[s]=new Array();
}
for(s=1;s<number+1;s++){
v[s]=new Array();
}
for(s=1;s<number+1;s++){
ax[s]=new Array();
}
a[1][1]=1;
a[1][2]=0.5;
a[1][3]=0.3;
a[2][1]=0.5;
a[2][2]=1;
a[2][3]=0.6;
a[3][1]=0.3;
a[3][2]=0.6;
a[3][3]=1;
ax=a;
seekbs();
lam[1]=z;
for(s=1;s<4;s++){
v[1][s]=b[s];
}
for(s=1;s<4;s++){
for(sx=1;sx<4;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<4;s++){
for(sx=1;sx<4;sx++){
ax[s][sx]=ax[s][sx]-z*b[s]*b[sx];
}
}
seekbs();
lam[3]=z;
for(s=1;s<4;s++){
v[3][s]=b[s];
}
alert(lam[1]);
}
function seekbs(){
b[1]=1;
b[2]=0;
b[3]=0;
mode=0;
while(mode<10){
seekb();
var e;
e=0;
for(s=1;s<4;s++){
e=e+ (bx[s]-b[s])*(bx[s]-b[s]);
}
if(e<0.01)mode=100;
for(s=1;s<4;s++){
b[s]=bx[s];
}
mode=mode+1;
}
}
function seekb(){
var s,sx;
var b1;
for(s=1;s<4;s++){
b1=0;
for(sx=1;sx<4;sx++){
b1=b1+ax[s][sx]*b[sx];
}
bx[s]=b1;
}
z=0;
for(s=1;s<4;s++){
z=z+bx[s]*bx[s];
}
z=Math.sqrt(z);
for(s=1;s<4;s++){
bx[s]=bx[s]/z;
}
}
最終更新:2014年01月10日 21:59