from numpy import *
poli1 = [1, 2]
poli2 = [3, 4]
f1 = fft.fft(poli1, len(poli1)*2, -1)
f2 = fft.fft(poli2, len(poli2)*2, -1)
result = []
for i in range(len(f1)):
result.append(f1[i]*f2[i])
print fft.ifft(result)
Цитата: output[ 3.+0.j 10.+0.j 8.+0.j 0.+0.j]
Цитата: RawonaM от декабря 30, 2011, 23:24
А вы знаете про преобразование Фурье?
Цитата: Квас от декабря 30, 2011, 23:05http://docs.scipy.org/doc/numpy/reference/routines.fft.html
Не нашёл в справке, что такое fft и ifft.
a = [1, 2, 3]
b = [1, 2, 3]
poli1 = fft(a, 2*len(a))
poli2 = fft(b, 2*len(b))
poli3 = []
for i in range(0, len(poli1)):
poli3.append(poli1[i] * poli2[i])
print poli3
print ifft(poli3, (len(a)-1)*(len(b)-1))
Цитировать[(36+0j), (-18.499999999999993-4.3301270189221563j), (1.4999999999999993-2.5980762113533169j), (4.0000000000000018-1.352477158045318e-14j), (1.4999999999999993+2.5980762113533169j), (-18.500000000000014+4.3301270189222274j)]
[ 5.75000000-1.73205081j 9.70753175-4.97548095j 13.00000000+0.4330127j
7.54246825+6.27451905j]
Страница создана за 0.048 сек. Запросов: 20.