Вычисление логарифмов
Проблема
Требуется вычислить логарифм по различным основаниям.
Решение
Для натуральных логарифмов (по основанию е) существует встроенная функция
log:
$log_e = log(VALUE);
Чтобы вычислить логарифм по основанию 10, воспользуйтесь функцией lоg10 модуля POSIX:
use POSIX qw(logl0);
$log_10 = logl0(VALUE);
Для других оснований следует использовать соотношение:
log_n(x) = log(x) / log(n);
где х — число, логарифм которого вычисляется, n — нужное основание.
sub log_base {
my ($base, $value) = @_;
return log($value)/log($base);
}
Комментарий
Функция log_base позволяет вычислять логарифмы по любому основанию. Если основание заранее
известно, намного эффективнее вычислить его натуральный логарифм заранее и сохранить для
последующего использования, вместо того чтобы каждый раз пересчитывать его заново.
См. такжеОписание функции log
Proverte kod v komentariyah gde pro list tam oshibki detskie
Оставить комментарий:
|
|