首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP中的科学计算

PHP中的科学计算
EN

Stack Overflow用户
提问于 2014-08-06 22:47:22
回答 2查看 324关注 0票数 0

我有一个客户,他想把这个计算变成PHP中的一个函数。我得到了测试数字和答案,我从这个答案中偏离了太多,以至于它是不正确的,我不确定是计算错误,还是我只是看不到问题。

代码语言:javascript
复制
function Density($m1 , $m2, $m3, $pw, $psm){

  return   $m1 /  (($m2 - $m3) / $pw) - (($m2 - $m1) / $psm) ; 
} 
$Density = ( Density(746.2, 761.7, 394.6, (998.1*1000), (761.7-746.2)) / 1000000)

output : 2.02882553228
answer : 2.127

另外,我也尝试过这样做,但这是不正确的

代码语言:javascript
复制
function Density($m1 , $m2, $m3, $pw, $psm){

  return   $m1 /  ((($m2 - $m3) / $pw) - (($m2 - $m1) / $psm )); 
} 

output : -0.001
answer : 2.127

我知道它应该尽可能接近答案,因为它可以得到0.010的正确答案,但我看不出我做错了什么,请帮助互联网。

EN

回答 2

Stack Overflow用户

发布于 2014-08-06 22:51:18

记住BEDMAS -括号指数除法、乘法、加法、减法。您的代码对于操作顺序是错误的:

代码语言:javascript
复制
m1 / (((m2 - m3) / pw) - ((m2 - m1) / psm))

或者,如果这个方程式排版正确:

代码语言:javascript
复制
          m1
 --------------------
 m2 - m3      m2 - m1
 -------  -   -------
    pw          psm
票数 3
EN

Stack Overflow用户

发布于 2014-08-06 22:53:37

您的实现与所需的不同。

您应该确保正确遵守运算符优先规则:

代码语言:javascript
复制
return   $m1 /  ((($m2 - $m3) / $pw) - (($m2 - $m1) / $psm)) ;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25163482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档