dtd = tdm[1:] - tdm[:-1] ax2 = fig.add_subplot(2, 1, 2) bins = np.linspace(min(min(dtp), min(dtd)), max(max(dtp), max(dtd)), 50) bc, be, _ = ax2.hist([dtp, dtd], bins, stacked=True, color=['r', 'm'], label=['peaks', 'edges'], alpha=0.5) ax2.set_xlabel(r'$Zeitdifferenz\,der\,peaks / dips$ (ms)', size='large') ax2.legend(loc='best', numpoints=1, prop={'size': 10}) ax2.set_ylabel(r'$H\"aufigkeit$', size='large') ax2.grid() print("** Histogram statistics:") m_dtp, s_dtp, sm_dtp = ppk.histstat(bc[0], be, pr=False) m_dtd, s_dtd, sm_dtd = ppk.histstat(bc[1], be, pr=False) print(" --> mean time differnce of peaks: (%.5g +/- %.2g) ms" % (m_dtp, sm_dtp)) print(" dips: (%.5g +/- %.2g) ms" % (m_dtd, sm_dtp)) ax2.text(0.1, 0.85, "peaks: (%.5g$\pm$%.2g) ms" % (m_dtp, sm_dtp), transform=ax2.transAxes) ax2.text(0.1, 0.75, " edges: (%.5g$\pm$%.2g) ms" % (m_dtd, sm_dtd), transform=ax2.transAxes) plt.show()
ax3.set_ylabel('$Autocorrelation$ ' + units[1], size='large') ax3.legend(loc='best', numpoints=1, prop={'size': 10}) ax3.grid() # statistische Auswertung # plot distribution of time differences between peaks/dips dtp = tpm[1:] - tpm[:-1] ax4 = fig.add_subplot(2, 2, 4) bins = np.linspace(min(dtp), max(dtp), 50) bc, be, _ = ax4.hist(dtp, bins, stacked=True, color='r', label='peaks', alpha=0.5) ax4.set_xlabel(r'$Zeitdifferenz\,der\,peaks$ (ms)', size='large') # ax4.legend(loc='best', numpoints=1, prop={'size':10}) ax4.set_ylabel(r'$H\"aufigkeit$', size='large') ax4.grid() print("** Histogram statistics:") m_dtp, s_dtp, sm_dtp = ppk.histstat(bc, be, pr=False) print(" --> mean time differnce of peaks: (%.5g +/- %.2g) ms" % (m_dtp, sm_dtp)) ax4.text(0.05, 0.9, "mean=(%.5g$\pm$%.2g) ms" % (m_dtp, max(sm_dtp, (be[1] - be[0]) / np.sqrt(12))), transform=ax4.transAxes) plt.show()
#Create Array of differences of Maximums deltaMax = deltaArray(maxac) deltaMin = deltaArray(minac) print(deltaMax) print(deltaMin) deltaMin = (-1)*deltaMin deltaNew = deltaMin + deltaMax # plot data as histogram nbin = 10 binc, bine, patches = plt.hist(deltaNew, nbin,facecolor='g', log=False, alpha=1) plt.title("Histogramm of MaxDifferences") plt.show() #Calculate Period and Uncertainity from Histogram data Perioddata = PhyPraKit.histstat(binc, bine, patches) print("Period by amplitude alone = " + str(Perioddata[0])) print("?? = " + str(Perioddata[1])) print("Uncertainity = " + str(Perioddata[2])) print("True Period in s = " + str(Perioddata[0]/0.05555555555)) print("True Uncertantiy = " + str(Perioddata[2]/0.05555555555)) #Stelle Frequenz Spektrum dar fourierspec = PhyPraKit.FourierSpectrum(time,smoothamplitude) plt.plot(fourierspec[0],fourierspec[1]) plt.title("Frequenz Spektrum des Signals") print('Frequency by Fourier Analysis = ' +str(findMaximumxPos(*fourierspec))) plt.show()