Мне нужна помощь в создании следующего кода на python
Я попытался ответить, но яне совсем уверен, как это закончить.Вот что у меня есть до сих пор
import numpy as np
import math
from numpy import cos
x=10**(-p)
funct = (1-math.cos(x))/x
Итак, я определил свою функцию, которую пытаюсь вычислить, я думаю, что я сделал это правильно с
funct = (1-math.cos(x))/x
Я сказал, что хдолжно быть с
x=10**(-p)
Но как мне добавить код, чтобы найти наименьшее значение p, которое не имеет правильной значащей цифры при x = 10 ** - p при использовании стандартной двойной точности?
Нужно ли мне каким-то образом использовать
print(min(funct))
Нужна помощь в этом выполнении, спасибо!
Редактировать: новый код
import numpy as np
import math
for p in range(10):
x=10.0**-p;
result = (1-np.cos(x))/x
print (p)
print (result)
Test = 2*np.sin(x/2)**2/x
print (p)
print(Test)
дает результаты:
0
0.459697694132
0
0.459697694132
1
0.0499583472197
1
0.0499583472197
2
0.00499995833347
2
0.00499995833347
3
0.000499999958326
3
0.000499999958333
4
4.99999996961e-05
4
4.99999999583e-05
5
5.0000004137e-06
5
4.99999999996e-06
6
5.00044450291e-07
6
5e-07
7
4.99600361081e-08
7
5e-08
8
0.0
8
5e-09
9
0.0
9
5e-10