2014-09-22 2 views
0

Я пытаюсь написать программу Java, которая может принимать значения и помещать их в формулу, включающую log 1/3.Как вычислить логарифмы в java?

Как рассчитать log 1/3 в Java?

+0

Нужен ли вам натуральный логарифм? Итак, вы должны взглянуть на [Math :: log] (http://docs.oracle.com/javase/7/docs/api/java/lang/Math.html#log (double)) –

ответ

2

Вы можете использовать Math.log(value), чтобы получить журнал определенного значения, где значение указано в double. Вы также можете использовать Math.log10(value), чтобы получить базу 10 log.

Таким образом, вы можете просто использовать

Math.log(1/3.0) 
+1

Точка OP верный. Он спрашивает, как вычислить «log (1/3)». Вы попробовали 'Math.log (1/3)'? –

1

Вы можете вычислить натуральный логарифм с помощью метода Java.lang.Math.log():

System.out.println("Math.log(1/3.0)=" + Math.log(1/3.0)); 

См http://www.tutorialspoint.com/java/lang/math_log.htm и http://docs.oracle.com/javase/7/docs/api/java/lang/Math.html#log%28double%29

Чтобы получить log_10, вы можете сделать это следующим образом:

System.out.println("log_10(1/3.0)=" + (Math.log(1/3.0)/Math.log(10))); 
+0

Я использовал его, но когда я вычислил это: Math.log (5/2.0), результат равен 0.9162907318741551, но когда я вычислил с моим калькулятором результат 0.3979xxxx, почему он может быть другим? –

+0

Вы используете кнопку 'ln'or' log' на вашем калькуляторе? – MrTux

+0

@MuhammadHaryadiFutra Просто введите ln 2.5 и log 2.5 в Google. Вы увидите оба числа. –

0

Вам не нужна новая реализация есть встроенная функция для этого

Читайте о Math.log()

Но в этом случае log(1/3) даст вам значение в качестве infinity, если вы используете Math.log(1/3).

Вы можете использовать правило log следующим образом.

log(1/3) =log(1)-log(3) 

Теперь

Math.log(1/3)=Math.log(1)-Math.log(3) 

Eg:

System.out.println(Math.log(1)-Math.log(3)); 

вне положенное:

-1.0986122886681098 
0

Если вы хотите, чтобы вычислить логарифм вам нужно знать основы. После того, как вы знаете основы вы можете выполнить расчет:

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

http://en.wikipedia.org/wiki/Logarithm#Change_of_base

В Java функция Math#log(double) вычисляет натуральный логарифм. Таким образом, вы можете использовать это для расчета логарифма на заданную базу b:

double result = Math.log(x)/Math.log(b); 
+0

Почему результат отличается от результата калькулятора? –

+0

Вам нужно знать, какой логарифм вы хотите использовать. Если он находится на базе '10', вам нужно установить' b' как '10'. Ваш калькулятор, вероятно, использует 'e' в качестве базы' b', поэтому это будет естественный логарифм. http://en.wikipedia.org/wiki/Natural_logarithm –

Смежные вопросы