<?php
$time1 = microtime();
for ( $m=1; $m<=10; $m++ ){
$th[$m] = 0.95 + 0.01 * $m;
}
$beta = 0.95;
$a = 0.33;
$ks = pow((1 / $beta - 1) / $a , 1 / ($a - 1));
$h = 2 * $ks / 100;
for ( $n=1; $n<=100; $n++ ){
$k[$n] = $n * $h;
}
for ( $m=1; $m<=10; $m++ ){
for ( $n=1; $n<=100; $n++ ){
$cx[$m][$n] = $th[$m] * pow($k[$n] ,$a);
}
}
$t1 = 0;
Do {
for ( $m=1; $m<=10; $m++ ){
for ( $n=10; $n<=90; $n++ ){
$uc = 0;
for ( $s=1; $s<=10; $s++ ){
$k1 = $k[$n] + $th[$s] *pow($k[$n] ,$a) - $cx[$m][$n];
$r1 = $th[$s] * $a * pow($k1 , $a - 1) ;
$n1 = $k1 / $h;
$n2 = floor($n1);
$n3 = $n2 + 1;
$c1 = $cx[$s][$n2] + ($n1 - $n2) * ($cx[$s][$n3] - $cx[$s][$n2]);
$uc = $uc + ($beta * (1 + $r1)) / $c1;
}
$uc = $uc / 10;
$cp[$m][$n] = 1 / $uc;
}
}
$e = 0;
for ( $m=1; $m<=10; $m++ ){
for ( $n=10; $n<=90; $n++ ){
$e = $e + pow($cx[$m][$n] - $cp[$m][$n], 2);
}
}
for ( $m=1; $m<=10; $m++ ){
for ( $n=10; $n<=90; $n++ ){
$cx[$m][$n] = $cp[$m][$n];
}
}
If ($e < 0.0001) {
$t1 = 1000;
}
$t1 = $t1 + 1;
}
while($t1 < 100);
$t=1;
$kt[1] = $k[50];
for ( $t=1; $t<=200; $t++ ){
$n1 = $kt[$t] / $h;
$n2 = floor($n1);
$n3 = $n2 + 1 ;
$m = rand(1,10);
$tht[$t] = $th[$m];
$ct[$t] = $cx[$m][$n2] + ($n1 - $n2) * ($cx[$m][$n3] - $cx[$m][$n2]);
$kt[$t+1] = $kt[$t] + $tht[$t] * pow($kt[$t],$a) - $ct[$t];
}
for ( $t=100; $t<198; $t++ ){
print($ct[$t]);
print(",");
}
print($ct[198]);
?>
最終更新:2009年11月15日 19:55