Ошибка времени выполнения — «Деление на ноль» с постоянной Эйлера

У меня есть эта простая функция:

введите описание изображения здесь

И вот код, который я написал для его реализации:

public function SimpleEquation($top, $bottom){
$result = (-1/(1 + M_E^(2*M_E - 2*($top/$bottom)))) + 1.032; //this is line 123.
$result = round($result, 2, PHP_ROUND_HALF_DOWN);
return $result;
}

Но когда я его выполняю, выдает ошибку:

ErrorException в строке 123 MyFile.php: деление на ноль

По сути, я думал, что с входным входом что-то не так, поэтому я попробовал уравнение с постоянными значениями, которые вызывают проблему для функции вместо переменных:

$result = (-1/(1 + M_E^(2*M_E - 2*(5.05/5.78)))) + 1.032;
echo "Result: ".$result."<br>";

Это также приводит к тому же делению на ноль ошибок. Я пытался переписать уравнение более 4 раз с нуля, и оно работает довольно хорошо с большинством значений. Я также пытался использовать простую константу, такую ​​как $eulerConstant = 2.718 на случай переполнения системы или чего-то еще, но это все равно дало мне тот же результат.

Я был бы действительно счастлив с помощью о том, почему это не работает.
Большое спасибо.

1

Решение

Возведение в степень сделано с pow функция, а не ^ побитовый оператор XOR.

6

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]