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

Ошибка pow:DOMAIN error в написании функции Бесселя первого рода нулевого порядка - C++

Восстановить пароль Регистрация
 
helga_schaffer
0 / 0 / 0
Регистрация: 09.05.2014
Сообщений: 5
09.05.2014, 00:50     Ошибка pow:DOMAIN error в написании функции Бесселя первого рода нулевого порядка #1
Доброго времени суток)) Необходимо записать функцию Бесселя первого рода нулевого порядка. Записала, вроде как, по формуле.. с помощью знакопеременного ряда, но при компиляции пишет: pow: DOMAIN error , может кто-нибудь встречался с похожим, или может я, что упустила в коде?? Заранее спасибо))
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int Fkt(int b)
{
int f = 1;
for (int i = 1; i <= b; i++)
f *= i;
return(f) ; }
 
 double J0( double x)
{
  long double Sum =0.0, p=1;
for (int k=0;k<4; k++){
  Sum =  Sum + p*(pow(((x/2)),(2*k)))/(Fkt(k+1)*Fkt(k+1));  //  <---
  p=-p;
 
  }
  
  return(Sum);
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.05.2014, 00:50     Ошибка pow:DOMAIN error в написании функции Бесселя первого рода нулевого порядка
Посмотрите здесь:

C++ Полином Лежандра первого рода. Run-Time error =(
C++ Сумма элементов массива, от первого до последнего нулевого, с использованием функции
C++ error C2661: pow: нет перегруженной функции, принимающей 1 аргументов
C++ при вызове функции pow() выдаёт ошибку: test.cpp:(.text+0x59b): undefined reference to `pow'
C++ ошибка pow overflow error
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IrineK
Заблокирован
09.05.2014, 01:07     Ошибка pow:DOMAIN error в написании функции Бесселя первого рода нулевого порядка #2
Цитата Сообщение от helga_schaffer Посмотреть сообщение
pow: DOMAIN error
если х/2 отрицательный или равный 0
helga_schaffer
0 / 0 / 0
Регистрация: 09.05.2014
Сообщений: 5
09.05.2014, 01:18  [ТС]     Ошибка pow:DOMAIN error в написании функции Бесселя первого рода нулевого порядка #3
Цитата Сообщение от IrineK Посмотреть сообщение
если х/2 отрицательный или равный 0
То есть для x надо вместо double int прописать??
IrineK
Заблокирован
09.05.2014, 01:19     Ошибка pow:DOMAIN error в написании функции Бесселя первого рода нулевого порядка #4
Цитата Сообщение от helga_schaffer Посмотреть сообщение
вместо double int прописать?
int тоже бывает равен 0 или отрицательным.
helga_schaffer
0 / 0 / 0
Регистрация: 09.05.2014
Сообщений: 5
09.05.2014, 01:23  [ТС]     Ошибка pow:DOMAIN error в написании функции Бесселя первого рода нулевого порядка #5
Цитата Сообщение от IrineK Посмотреть сообщение
если х/2 отрицательный или равный 0
или функцию написать подобную POW, но считающую и отрицательные х/2 и 0?

Добавлено через 2 минуты
Цитата Сообщение от IrineK Посмотреть сообщение
int тоже бывает равен 0 или отрицательным.
А ну да, int это ж все целые описывает, туплю...
IrineK
Заблокирован
09.05.2014, 01:36     Ошибка pow:DOMAIN error в написании функции Бесселя первого рода нулевого порядка #6
Цитата Сообщение от helga_schaffer Посмотреть сообщение
с помощью знакопеременного ряда
Где?
helga_schaffer
0 / 0 / 0
Регистрация: 09.05.2014
Сообщений: 5
09.05.2014, 01:47  [ТС]     Ошибка pow:DOMAIN error в написании функции Бесселя первого рода нулевого порядка #7
Цитата Сообщение от IrineK Посмотреть сообщение
Где?
суммирование в 12, 13 строках
IrineK
Заблокирован
09.05.2014, 01:58     Ошибка pow:DOMAIN error в написании функции Бесселя первого рода нулевого порядка #8
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Возьмите x/2 по модулю: (pow((fabs(x/2)),(2*k)))
helga_schaffer
0 / 0 / 0
Регистрация: 09.05.2014
Сообщений: 5
09.05.2014, 02:26  [ТС]     Ошибка pow:DOMAIN error в написании функции Бесселя первого рода нулевого порядка #9
Цитата Сообщение от IrineK Посмотреть сообщение
Возьмите x/2 по модулю: (pow((fabs(x/2)),(2*k)))
Попробовала подставить, но все равно ошибка, выходит, что значение x=0 ещё остается.... Думаю, попробовать прописать вместо pow,
C++
1
2
3
4
5
double pow1 (double x, int i){
double p=1 ;
for (int k=0;k<i;k++){
p*=x;}
return p; }
хотя это и не очень логично получается..
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.05.2014, 21:32     Ошибка pow:DOMAIN error в написании функции Бесселя первого рода нулевого порядка
Еще ссылки по теме:

Ошибка pow:Overflow error C++
Ошибка pow: DOMAIN error C++
Программирование функции Бесселя 1-го рода на С++ C++

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

Или воспользуйтесь поиском по форуму:
IrineK
Заблокирован
09.05.2014, 21:32     Ошибка pow:DOMAIN error в написании функции Бесселя первого рода нулевого порядка #10
Попробуйте это:
(pow((fabs(x/2.)),(2*k)))
Yandex
Объявления
09.05.2014, 21:32     Ошибка pow:DOMAIN error в написании функции Бесселя первого рода нулевого порядка
Ответ Создать тему
Опции темы

Текущее время: 19:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru