Вычисление логарифмов

Проблема

Требуется вычислить логарифм по различным основаниям.

Решение

Для натуральных логарифмов (по основанию е) существует встроенная функция 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



2013-09-10 17:05:19

Proverte kod v komentariyah gde pro list tam oshibki detskie




Оставить комментарий:
Ваше Имя:
Email:
Антибот: *  
Ваш комментарий: