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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.01.2020, 09:45   #1
TheMultiFive
Новичок
Джуниор
 
Регистрация: 23.01.2020
Сообщений: 1
Восклицание Вычисление ряда Тейлора C#

Добрый день, уважаемые знатоки)
Прошу помощи в одной задачке, знаю что уже посты были, но все же не особо нашел информацию: Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от xнач до xкон с шагом dx с точностью е. Таблицу снабдить заголовком и шапкой. Каждая строка таблицы должна содержать значение аргумента, значение функции и количество просуммированных членов ряда.
Скриншот формулы во вложении.
1.png

Код, который я пытался подогнать под себя:
Код:
using System;
namespace ConsoleApplication1
{
    class program
    {
              static void Main(string[] args)
        {
            const int Iter = 1000; //Ограничитель кол-ва операций
            double ch, Pr, yn, y,  x1 = 0, x2 = 1, dx = 0.1, eps = 1e-5;
            Console.WriteLine("|      X\t|      Y\t|      Pr\t|      Кол-во\t|");
            Console.WriteLine("+---------------+---------------+---------------+---------------+");
            int b;
            for (double x = x1; x <= x2; x += dx)
            {
                b = 0;
                yn = ch = 0;
                y = 1 - (x * x) / 2;
                for (int n = 1; n <= Iter; n++)
                {
                    ch = -(x * x) / ((n << 1 + 2) * ( n << 1 + 1));
                    yn = ch + y; 
                    if (Math.Abs(ch) < eps)
                        break;
                    y = yn;
                    b++;
                }
                Pr = Math.Epx(-x*x);
                Console.WriteLine("| {0,7}\t| {1,7}\t| {2,7}\t| {3,7}\t|",
                    Math.Round(x, 3), Math.Round(yn, 7), Math.Round(Pr, 7), b);
            }
            Console.ReadLine();
        }
    }
}
Собственно, сами вопросы (задаю их т.к. с C# не работал до этого вообще, а ТЕ на погружение больше чем дедлайн)
1) При вычисление с каждой итерацией теряется точность, правильно ли я понимаю что это связано с типом данных?
2)Подскажите как подогнать формулу суммы ряда в этот коды
3)Ну и в целом какие еще есть ошибки)

Заранее спасибо.
TheMultiFive вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычисление функции с использованием разложения в ряд Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, maximk301 Помощь студентам 1 20.10.2018 16:20
Вычисление значения функции с помощью ряда тейлора dima2308 Помощь студентам 4 17.11.2014 09:18
Вычисление функции с помощью ряда Тейлора Wast Общие вопросы C/C++ 6 25.12.2011 19:42
Объясните как написать код. для ряда Тейлора Оленька Кирпилёва Паскаль, Turbo Pascal, PascalABC.NET 18 04.10.2011 20:54
вычисления суммы ряда.Ряд тейлора HixoH Общие вопросы C/C++ 1 03.12.2009 20:10