Это первый раз, когда я использую bc. Я хочу рассчитать журнал (основание 10) числа. Как это сделать?
Как вычислить журнал числа с помощью bc?
Ответ 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
Неверный правильный способ установить это и получил ошибки, пытаясь опубликовать его здесь.
Доминик-Люк Вебб
Ответ 5
bc -l
l(____)
(заполните пробел там своим номером)
Я нашел учебники по адресу:
http://unix-simple.blogspot.com/2006/10/unix-basic-calculator.html
и
http://unix-simple.blogspot.com/2006/10/taking-roots-with-unix-basic.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)')
Надеюсь, что это поможет!