Калькулятор рядов Тейлора
Вычисление приближения рядов Тейлора/Маклорена для популярных функций.
Формула ряда
sin(x) = x - x³/3! + x⁵/5! - x⁷/7! + ...Об этом инструменте
Ряд Тейлора — один из самых мощных инструментов математики для приближения сложных функций, используя только полиномы и арифметику. Вместо прямого вычисления трансцендентных функций, таких как синус, косинус или экспонента, ряд Тейлора разлагает их в бесконечные суммы простых алгебраических членов, где каждый член содержит только факториалы и степени. Эта техника преобразует задачи, которые трудно решить аналитически, в задачи, которые калькулятор или браузер могут обрабатывать эффективно.
Этот калькулятор позволяет вам исследовать, как работают ряды Тейлора и Маклорена, выбирая функцию (синус, косинус, экспоненту, натуральный логарифм, арктангенс, квадратный корень или геометрический ряд), указывая центральную точку и точку аппроксимации, и наблюдая в реальном времени, как ряд сходится к истинному значению. С каждым добавленным членом вы увидите, как частичная сумма приближается к точному ответу, а ошибка резко уменьшается. Это практическое исследование помогает вам глубже понять сходимость и то, как точность ряда зависит от расстояния от центральной точки.
Ряды Тейлора незаменимы в численном анализе, физических симуляциях и компьютерной графике, где вычисление трансцендентных функций без таблиц поиска экономит память и скорость. Инженеры и учёные используют их для линеаризации сложных нелинейных систем, физики применяют их в теории возмущений, а специалисты машинного обучения полагаются на них для приближения функций активации. Учитесь ли вы анализу, готовитесь к продвинутой математике или разрабатываете программное обеспечение, требующее эффективного вычисления функций, этот инструмент предоставляет вам визуальное окно в одну из самых элегантных и практических идей математики.
Часто задаваемые вопросы
Реализация кода
import math
def factorial(n: int) -> int:
return math.factorial(n)
def taylor_sin(x: float, n_terms: int) -> list[float]:
"""sin(x) = sum(-1)^n * x^(2n+1) / (2n+1)!"""
terms = []
partial_sum = 0
for n in range(n_terms):
term = ((-1)**n * x**(2*n+1)) / factorial(2*n+1)
partial_sum += term
terms.append({'n': n, 'term': term, 'partial_sum': partial_sum})
return terms
def taylor_exp(x: float, n_terms: int) -> list[float]:
"""e^x = sum x^n / n!"""
terms = []
partial_sum = 0
for n in range(n_terms):
term = x**n / factorial(n)
partial_sum += term
terms.append({'n': n, 'term': term, 'partial_sum': partial_sum})
return terms
def taylor_cos(x: float, n_terms: int) -> list[float]:
"""cos(x) = sum(-1)^n * x^(2n) / (2n)!"""
terms = []
partial_sum = 0
for n in range(n_terms):
term = ((-1)**n * x**(2*n)) / factorial(2*n)
partial_sum += term
terms.append({'n': n, 'term': term, 'partial_sum': partial_sum})
return terms
# Example: sin(0.5)
x = 0.5
n_terms = 6
result = taylor_sin(x, n_terms)
approx = result[-1]['partial_sum']
exact = math.sin(x)
print(f"sin({x}) approximation with {n_terms} terms:")
for r in result:
print(f" n={r['n']}: term={r['term']:.8f}, sum={r['partial_sum']:.10f}")
print(f"Exact: {exact:.10f}")
print(f"Error: {abs(approx - exact):.2e}")
Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.