Effiziente Berechnung von Cosinus in Python

Ich generiere einige Zeitreihen aus einer theoretischen Leistungsspektraldichte.

Grundsätzlich ist meine Funktion im Zeit-Raum gegeben durchX(t) = SUM_n sqrt(a_n) + cos(w_n t + phi_n), wohera_n ist der Wert derPSD zu einem gegebenenw_n undphi ist eine zufällige Phase. Um eine realistische Zeitreihe zu erhalten, muss ich zusammenfassen2^25 Modi und meinet natürlich ist bemessen2^25 auch.

Wenn ich das mit Python mache, wird das einige Wochen dauern ...
Gibt es eine Möglichkeit, dies zu beschleunigen? Wie eine Vektorberechnung?

t_full = np.linspace(0,1e-2,2**12, endpoint = False) 
signal = np.zeros_like(t_full)
 for i in range(w.shape[0]):
        signal += dataCOS[i] * np.cos(2*np.pi* t_full * w[i] + random.uniform(0,2*np.pi)) 

wobei dataCOS sqrt a_n ist, w = w und random.uniform die zufällige Phasenverschiebung phi darstellt

Antworten auf die Frage(1)

Ihre Antwort auf die Frage