2012-07-05 46 views
0

我從醫學研究的書這種原始的公式:PHP - 我的代碼出了什麼問題?

日誌(E)(EFW)=(-4.564+(0.282 * AC) - (0.00331 * AC^2))* 1000

EFW(克),AC(釐米)

這是我做過什麼:

$ac = 291; // (mm) 
$w = log(-4.564+(0.282*($ac/10))-(0.00331*pow(($ac/10),2)))*1000); 
echo "result: " . $w; 


result: 6.7 

結果應該是1900年至2500年之間克,但不6.7克。 我沒有任何線索這裏有什麼問題?請你幫我看看,謝謝!

編輯:我想有結果的格拉姆和我的交流是毫米

+0

之間:)你的代碼中有一個缺少括號的地方:http://codepad.org/GDSWjEDU – biziclop 2012-07-05 11:30:24

+0

你爲什麼要劃分$ AC/10時它不是在原來的公式? – ncremins 2012-07-05 11:31:30

+0

書中的「AC」和**實際結果**是什麼? – Leigh 2012-07-05 11:31:55

回答

5
  • 如果日誌(結果)== EXPR
  • 然後導致== EXP(表達式)

http://codepad.org/yVmzaToZ

代碼:

$ac = 291; // (mm) 
$w = exp(
    -4.564 
    +(0.282*($ac/10)) 
    -(0.00331*pow(($ac/10),2)) 
)*1000; 
echo "result: " . $w; 

結果:

result: 2314.6509531657 

這是1900年至2500年

+1

雖然答案根據預期範圍的OP評論看起來是正確的,但'* 1000'不應該在'exp()'裏面嗎? (是的,我知道這件事毀了一切;)) - 也可能是書中的公式不正確,或者在這裏被誤引。 – Leigh 2012-07-05 11:38:53

+0

是的,它不能毀了更多:結果將是INF :) – biziclop 2012-07-05 11:40:17

+2

我追蹤了公式。這是雙胞胎的體重。 'Campbell: Log e(BW)= - 4.564 + 0.282(AC)-0.00331(AC)^ 2' - * 1000不正確。你的回答是正確的:) – Leigh 2012-07-05 11:42:57

相關問題