Вычисление синуса — ряд Тейлора

  • В этой теме 0 ответов, 1 участник, последнее обновление 2 недели, 1 день назад сделано Васильев Владимир Сергеевич.
Просмотр 0 веток ответов
  • Автор
    Сообщения
    • #6446
      @admin

      При вычислении синуса и косинуса можно использовать разложение в ряд Тейлора

      $$
      sin(x) = x — \frac{x^3}{3!} + — \frac{x^5}{5!} — — \frac{x^7}{7!} … .
      $$

      Общий член ряда выглядит так:

      sin cos Tailor

      Допустим, нужно вычислить значение sin(x) для указанного значения x, заданного в радианах, с заданной точностью. Точность вычисления считается выполненной, если последнее слагаемое в удовлетворяет условию:

      $$|\frac{x^{2\cdot n — 1}}{n!}| < \varepsilon$$ На каждом шаге на требуется вычислять факториал и выполнять возведение в степень — делать это напрямую очень неэффективно, гораздо лучше использовать значения, вычисленные на предыдущем шаге. В данном случае: $$S_0 = x,\\ S_{k+1} = S_k\cdot \frac{(-1)^{k-1}\cdot x^{2\cdot k - 1}}{(2 \cdot k - 1)!}$$ Алгоритм:

      1. Ввести значение x, заданного в радианах, с точностью ε = 0.001.
      2. Заводим переменную S = 0 для хранения результата подсчета ряда.
      3. Заводим счетчик итераций n = 0.
      4. Пока не достигнута точность (проверяем по форуме):
        1. Подсчитываем очередное значение x:
          1. Умножаем (-1) на x^2 .
          2. T = −x^2 / 2*n.
          3. S = T / (2*n+1)
        2. Суммируем подсчитанное значение с уже имеющимся результатом S = S + x.
        3. n = n+1
      5. Вывести результат вычисления sin(x), сохраненный в переменную S.

      Блок-схема:

Просмотр 0 веток ответов
  • Для ответа в этой теме необходимо авторизоваться.