Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
megabayt
1 / 1 / 1
Регистрация: 20.12.2011
Сообщений: 14
#1

Почему функция atanh работает неправильно? - C++

17.11.2014, 01:58. Просмотров 301. Ответов 4
Метки нет (Все метки)

Задание
http://content-15.foto.my.mail.ru/ma...wers/i-359.jpg
Кусок кода
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
for (double X = Xn; X <= Xk; X += dX)
    {
        n = 0;
        sum = 0;
        y = 0;
        do {
            y = 1 / ((2 * n + 1)*pow(X, (2 * n + 1)));
            sum += y;
            n++;
        } while (abs(y)>e);
        //tab = (log((1 + X) / (1 - X)))/2;
        tab = atanh(X);
        cout << "\n arth(x) = arth(" << X << ")\t otvet= " << sum << "\t\t" << n << "\t" << tab;
    }
Результат
http://content-12.foto.my.mail.ru/ma...wers/i-357.jpg
Миниатюры
Почему функция atanh работает неправильно?   Почему функция atanh работает неправильно?   Почему функция atanh работает неправильно?  

Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2014, 01:58     Почему функция atanh работает неправильно?
Посмотрите здесь:

Неправильно работает функция - C++
You are given natural number n. Calculate 12+22+...+n2. Example Input Output 2 5 Добавлено через 1 минуту #include &lt;iostream&gt;...

Неправильно работает функция - C++
Проблема заключается в том, что в случае, если пользователь вводит числа от 1 до 9 все работает правильно, а если от 10 и далее, то...

Неправильно работает функция - C++
Господа, написал следующий код, цель - заполнить имеющийся вектор структур данными из файла + вывести количество символа @ Проблема...

Неправильно работает функция gets( ) - C++
..... char *str = new char; gets( str ); printf( &quot;%s&quot;, str ); .....

Неправильно работает функция - C++
void FreeTop( Tree *&amp;tree ) { if( tree-&gt;d == NULL )delete tree; else FreeTop( tree-&gt;d ); } это моя функция освобождения...

Почему программа неправильно работает - C++
string IntToStr(int a) { if (a == 0) return &quot;0&quot;; string str = &quot;&quot;; int b = a; if (a &lt; 0) a *= -1; while (a &gt; 0) str =...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
6322 / 5906 / 1913
Регистрация: 18.12.2011
Сообщений: 15,189
Завершенные тесты: 1
17.11.2014, 09:47     Почему функция atanh работает неправильно? #2
Вы как раз вычисляете правильно (разве что - неэффективно).
А что за функция atanh(X) - непонятно. В стандартной math.h такой функции нет.
Обратная к ней tanh - есть.
Для проверки правильности можете вывести tanh(sum).
Должно получиться X.
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
3710 / 1985 / 516
Регистрация: 18.10.2014
Сообщений: 3,567
17.11.2014, 09:51     Почему функция atanh работает неправильно? #3
В спецификации 'atanh' сказано, что аргумент должен быть в диапазоне (-1, +1).

http://en.cppreference.com/w/cpp/numeric/math/atanh
zss
Модератор
Эксперт С++
6322 / 5906 / 1913
Регистрация: 18.12.2011
Сообщений: 15,189
Завершенные тесты: 1
17.11.2014, 09:57     Почему функция atanh работает неправильно? #4
TheCalligrapher, в какой версии С++ есть atanh?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2014, 10:01     Почему функция atanh работает неправильно?
Еще ссылки по теме:

Почему деструктор работает неправильно? - C++
на лабараторной столкнулся в проблемой. деструктор вызывается только один раз. #include &lt;cstring&gt; #include &lt;iostream&gt; using...

Почему программа работает неправильно - C++
не могу понять почему программа работает не правильно # include &lt;stdio.h&gt; # include &lt;conio.h&gt; # include &lt;math.h&gt; float f1(int...

неправильно работает функция replace()? - C++
Нужно написать программу, которая заменяет в строке символ '/' на строку &quot;&quot;. Ниже дан цикл, в котором это происходит. Но замена почему-то...

Почему моя программа неправильно работает? - C++
Постоянно выводится сообщение Incorrect letter grade entered. Enter a new grade. #include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; int...

Подскажите почему указатель работает неправильно? - C++
Вот код: #include &lt;iostream&gt; #include &lt;time.h&gt; #include &lt;cstdlib&gt; #include &lt;vector&gt; using namespace std; void...

подскажите почему программа работает неправильно - C++
Использование двумерного массива как аргумента функции и возвращаемого значения функции выдает предупреждение:1&gt;------ Build...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
3710 / 1985 / 516
Регистрация: 18.10.2014
Сообщений: 3,567
17.11.2014, 10:01     Почему функция atanh работает неправильно? #5
Цитата Сообщение от zss Посмотреть сообщение
TheCalligrapher, в какой версии С++ есть atanh?
В С99, и С++11 наследует ее оттуда.
Yandex
Объявления
17.11.2014, 10:01     Почему функция atanh работает неправильно?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru