var mat=new Array();
var maxx,minx;
var number;
var x=new Array();
var y=new Array();
var ch;
function sample(){
var s;
for(s=1;s<3;s++){
mat[s]=new Array();
}
mat[1][1]=2;
mat[1][2]=2;
mat[2][1]=7;
mat[2][2]=6;
maxx=100;
minx=-100;
number=100;
ch=check(number,maxx,minx);
if(ch>50){
point(number,maxx,minx);
x[1]=search(x[1],y[1]);
x[2]=search(x[2],y[2]);
}
$("#memo").html("abc");
}
function search(px1,px2){
var x1,x2,x3;
var y1,y2;
var mode;
x1=px1;
x2=px2;
y1=det(x1);
y2=det(x2);
mode=0;
while(mode<50){
x3=x2-y2*(x2-x1)/(y2-y1);
y3=det(x3);
x1=x2;
x2=x3;
y1=y2;
y2=y3;
if(y3*y3<0.001)mode=100;
mode=mode+1;
}
return x3;
}
function check(number,maxx,minx){
var delta;
var ch,s,h;
var x1,y1;
var px1,px2;
delta=(maxx-minx)/number;
px1=0;
ch=0;
for(s=1;s<number+1;s++){
x1=minx+delta*s;
y1=det(x1);
if(y1<0)ch=100;
h=0;
if(y1>0)h=h+1;
if(ch<50)h=h+1;
if(h==2)px1=s;
}
px2=0;
ch=0;
for(s=px1+1;s<number+1;s++){
x1=minx+delta*s;
y1=det(x1);
if(y1>0)ch=100;
h=0;
if(y1<0)h=h+1;
if(ch<50)h=h+1;
if(h==2)px2=s;
}
ch=0;
h=0;
if(px1>10)h=h+1;
if(px2>10)h=h+1;
if(h==2)ch=100;
return ch;
}
function point(number,maxx,minx){
var delta;
var ch,s,h;
var x1,y1;
var px1,px2;
delta=(maxx-minx)/number;
px1=0;
ch=0;
for(s=1;s<number+1;s++){
x1=minx+delta*s;
y1=det(x1);
if(y1<0)ch=100;
h=0;
if(y1>0)h=h+1;
if(ch<50)h=h+1;
if(h==2)px1=s;
}
x[1]=minx+delta*px1;
y[1]=x[1]+delta;
px2=0;
ch=0;
for(s=px1+1;s<number+1;s++){
x1=minx+delta*s;
y1=det(x1);
if(y1>0)ch=100;
h=0;
if(y1<0)h=h+1;
if(ch<50)h=h+1;
if(h==2)px2=s;
}
x[2]=minx+px2*delta;
y[2]=x[2]+delta;
}
function det(x1){
var z;
z=(mat[1][1]-x1)*(mat[2][2]-x1);
z=z-mat[2][1]*mat[1][2];
return z;
}
最終更新:2014年01月10日 12:53