Vaisaiдля знаменателя нужно сделать цикл
Подскажите пожалуйста, как реализовать данную формулу на питоне?
Не могу понять что с суммой делать
когда знаменатель станет известен, нужно проверить его на ноль
чтобы вычислить сумму в знаменателе, нужно:
1) убрать лишние буквы (зр, нб, вз)
2) записать её в развёрнутом виде (несколько начальных членов)
3) перевести буквы в числа (не вычислять их)
4) определить рекуррентное соотношение (поделить n-ый член на (n-1)-ый член)
5) проверить рекуррентное соотношение на числовых данных
смысл в том, чтобы получить коэффициент рекуррентного соотношения, на который умножается каждый член ряда, чтобы получить следующий за ним член
пример вычисления ряда с помощью рекуррентного соотношения
#!/usr/bin/env python3 # вычисляет сумму ряда e ^ (-x) с заданной точностью # # e ^ (-x) = 1 - x + (x ^ 2) / 2! - (x ^ 3) / 3! + # + ... + (-1 ^ n) * (x ^ n) / n! import math def emx(x, eps): s, sl, psl, i = 0, 1, 0, 1 while abs(sl - psl) > eps: s += sl psl = sl sl *= -x / i i += 1 return s if __name__ == '__main__': print(math.exp(-4)) for e in ( 1, 0.1, 0.01, 0.001, 0.0001, 0.00001, 0.000001, 0.0000001, ): x = 4 print('{} eps={}'.format(emx(x, e), e))
[guest@localhost py]$ ./emx.py
0.01831563888873418
0 eps=1
0.026668804446581998 eps=0.1
0.01897091738361557 eps=0.01
0.018355086418578255 eps=0.001
0.01830678595073219 eps=0.0001
0.018315259717020974 eps=1e-05
0.018315711651223043 eps=1e-06
0.018315641219918823 eps=1e-07
[guest@localhost py]$
add
Поправил скрипт.