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

Тема в разделе "Java", создана пользователем DSiNL, 18 ноя 2012.

  1. DSiNL

    DSiNL Гость

    Всем привет

    В коде в некоторых ответах (значение х равный дробному отрицательному числу, т.е. -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
     
  2. Whatka

    Whatka Well-Known Member

    Регистрация:
    9 окт 2011
    Сообщения:
    433
    Симпатии:
    4
    а вы сами пробовали возвести?
    (-3.5)^(-5)*-(3.5) что бы получить результат нужен корень из отрицательного числа,
    то есть работа с комплексными числами - стандартная функция работает только с вещественными

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

    DSiNL Гость

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

Поделиться этой страницей