import matplotlib.pyplot as plt
import matplotlib.mlab as mlab
import numpy as np
%matplotlib inline
np.genfromtxt('data/Pendel.txt',skip_header=2) #Hier der Pfad zu Euren Daten eintragen
#1. Spalte: Zeit
#2. Spalte: linkes Pendel
#3. Spalte: rechtes Pendel
zeit=np.genfromtxt('data/Pendel.txt',skip_header=2,usecols=(0))
linkes_Pendel=np.genfromtxt('data/Pendel.txt',skip_header=2,usecols=(1))
plt.plot(zeit, linkes_Pendel, color='red')
plt.show()
#Berechnung des mittleren Zeitschritts
#Wird fuer die Berechnung der Frequenz bei FFT benoetigt
dt=np.array([])
for i in range(len(zeit)-1):
dt=np.append( dt,zeit[i+1]-zeit[i])
timestep=np.mean(dt)
print(timestep)
spektrum = np.fft.fft(linkes_Pendel) #Fouriertransformation
freq = np.fft.fftfreq(spektrum.size, timestep)
spektrum_shifted = np.fft.fftshift(spektrum) #Umsortieren
freq_shifted = np.fft.fftshift(freq)
n=spektrum.size #Nur positive Werte
n_halb = np.ceil(n/2.0)
spektrum_halb = (2.0 / n) * spektrum[0:n_halb]
freq_halb = freq[0:n_halb]
plt.figure(figsize=(12, 5))
plt.subplot(121)
plt.plot(zeit, linkes_Pendel, color='red')
plt.xlabel("Zeit /s")
plt.ylabel("Amplitude /b.E.")
plt.title('gekoppelte Schwingung')
plt.axis([0, 40, -11, 10])
plt.subplot(122)
plt.plot(freq_halb, np.abs(spektrum_halb))
plt.xlabel("Frequenz /Hz")
plt.ylabel("Amplitude /b.E.")
plt.axis([0.5, 0.9, 0, 4])
plt.title('Spektrum')