Гост написа:Задача 3.13 *
Виж ти, този числен метод е не особено полезен, Ще видим.
Значи търсим
$e^x=2x^2+3$
Трябва ни x от едната страна. Може би тази формула?
$x = \sqrt{(e^x -3)/2}$
Оказва се, че не става, процеса не е сходящ. Тогава може би тази?:
$x=ln(2x^2+3)$
Тази става:
- Код: Избери целия код
def calc_simple_iteration():
xf = lambda x: math.log(2*x*x+3)
x = 1
for i in range(1000):
x1 = xf(x)
e = abs(1-x1/x)
x = x1
print(x, e)
if e < 0.00001:
break
else:
print("error, no solution")
return
print("solution",x)
(1.6094379124341003, 0.6094379124341003)
(2.1017631490673683, 0.30589886868557703)
(2.4710457523140845, 0.175701340757916)
(2.722093413328361, 0.10159571540882051)
(2.8802981390427327, 0.05811877172904634)
(2.9751333009759087, 0.03292546721038203)
(3.0302707110371716, 0.018532752815874298)
(3.0617578680281334, 0.01039087262939109)
(3.079555019481572, 0.0058127233506222176)
(3.089555814131633, 0.003247480427138072)
(3.0951571698019213, 0.001812997080249401)
(3.0982886728697006, 0.0010117428279028395)
(3.100037575708765, 0.0005644738188468335)
(3.1010137534611397, 0.0003148922322826486)
(3.101558447700036, 0.00017565037829592178)
(3.1018623254477933, 9.797582501880342e-05)
(3.1020318379104603, 5.4648609409957416e-05)
(3.102126391967316, 3.0481330236531434e-05)
(3.1021791325837396, 1.7001440224984066e-05)
(3.1022085498767367, 9.482783469350053e-06)
('solution', 3.1022085498767367)