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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2015, 16:28   #1
Нариманчик
 
Регистрация: 27.05.2015
Сообщений: 7
Вопрос Ряд Тейлора

Помогите пожалуйста решить задачу:
Цитата:
Напишите ряд Тейлора для функции y=sinx. Выведите сумму первых n слагаемых ряда. Значения x и n задайте по своему усмотрению.
Вот, что я смог сделать:
Код:
static void Main(string[] args)
        {
            double x = Math.PI/2, stx, sint = 0;
            int z = 1, n = 5;
            stx = x;
            int[] fakt = { 1, 6, 120, 5040, 362880 };
            foreach (int i in fakt)
            {
                sint = sint + z * stx / i;
            }
            for (int j = 1; j < n; j++)
            {
                stx = stx * x * x;
            }
            Console.WriteLine(sint);
            Console.ReadLine();
        }
Очень нужно до 10:00 субботы 30-го
Нариманчик вне форума Ответить с цитированием
Старый 29.05.2015, 19:01   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,304
По умолчанию

С Си не очень, но алгоритм предложу:
1. Пусть сумму подсчитываем в переменной SinT
2. Пусть есть две переменные:
- k - коэфициент, который позволяет вычислить следующий элемент ряда Тейлора. Это an+1=k*an. Формулу для этого коэффициента можно получить из выражения: k = an+1/an
- an - переменная, в которой вычисляем значение следующего элемента ряда.
2a. Потребуются переменные:
n - переменная, определяющая номер элемента ряда;
M - кол-во выводимых элементов ряда.

3.
Код:
SinT = x; an = x; n = 0;
4. В цикле типа
Код:
do  // вычисляем:
{
  k = - x*x/((2*n+2)*(2*n+3)); // формулу для k посчитал :)
  an = an*k;
  SinT = SinT + an;
  n = n + 1;
} while  (n < M);

Как-то так, ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 29.05.2015, 19:13   #3
Нариманчик
 
Регистрация: 27.05.2015
Сообщений: 7
По умолчанию

а на каком языке Вы можете написать программу полностью?

Код:
static void Main(string[] args)
        {
            double x, sint, an, k;
            Console.Write("Введите число х: ");
            x = double.Parse(Console.ReadLine());
            sint = x;
            an = x;
            int n = 0, M = 5;
            do
            {
                k = -x * x / ((2 * n + 2) * (2 * n + 3));
                an = an * k;
                sint = sint + an;
                n = n + 1;
            } while (n<M);
            Console.WriteLine(sint);
            Console.ReadLine();
        }
я вот так смог написать...

т.е. дописать

Последний раз редактировалось Аватар; 29.05.2015 в 19:38.
Нариманчик вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ряд Тейлора, С++ Marily Помощь студентам 1 12.01.2014 02:44
Ряд Тейлора Антон16 Помощь студентам 2 25.05.2012 00:26
вычислить функцию с по-щью разложения в ряд.(Ряд Тейлора) feelstor Помощь студентам 2 26.12.2011 03:44
ряд Тейлора alexmikt Общие вопросы C/C++ 5 09.12.2010 10:08
Ряд Тейлора siriusz Общие вопросы C/C++ 6 06.02.2009 20:26