Вычисление суммы ряда - 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
Листинг программы
static void Main(string[] args)
        {
            double S = 0, Seps;
            //считаем функцию с косинусом
            double x = Math.PI / 3;
            int Iter;
            for (Iter = 1; Iter < MaxIterations; Iter++)
            {
                Seps = FunctionCos(Iter, x);
                S += Seps;
                if (Math.Abs(Seps) < eps) break;
            }
            Console.WriteLine("Требуемая точность {0} достигнута на {1} итерации. \n Сумма элементов S = {2}", eps, Iter-1, S);
            Console.WriteLine("Проверочная функция S = " + FunctionCosControl(x));
            x = 2.5;
            //считаем функцию с факториалом
            for (Iter = 0; Iter < MaxIterations; Iter++)
            {
                Seps = FunctionFaktorial(Iter, x);
                S += Seps;
                if (Math.Abs(Seps) < eps) break;
            }
            Console.WriteLine("Требуемая точность {0} достигнута на {1} итерации. \n Сумма элементов S = {2}", eps, Iter-1, S);
            Console.WriteLine("Проверочная функция S = " + FunctionFaktorialControl(x));
            
            Console.ReadLine();
        }
 
        /// <summary>Функция с косинусом
        /// </summary>
        /// <param name="n">порядковый номер</param>
        /// <param name="x">переменная</param>
        /// <returns></returns>
        public static double FunctionCos(int n, double x)
        {
            return (Math.Pow((-1), n) * (Math.Cos(n*x)) / Math.Pow(n, 2));
        }
 
        //Функция контроля
        public static double FunctionCosControl(double x)
        {
            return ((Math.Pow(x, 2) - Math.Pow(Math.PI, 2) / 3)) / 4;
        }
 
        /// <summary>функция с факториалом
        /// </summary>
        /// <param name="n">порядковый номер</param>
        /// <param name="x">переменная</param>
        /// <returns></returns>
        public static double FunctionFaktorial(int n, double x)
        {
            return (Math.Pow(x, n) / (Faktorial(n)));
        }
 
        //Проверочная функции с факториалом
        public static double FunctionFaktorialControl(double x)
        {
            return (Math.Pow(Math.E, x));
        }
 
        /// <summary>
        /// Функция вычисления факториала
        /// </summary>
        /// <param name="n"></param>
        /// <returns></returns>
        static long Faktorial(int n)
        {
            if (n == 0)
                return 1;
            else
                return n * Faktorial(n - 1);
        }

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


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

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

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