Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
helga_schaffer
0 / 0 / 0
Регистрация: 09.05.2014
Сообщений: 5
#1

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

09.05.2014, 00:50. Просмотров 497. Ответов 9
Метки нет (Все метки)

Доброго времени суток)) Необходимо записать функцию Бесселя первого рода нулевого порядка. Записала, вроде как, по формуле.. с помощью знакопеременного ряда, но при компиляции пишет: 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);
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.05.2014, 00:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка pow:DOMAIN error в написании функции Бесселя первого рода нулевого порядка (C++):

Ошибка pow: DOMAIN error - C++
При запуске в C++ Builder функция спамит вышеуказанной ошибкой, в выводе все значения при (i-j)&lt;0 забиты значением INF, при (i-j)&gt;0...

Программирование функции Бесселя 1-го рода на С++ - C++
Здравствуйте! помогите пожалуйста запрограммировать функцию Бесселя 1-го рода на С++

Ошибка 2, error C2668: pow: неоднозначный вызов перегруженной функции - C++
Пытаюсь разобраться с функциями. И потому усложнил обычный пример. Вылезла ошибка: Ошибка 2, error C2668: pow: неоднозначный вызов...

Полином Лежандра первого рода. Run-Time error =( - C++
Доброго времени суток. Требовалось написать программу, для вычисления полинома Лежандра первого рода - рекурсивно и итерационно. Саму...

Ошибка pow:Overflow error - C++
Ошибка pow:Overflow error, как ее исправить? Заранее спасибо! Задание:Разработать программу содержащую динамический массив...

ошибка pow overflow error - C++
Помогите с задачей,выдает ошибку pow overflow error

9
IrineK
Заблокирован
09.05.2014, 01:07 #2
Цитата Сообщение от helga_schaffer Посмотреть сообщение
pow: DOMAIN error
если х/2 отрицательный или равный 0
0
helga_schaffer
0 / 0 / 0
Регистрация: 09.05.2014
Сообщений: 5
09.05.2014, 01:18  [ТС] #3
Цитата Сообщение от IrineK Посмотреть сообщение
если х/2 отрицательный или равный 0
То есть для x надо вместо double int прописать??
0
IrineK
Заблокирован
09.05.2014, 01:19 #4
Цитата Сообщение от helga_schaffer Посмотреть сообщение
вместо double int прописать?
int тоже бывает равен 0 или отрицательным.
0
helga_schaffer
0 / 0 / 0
Регистрация: 09.05.2014
Сообщений: 5
09.05.2014, 01:23  [ТС] #5
Цитата Сообщение от IrineK Посмотреть сообщение
если х/2 отрицательный или равный 0
или функцию написать подобную POW, но считающую и отрицательные х/2 и 0?

Добавлено через 2 минуты
Цитата Сообщение от IrineK Посмотреть сообщение
int тоже бывает равен 0 или отрицательным.
А ну да, int это ж все целые описывает, туплю...
0
IrineK
Заблокирован
09.05.2014, 01:36 #6
Цитата Сообщение от helga_schaffer Посмотреть сообщение
с помощью знакопеременного ряда
Где?
0
helga_schaffer
0 / 0 / 0
Регистрация: 09.05.2014
Сообщений: 5
09.05.2014, 01:47  [ТС] #7
Цитата Сообщение от IrineK Посмотреть сообщение
Где?
суммирование в 12, 13 строках
0
IrineK
Заблокирован
09.05.2014, 01:58 #8
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Возьмите x/2 по модулю: (pow((fabs(x/2)),(2*k)))
0
helga_schaffer
0 / 0 / 0
Регистрация: 09.05.2014
Сообщений: 5
09.05.2014, 02:26  [ТС] #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; }
хотя это и не очень логично получается..
0
IrineK
Заблокирован
09.05.2014, 21:32 #10
Попробуйте это:
(pow((fabs(x/2.)),(2*k)))
0
09.05.2014, 21:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.05.2014, 21:32
Привет! Вот еще темы с ответами:

Error C2668: pow: неоднозначный вызов перегруженной функции - C++
#include &lt;math.h&gt; //библиотека, содержащая описание математических операторов #include &lt;conio.h&gt; //библиотека, содержащая описание...

error C2661: pow: нет перегруженной функции, принимающей 1 аргументов - C++
Здравствуйте, уважаемые посетители сего форума. Набирал лабу, столкнулся вот с такой проблемой. Скриншот и код прилагаю: #include...

Сумма элементов массива, от первого до последнего нулевого, с использованием функции - C++
Практически готово, только при компиляции ошибка, не могу понять где: #include &lt;iostream&gt; using namespace std; int summa(int); ...

Ошибка "domain error" при вычислении выражения - C++
Всем привет ) вот код x=StrToFloat(Edit1-&gt;Text); y=StrToFloat(Edit2-&gt;Text); z=StrToFloat(Edit3-&gt;Text); d=log10(2 +...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

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