如何将数学方程式转换为php?

时间:2015-04-06 07:48:37

标签: php math

我不擅长数学,而且我希望将3个数学方程式转换为php函数。

我已经尝试过如何在php中单独完成方程式的各个部分,但是我一直都会遇到奇怪的结果,所以我一定做错了。

是否存在指数增长的PHP函数?

带方程的图像在这里: http://i.imgur.com/zIhMEEu.jpg

由于


对于第二个等式,这就是我所拥有的:

$rank = 50;

$xp = log(24000 * (2^($rank/6) - 1));

echo $xp;

这个数字太小,不能正确。我也不确定如何转换' ln 2'进入PHP。 log()函数似乎出现在php'的自然对数之下。搜索范围。

1 个答案:

答案 0 :(得分:4)

为了创建这些方程式,需要组合各种函数。 log函数在您选择的基础上执行对数运算(如果您不提供基数,则为ln)。 pow函数执行取幂。

你的等式将是:

function rank($xp) {
    return floor(6 * log((xp * log(2) / 24000 + 1), 2));
}

function xp($rank) {
    return floor(24000 * (pow(2, (rank / 6)) - 1) / log(2));
}

function kills($rank) {
    return floor(xp($rank) / 200);
}

为了清楚起见,还有一些括号比绝对需要的更多。

一般来说,数学符号比大多数编程语言(不仅仅是PHP)更加紧凑和富有表现力,因为您可以使用任何您能想到的符号来表示各种概念。在编程中,你会卡住调用函数。

此外,我不确定各种硬编码的数字代表什么,或者在公式的上下文中更改它们是否有意义,但您可能想要将它们设置为额外参数功能。例如:

function kills($rank, $killsPerXp = 200) {
    return floor(xp($rank) / $killsPerXp);
}

这增加了代码的清晰度,因为它可以让您知道数字代表什么。同时,它允许您更容易地更改数字,以防您在多个地方使用它们。