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

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

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.11.2016, 11:33   #1
Goodlak123
Новичок
Джуниор
 
Регистрация: 02.11.2016
Сообщений: 4
По умолчанию Вычисление функций с использованием их разложения в степенной ряд C#

Вышел такой код, возникла проблема с факториалом. Есть мудрецы, которые знают, как довести программу до ума?

Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace AppCo120
{
    class Program
    {
       
       
        static void Main(string[] args)
        {
            //обьявляем переменные
            double a = 0.1, b = 1.0, k = (b - a) / 10.0, x, y = 0.0, sn = 0.0, se = 0.0, n = 0.0, e = 0.0001, t;

                for (x = a; x <= b; x += k)
                {
                    //считаем функцию при заданном X
                    y = Math.Pow(e,(x* Math.Cos (Math.PI / 4)) * Math.Cos(x*Math.Sin(Math.PI/4)));


                    //считаем SN
                    while (n <= 25)
                    {

                        int fact = 1;
                        while (fact <= n)
                        sn += ((Math.Cos(n * Math.PI/4) /fact) * Math.Pow (x, n));

                        n++;
                    }

                    //считаем se
                    t = x;
                    n = 0.0;
                    while (Math.Abs(t) > e)
                    {
                        int fact = 1;
                        while (fact <= n)
                            t = Math.Pow(e, (x * Math.Cos(Math.PI / 4)) * Math.Cos(x * Math.Sin(Math.PI / 4)));
                        se += t;
                        n++;
                    }

                    Console.WriteLine("X=" + x + ";  Y=" + y + ";  SN=" + sn + ";  SE=" + se);
                    sn = 0.0;
                    se = 0.0;
                    n = 0.0;
                }


            Console.ReadLine();
        }
    }
}
Изображения
Тип файла: png Безымянный.png (18.9 Кб, 168 просмотров)
Goodlak123 вне форума Ответить с цитированием
Старый 02.11.2016, 15:06   #2
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

и в чем проблема то?
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 02.11.2016, 15:33   #3
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

для вычислений следующих элементов ряда(слагаемых)
использовать рекуррентное соотношение (выражение) s(n) =s(n-1) * F(n)

примерно так в примере F(n)=1/n
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 02.11.2016 в 15:38.
evg_m вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с вычислением функций с помощью разложения в ряд (Delphi, Pascal) Vladrstar Фриланс 5 25.12.2014 14:01
ВЫчисление функции с помощью разложения в ряд. katris Помощь студентам 1 03.03.2013 17:26
Вычисление функции с помощью разложения в ряд LaraKiller Общие вопросы C/C++ 2 11.10.2009 20:05
Вычисление функции заданной в виде разложения в ряд StudeHt Паскаль, Turbo Pascal, PascalABC.NET 2 02.05.2009 20:08
Вычисление значений тригонометрических функций на основе разложения в ряд Маклорена Gangzta Помощь студентам 3 10.01.2009 15:47