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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.10.2016, 20:40   #1
SirDarkFox
Новичок
Джуниор
 
Регистрация: 03.10.2016
Сообщений: 1
По умолчанию Ещё одна задача про ряд Тейлора

Помогите пожалуйста найти исправить ошибку в моём коде.Не могу понять чему должно равняться первое значение y и как должно изменяться n.
Сам ряд:ln(x+1)/(x-1)=2E от 0 до бесконечности;1/(2n+1)x^2n+1=2(1/x+1/3x^3+1/5x^5+...);|x|>1.
Код:
namespace ConsoleApplication8
{
    class Program
    {
        static void Main(string[] args)
        {
            Double x = 0.0, x1 = 0.0, dx = 0.0, e = 0.000001, y = 0.0, ch = 0.0, T = 0.0;
            int b;
            Console.WriteLine("Введите значение |х|>1");
            x = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("Введите максимальное значение х");
            x1 = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("Введите интервал увеличения х");
            dx = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("**************************************");
            Console.WriteLine("|                Таблица             |");
            Console.WriteLine("**************************************");
            Console.WriteLine("|    x   |     y     |     T     | n |");
            Console.WriteLine("**************************************");
            for (; x < x1 && Math.Abs(x) > 1; x += dx)
            {
                b = 0;
                y = 1 / x;
                for (int n = 1; ; n++)
                {
                    ch = 1 / (2 * n + 1) * Math.Pow(x, 2 * n + 1);
                    y += ch;
                    if (Math.Abs(ch) < e)
                        break;
                    b++;

                }
                T = Math.Log(x + 1 / x - 1);
                Console.WriteLine("|  {0:0.00}  |  {1:0.00000}  |  {2:0.00000}  | {3} |", x, 2 * y, T, b);
                Console.WriteLine("**************************************");
            }
            Console.ReadKey();

        }
    }
}
SirDarkFox вне форума Ответить с цитированием
Старый 03.10.2016, 21:27   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

f(0)=1/x
Рекуррентная формула:
f(n+1)=f(n)*(2*n+1)/(2*n+3)/x^2
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вычислить функцию с по-щью разложения в ряд.(Ряд Тейлора) feelstor Помощь студентам 2 26.12.2011 03:44
[C++] Задача на Ряд тейлора Olips Помощь студентам 0 29.11.2011 17:56
Задача на ряд Тейлора - не могу найти ошибку _NooB_ Помощь студентам 0 30.09.2010 14:53
ещё одна проблема с программой на Си osichev Помощь студентам 1 07.06.2009 21:40