0
0 Комментариев

Есть простая функция:

import math
import numpy as np
 
 
def func(x):
   k = (0.48 ** 3 + math.sin(1.2 * x) / (math.acos(x * 0.48 * x) + math.exp(-x / 2)))
return k

При итерации по простому массиву все работает:

zad2 = [0.25, 0.36, 0.56, 0.94, 1.28]
for n in zad2:
       print(func(n))

однако, при итерации по объекту numpy.arange возникает исключение ValueError: math domain error:

arr = np.arange(0.7, 2.2, 0.3)
 
print("zad1")
for s in arr:
    print(func(s))

Трассировка полностью:

 0.2325420603873083
 Traceback (most recent call last):
 0.2892269610836477
 0.3967601267945787
 File "C:/Users/Pipekalo/Google Диск/обучение 2 курс/py/algo_9.py", line 16, in <module>
 0.6246192801373474
 print(func(s))
 0.9482530298513533
 File "C:/Users/Pipekalo/Google Диск/обучение 2 курс/py/algo_9.py", line 6, in func
 zad1
 k = (0.48 ** 3 + math.sin(1.2 * x) / (math.acos(x * 0.48 * x) +   math.exp(-x / 2)))
 0.4759605810894156
 ValueError: math domain error
 0.6664782637398168
 0.9826538650316734

Первые 5 выводов из списка, а дальше 3 из массива и ошибка вот какая то странная. IDE — PyCharm, версия питона 3.6.


Добавить комментарий