Подтвердить что ты не робот

Как вычислить журнал числа с помощью bc?

Это первый раз, когда я использую bc. Я хочу рассчитать журнал (основание 10) числа. Как это сделать?

4b9b3361

Ответ 1

Вызовите bc с опцией -l (чтобы включить математическую библиотеку) так

$ echo 'l(100)/l(10)' | bc -l
2.00000000000000000000

Используйте функцию l, которая является естественным журналом. Возьмите журнал интересующего вас числа, затем разделите его на естественный лог на 10.

Ответ 2

логарифм x относительно базы b может быть вычислен при любой функции логарифма произвольной базе k, что на самом деле довольно круто!

log_b(x) = log_k(x) / log_k(b)

например.

log_b(x) = ln(x) / ln(b)

если b = 10:

log_10(x) = ln(x) / ln(10)

и -l в bc допускает математическую библиотеку

так что это работает:

# bc -l
l(100) / l(10)
2.00000000000000000000

Ответ 3

Если вы запустите bc с помощью переключателя -l, тогда есть функция l(), которая вычисляет естественный журнал его аргумента.

Ответ 4

Плакат специально запросил журнал 10.

У меня есть bc 1.06.95 на Ubuntu 12.10. "l (x)" в этой версии BC не является основание 10. Это естественный log (основание e). Это подтверждается здесь, и BC работал так с некоторого времени:

http://linux.about.com/od/commands/l/blcmdl1_bc.htm

Я подозреваю, что вам нужно сделать работу с базой 10, это расширение BC:

http://x-bc.sourceforge.net/extensions_bc.html

Неверный правильный способ установить это и получил ошибки, пытаясь опубликовать его здесь.

Доминик-Люк Вебб

Ответ 6

bc напрямую не дает логарифм в других, кроме или иным образом, используя bc, мы можем вычислить только ln (x). Итак, чтобы получить какой-либо другой логарифм базы данных, целесообразно запомнить некоторые идентификаторы. Основной -

log base 10 (x) = log base e (x) / log base e (10)

Здесь я даю вам несколько примеров различных базовых логарифмов -

[email protected] ~ $ bc -l
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 

l(8)/l(2)
3.00000000000000000002

l(1000)/l(10)
3.00000000000000000000

l(100000)/l(100)
2.50000000000000000000

l(100000)/l(10)
5.00000000000000000001

l(81)/l(3)
4.00000000000000000001

l(64)/l(4)
3.00000000000000000000

quit()
[email protected] ~ $ 

Надеюсь, это поможет вам.

Ответ 7

Python может пригодиться для этого, поскольку

log3=$(python -c  'import math; print math.log(3)')

Надеюсь, что это поможет!