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


How do I go about converting a math equation into php?

我数学不太好,我想把3个数学方程转换成php函数。

我试着在php中查找如何单独完成等式的每一部分,但我一直得到奇怪的结果,所以我一定做错了什么。

有指数增长的php函数吗?

带有方程式的图像如下:https://i.stack.imgur.com/W17IU.jpg

感谢


对于第二个方程,这就是我所拥有的:

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

这个数字太小,不可能是正确的。我也不知道如何将"ln 2"转换为PHP。log()函数似乎出现在"php的自然对数"搜索下。

为了创建这些方程,需要组合各种函数。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);
}

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