c=[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,]
'''
for i in range(0,len(c)):
c[i]=d.Fraction(c[i])
'''
for i in range(0,len(c)):
c[i]=dec(c[i])
print c
x=arange(0,2*pi,0.001)
f=0
q=0
while q<=len(c)-1:
f+=c[q]*(cos(x*q)-1j*sin(x*q))
q+=1
plt.plot(20*log10(abs(f)))
plt.show()
Вот конкретный пример: задаю какой-то список. потом элементы списка преобразую в тип Fraction - тогда возникает ошибка при вычислении логарифма, если преобразую в Decimal, то ошибка возникает при умножении на j*sinX. пробовал сначала оставить в фракшн, а после вычисления f перевести в децимал, но преобразование возбуждает исключение.