Некоторые Ответы Выводятся Как Nan, Хотя Считает Корректно, Вроде...

  • Автор темы DSiNL
  • Дата начала
D

DSiNL

#1
Всем привет

В коде в некоторых ответах (значение х равный дробному отрицательному числу, т.е. -3,5; -2,5; -1,5; -0,5; ) выдает nan, а остальные значения считает, помогите разобраться

<!--shcode--><pre><code class='java'>System.out.println ( "\nПрограмма выводит на экран таблицу значений функции у = 2х^-5х-8 в диапазоне от -4 до 4. Шаг изменения аргумента 0,5." );
double y;
for ( double i = -4; i <= 4; i += 0.5 )
{
double x = i;
y = 2 * Math.pow ( x, -5 * x ) - 8;
System.out.println ( y );
// System.out.printf ("\n%5.5f", y );
}[/CODE]

Выводит такие значения

2.199023255544E12
NaN
-2.8697822E7
NaN
2040.0
NaN
-10.0
NaN
-6.0
3.3137084989847594
-6.0
-7.904424725780751
-7.998046875
-7.999978778313857
-7.999999860616561
-7.999999999397663
-7.999999999998181
 
W

Whatka

#2
а вы сами пробовали возвести?
(-3.5)^(-5)*-(3.5) что бы получить результат нужен корень из отрицательного числа,
то есть работа с комплексными числами - стандартная функция работает только с вещественными

Если надо точное значение придётся писать свою функию для работы над полем комплексных чисел.
 
D

DSiNL

#3
да, уже сам разобрался. Просто калькулятор давненько не пользовался, привык уже к mathcad, а там данное выражение посчиталось, вот это и ввело меня в тупик, хоть и понимал, что значит nan ;)