C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
проблема с функцией
Sych
  Отправлено: 28.12.2003, 11:45


Не зарегистрирован







Вот написал функцию которая считает функцию Бесселя 0 порядка но почему то она не пашет Билдер пишет что неможет вернуть результат.

что бы это значило????
CODE

double Bessel0(double x1, double x, double bessel0);
{
 double e,x1,x, bessel0;
 e = M_E;

 x1 = abs(x1);

 x = x1*x1/9;

 if (x1<=3)
    {
  return   (((((2.1*e-4*x-0.0039444)*x+0.0444479) * x-0.3163866)*x+1.2656208)*x-2.2499997)*(x+1);
    } // end if
  else
    {
       x=3/x1;
    return cos((((((1.3558e-4*x-2.9333e-4)*x-5.4125e-4)*
        x+2.62573e-3)*x-3.954e-5)*x-0.04166397)*
        x-0.78539816+x1)/sqrt(x1)*((((((1.4476e-4*
        x-7.2805e-4)*x+1.37237e-3)*x-9.512e-5)*
        x-5.5274e-3)*x-7.7e-7)*x+0.79788456);
    } // end else


}
Георгий
Отправлено: 28.12.2003, 20:02


Почетный железнодорожник

Группа: Модератор
Сообщений: 874



ну и написал...
давно я не видел, что бы в одну строчку было так много написано!!!

попробуй вот так:
CODE
double Bessel0(double x1, double x, double bessel0)
{
double e;
e = M_E;

x1 = abs(x1);

x = x1*x1/9;

if (x1<=3)
   {
 return   (((((2.1*e-4*x-0.0039444)*x+0.0444479) * x-0.3163866)*x+1.2656208)*x-2.2499997)*(x+1);
   } // end if
 else
   {
      x=3/x1;
   return cos((((((1.3558e-4*x-2.9333e-4)*x-5.4125e-4)*
       x+2.62573e-3)*x-3.954e-5)*x-0.04166397)*
       x-0.78539816+x1)/sqrt(x1)*((((((1.4476e-4*
       x-7.2805e-4)*x+1.37237e-3)*x-9.512e-5)*
       x-5.5274e-3)*x-7.7e-7)*x+0.79788456);
   } // end else


}
Guest
Отправлено: 29.12.2003, 22:32


Не зарегистрирован







Спасибо Григорию использовал его пример только вот ничего все равно не выходит Типа declaration syntax error — только вот самое интересное не пойму почему так ругается вроде все сделано поправилам.

Может кто то писал для себя функцию Бксселя 0-1 порядка — поделитесь у кого есть.
Sych
Отправлено: 29.12.2003, 22:33


Не зарегистрирован







Спасибо Григорию использовал его пример только вот ничего все равно не выходит Типа declaration syntax error — только вот самое интересное не пойму почему так ругается вроде все сделано поправилам.

Может кто то писал для себя функцию Бксселя 0-1 порядка — поделитесь у кого есть.
fellow
Отправлено: 30.12.2003, 05:02


Не зарегистрирован







А на какое место она ругается? Скорее всего на то, где использована необъявленная функция или класс. Или оЧеПятка допущена. проверьте весь текст ещё раз. Особое внимание обратите на abs(), cos() и sqrt().
Guest
Отправлено: 03.01.2004, 14:15


Не зарегистрирован







Спасибо всем проблемку решил на свежую голову — заработался однако.

Вернуться в Вопросы программирования в C++Builder