v= -0.8+10^10^(w1- ((w1-w2) /(log(t1)-log(t2)))*(log(t1)-log(t3)));
gdzie w = log(log(v+0.8))
od strony php mam nastepująco
<?php private function lepkosc ($w1,$w2,$t1,$t2,$t3){ $w1 = log(log($w1 + 0.8)); $w2 = log(log($w2 + 0.8)); $t1 = $t1+273.15; // zamiana na kelwiny $t2 = $t2+273.15; $t3 = $t3+273.15; bcscale(10); $w3 = bcsub( $w1,bcmul( bcdiv( bcsub($w1,$w2), bcsub(log($t1),log($t2)) ),bcsub(log($t1),log($t3)) ) ); return bcsub(bcpow(10,bcpow(10,$w3)),0.8); } ?>
lub
<?php private function lepkosc ($w1,$w2,$t1,$t2,$t3){ $w1 = log(log($w1 + 0.8)); $w2 = log(log($w2 + 0.8)); $t1 = $t1+273.15; // zamiana na kelwiny $t2 = $t2+273.15; $t3 = $t3+273.15; return (10 ^ ( 10 ^ ($w1- ( ($w1-$w2) / (log($t1)-log($t2)) ) * (log($t1)-log($t3)))))-0.8; } ?>
i zawsze zwraca mi błędny wynik
dla
w1 = 43,
w2= 6.4,
t1=313,
t2=373,
t3=589,
v3 powinno wyjść 0.638399828
a mi zawsze inaczej wychodzi
dla funkcji z bcmath wychodzi mi zawsze 0.20000
dla już cos innego ale nie poprawny wynik
może ja coś źle robie czy to może niedokładne liczenie php