Как рассчитать общие функции журнала, такие как log5 (6) в Numpy? [Дубликат]

Интересно, почему все предполагают, что версии состоят только из целых чисел - в моем случае это было не так.

Зачем изобретать колесо (если версия соответствует стандарту Semver)

Сначала установите https://github.com/vdurmont/semver4j через Maven

Затем используйте эту библиотеку

  Semver sem = new Semver (  "1.2.3");  sem.isGreaterThan ( "1.2.2");  // true  

30
задан Banana 6 August 2014 в 21:31
поделиться

1 ответ

Я бы предложил использовать встроенную функцию python math.log() , поскольку numpy не имеет такой встроенной логарифмической функции:

import math
math.log(42**3, 42) #3.0

Однако для людей настаивая на использовании numpy (например, при использовании больших массивов), всегда есть опция:

np.log(42**3)/np.log(42) #3.0
np.log(42**np.array([3, 4]))/np.log(42) #array([3., 4.])

Учитывая правило изменения базы логарифма:

log_b(x)=log_c(x)/log_c(b) [/g1]

61
ответ дан Banana 15 August 2018 в 18:43
поделиться
  • 1
    Я настаиваю на использовании Numpy, когда мне нужен логарифм массива из тысячи чисел. – Davidmh 7 August 2014 в 00:20
  • 2
    Я думаю, что последняя строка (np.log(42**np.array([3, 4]))/np.log(42)) имеет опечатку - власти не должно быть там. Разве это не должно быть np.log(np.array([3, 4]))/np.log(42)? – Fake Name 20 August 2015 в 17:46
  • 3
    @FakeName Это пример, показывающий, что вход [3, 4] также дает выход [3, 4], поэтому нет опечатки. Однако вы правы, и на самом деле вы его не включили. – Banana 24 August 2015 в 15:37
Другие вопросы по тегам:

Похожие вопросы: