アットウィキロゴ

lp04 054

public class lp03{
public static void main(String[] args) {
double x[][]=new double[6][8];
int m,n,maxn,maxm;
double maxv,minx;
double z,x1,x2;
int p,t1,j;
double u1;
double uc,ux,cs,xs,h;
h=0.001;
cs=0.4;
xs=0.6;
u1=Math.log(cs)+Math.log(xs);
uc=(Math.log(cs+h)+Math.log(xs)-u1)/h;
ux=(Math.log(cs)+Math.log(xs+h)-u1)/h;
for(m=0;m<6;m++){
for(n=0;n<8;n++){
x[m][n]=0;
}
}
x[0][1]=uc;
x[0][2]=ux;
x[1][1]=1;
x[1][2]=0;
x[1][3]=1;
x[1][0]=0.4+h;
x[2][1]=-1;
x[2][2]=0;
x[2][3]=0;
x[2][4]=1;
x[2][0]=-0.4+h;
x[3][1]=0;
x[3][2]=1;
x[3][3]=0;
x[3][4]=0;
x[3][5]=1;
x[3][0]=0.6+h;
x[4][1]=0;
x[4][2]=-1;
x[4][3]=0;
x[4][4]=0;
x[4][5]=0;
x[4][6]=1;
x[4][0]=-0.6+h;
x[5][1]=1;
x[5][2]=1;
x[5][3]=0;
x[5][4]=0;
x[5][5]=0;
x[5][6]=0;
x[5][7]=1;
x[5][0]=1;
t1=0;
while(t1<3){
maxn=0;
maxv=0;
for(n=1;n<8;n++){
if (x[0][n]>maxv)maxn=n;
if (x[0][n]>maxv)maxv=x[0][n];
}
System.out.println(maxn);
minx=999;
maxm=0;
for (m=1;m<6;m++){
x1=x[m][0]/x[m][maxn];
if (x1<0)x1=9999;
if (x1<minx)maxm=m;;
if (x1<minx)minx=x1;;
}
System.out.println(maxm);

for (m=0;m<6;m++){
z=x[m][maxn]/x[maxm][maxn];
if (m==maxm)z=0;
for (n=0;n<8;n++){
x[m][n]=x[m][n]-z*x[maxm][n];
}
}
j=0;
for (n=1;n<8;n++){
if (x[0][n]>0)j=100;;
}
if (j<50)t1=1000;
t1=t1+1;
}

System.out.println(x[0][0]);











}
}
最終更新:2010年06月09日 05:24