Révision 300 ETSN/MyDFT_2.py

MyDFT_2.py (revision 300)
11 11
    Y=np.zeros(size).astype(np.float32)
12 12
    for i in range(size):
13 13
        for j in range(size):
14
            X[i]=X[i]+x[j]*cos(2.*pi*i*j/size)-y[j]*sin(2.*pi*i*j/size)
15
            Y[i]=Y[i]+x[j]*sin(2.*pi*i*j/size)+y[j]*cos(2.*pi*i*j/size)
14
            X[i]=X[i]+x[j]*cos(2.*pi*i*j/size)+y[j]*sin(2.*pi*i*j/size)
15
            Y[i]=Y[i]-x[j]*sin(2.*pi*i*j/size)+y[j]*cos(2.*pi*i*j/size)
16 16
    return(X,Y)
17 17

  
18 18
# Numpy Discrete Fourier Transform
......
23 23
    Y=np.zeros(size).astype(np.float32)
24 24
    nj=np.multiply(2.0*np.pi/size,np.arange(size)).astype(np.float32)
25 25
    for i in range(size):
26
        X[i]=np.sum(np.subtract(np.multiply(np.cos(i*nj),x),np.multiply(np.sin(i*nj),y)))
27
        Y[i]=np.sum(np.add(np.multiply(np.sin(i*nj),x),np.multiply(np.cos(i*nj),y)))
26
        X[i]=np.sum(np.add(np.multiply(np.cos(i*nj),x),np.multiply(np.sin(i*nj),y)))
27
        Y[i]=np.sum(np.subtract(np.multiply(np.cos(i*nj),y),np.multiply(np.sin(i*nj),x)))
28 28
    return(X,Y)
29 29

  
30 30
import sys

Formats disponibles : Unified diff