2012-07-05 47 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

相关问题