2017-02-09 13 views
0

Согласно моему собственному опыту и документации Java, в Math.pow (i, j), когда i является отрицательным числом, а j является нецелым, Math.pow всегда возвращает NaN, однако, согласно всем различные калькуляторы, которые я пробовал, есть ситуации, когда существует реальное решение отрицательной базы для степени не целочисленного показателя.Есть ли способ вычислить отрицательную базу для мощности не целого показателя в Java?

Например:

System.out.println(Math.pow(-3, 0.6)); 

возвращает NaN

Есть ли работа обходные к этому?

Заранее спасибо.

+0

Какие исследования вы сделали? Спросите, потому что, если есть хороший обходной путь, я ожидаю, что это будет описано где-то в Интернете. –

+0

Также, какой результат вы ожидаете? (У меня есть ключ, но я думаю, вам лучше сделать это явным.) –

+0

Если я правильно угадываю ваше намерение, первым шагом может быть преобразование 0,6 в дробь, здесь 3/5. Как это сделать? См. [Двойное разделение в Java] (http://stackoverflow.com/questions/14014158/double-to-fraction-in-java). –

ответ

0

Как вы бы описали эту власть? Стандартный метод состоит в том, чтобы найти полярное разложение соответственно. комплексный логарифм основания и подключите питание в том, что

pow(-3, 0.6) = exp(0.6 * (log(3) + i*pi)) 
= pow(3,0.6) * (cos(0.6*pi) + i*sin(0.6*pi)) 

Теперь вы можете также выбрать другие ветви логарифма представлять Ln(-3), поскольку это также верно, что -1=exp(-i*pi)=exp(i*3*pi)=exp(-5*i*pi)=exp(i*7*pi)=…. Только один из этих вариантов даст реальный результат власти. Однако как компьютер знает, что вы хотите именно этот вариант? И что вы делаете для pow(-3,0.61)?

0

По моему собственному опыту и к документации Java, в Math.pow(i,j), когда i является отрицательным числом и j не является целым числом, Math.pow всегда будет возвращать NaN, однако, по мнению всех различных калькуляторов у меня есть в некоторых случаях существует реальное решение отрицательной базы для степени не целочисленного показателя.

Например:

System.out.println(Math.pow(-3, 0.6));

возвращает NaN

Там являются не любые работы обходные к этому извините

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

  • Нет связанных вопросов^_^