Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.12.2010, 12:27   #1
system_error
 
Регистрация: 22.12.2010
Сообщений: 4
По умолчанию Расчет суммы ряда csc(x) (с++)

Дана формула косеканса, разложение косеканса в ряд.
Нужно составить программу для расчета суммы ряда и расчета по формуле и нахождения разности между этими значениями. значения х изменяются от (-1,0)&(0,1). Необходимые формулы находятся в приложенном файле.
Я составила такой цикл:
Код:
double b[]={1./6, 1./30, 1./42, 1./30, 5./66, 691./2730, 7./6, 3617./510,
43867./798, 174611./330, 854513./138};//массив чисел Бернулли
for(k=0;k<11;k++)
  {
   t=1.;
   double z=(2*(step(2, a[k])-1))/fact(a[k]+1);
   s=step(x, a[k]);
   t=t+(z*(b[k]*s));
  }
//---------------------------------------------------------------------------
int fact(int n)//нахождение факториала
{
 int q=1;
 for(int i=1;i<=n;i++)
  q=q*i;
 return q;
}

double step(double w, int n)//возведение в степень
{
 double p=1.;
 for(int j=1;j<=n;j++)
 p=p*w;
return p;
}
но при расчете получается слишком большая погрешность. Помогите, пожалуйста, найти ошибку в формуле.
Заранее благодарю.
Вложения
Тип файла: doc Числа Бернулли.doc (16.5 Кб, 12 просмотров)
system_error вне форума Ответить с цитированием
Старый 23.12.2010, 13:24   #2
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

1 Где Вы учитываете значение 1/х?
2 В Вашей формуле 1/(2n)!, а не на n!.
Вам необходимо определить коэффициент изменения как А+1/Аn и тогда определять сумму ряда.
Неприятности приходят и уходят, а жизнь продолжается!
Sweta вне форума Ответить с цитированием
Старый 23.12.2010, 13:37   #3
system_error
 
Регистрация: 22.12.2010
Сообщений: 4
По умолчанию

еще есть массив int a[]={-1,1,3,5,7,9,11,13,15,17,19};
оттуда и получается 1/x
system_error вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрос, Расчет суммы с группировкой Knn79 Microsoft Office Access 14 01.02.2010 19:26
Вычисление суммы ряда 666Rayne666 Помощь студентам 3 25.12.2009 22:39
вычисления суммы ряда kJlaCuk Паскаль, Turbo Pascal, PascalABC.NET 3 17.09.2008 23:24