Вычисление суммы ряда - C# (189507)

Узнай цену своей работы

Формулировка задачи:

Задание 1. Вычислить сумму S= -cos(x) + (cos(2x))/2^2 -...+ (-1)^n*(cosnx)/n^2 при x=пи/4. Суммирование прекращать, когда очередной член ряда будет меньше eps=0.0001. Сумма S и контрольная функция (в смысле для контроля при каждом значении х вычисляется также функция) y=((x^2-(pi^2)/3))/4 для одного и того же х должны приблизительно совпадать. И еще нужно определить, на каком члене суммы будут прекращены вычисления Задание 2. Тоже самое, только S= 1+x+x^2+...+x^n/(n!) , контрольная функция y=e^x; x=2.5 Помогите пожалуйста, совсем запутался((((

Решение задачи: «Вычисление суммы ряда»

textual
Листинг программы
  1. static void Main(string[] args)
  2.         {
  3.             double S = 0, Seps;
  4.             //считаем функцию с косинусом
  5.             double x = Math.PI / 3;
  6.             int Iter;
  7.             for (Iter = 1; Iter < MaxIterations; Iter++)
  8.             {
  9.                 Seps = FunctionCos(Iter, x);
  10.                 S += Seps;
  11.                 if (Math.Abs(Seps) < eps) break;
  12.             }
  13.             Console.WriteLine("Требуемая точность {0} достигнута на {1} итерации. \n Сумма элементов S = {2}", eps, Iter-1, S);
  14.             Console.WriteLine("Проверочная функция S = " + FunctionCosControl(x));
  15.             x = 2.5;
  16.             //считаем функцию с факториалом
  17.             for (Iter = 0; Iter < MaxIterations; Iter++)
  18.             {
  19.                 Seps = FunctionFaktorial(Iter, x);
  20.                 S += Seps;
  21.                 if (Math.Abs(Seps) < eps) break;
  22.             }
  23.             Console.WriteLine("Требуемая точность {0} достигнута на {1} итерации. \n Сумма элементов S = {2}", eps, Iter-1, S);
  24.             Console.WriteLine("Проверочная функция S = " + FunctionFaktorialControl(x));
  25.            
  26.             Console.ReadLine();
  27.         }
  28.  
  29.         /// <summary>Функция с косинусом
  30.         /// </summary>
  31.         /// <param name="n">порядковый номер</param>
  32.         /// <param name="x">переменная</param>
  33.         /// <returns></returns>
  34.         public static double FunctionCos(int n, double x)
  35.         {
  36.             return (Math.Pow((-1), n) * (Math.Cos(n*x)) / Math.Pow(n, 2));
  37.         }
  38.  
  39.         //Функция контроля
  40.         public static double FunctionCosControl(double x)
  41.         {
  42.             return ((Math.Pow(x, 2) - Math.Pow(Math.PI, 2) / 3)) / 4;
  43.         }
  44.  
  45.         /// <summary>функция с факториалом
  46.         /// </summary>
  47.         /// <param name="n">порядковый номер</param>
  48.         /// <param name="x">переменная</param>
  49.         /// <returns></returns>
  50.         public static double FunctionFaktorial(int n, double x)
  51.         {
  52.             return (Math.Pow(x, n) / (Faktorial(n)));
  53.         }
  54.  
  55.         //Проверочная функции с факториалом
  56.         public static double FunctionFaktorialControl(double x)
  57.         {
  58.             return (Math.Pow(Math.E, x));
  59.         }
  60.  
  61.         /// <summary>
  62.         /// Функция вычисления факториала
  63.         /// </summary>
  64.         /// <param name="n"></param>
  65.         /// <returns></returns>
  66.         static long Faktorial(int n)
  67.         {
  68.             if (n == 0)
  69.                 return 1;
  70.             else
  71.                 return n * Faktorial(n - 1);
  72.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.333 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут