Gegeven een 1-dimensionale NumPy-rij x, bestaande uit floats. Programmeer de functies dct_1() en idct_1() met als enig argument deze rij. Het resultaat van deze functies is respectievelijk de DCT-II van deze rij en de inverse DCT-II van deze rij. Het resultaat is dus telkens een rij in 1 dimensie, met even veel elementen als x (en elk element van de resultaatrij is opnieuw een float).

Programmeer deze functies ZONDER gebruik te maken van for-lussen (het kan een goed idee zijn om de originele formules als controle te programmeren).

Voorbeeld

x1 = np.array([-1., 5., 7., 12., 8., 5., 3., -2.])
print(x1)  #[-1.  5.  7. 12.  8.  5.  3. -2.]

X1= dct_1(x1)
print(X1)  
#[ 37.           4.53522626 -22.77996298  -3.74256252  -2.12132034 2.31005877  -5.10620081  -3.17625204]
x1d = idct_1(X1)
print(x1d)  #[-1.  5.  7. 12.  8.  5.  3. -2.]