Advertisement
Guest User

Untitled

a guest
Jun 24th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.84 KB | None | 0 0
  1. # -*- coding: utf-8 -*-
  2.  
  3. import csv
  4. import scipy.signal as signal
  5. import numpy as np
  6. import math
  7. import os
  8. import matplotlib.pyplot as plt
  9.  
  10. ### Aufgabe 6
  11. counteri=0
  12. column0, column1, column2, column3=([]),([]),([]),([])
  13.  
  14. os.chdir('C:/Users/JoJo/Documents/Python Scripts/Daten')
  15. file=csv.reader(open("johanna_hermannsgabner.csv", "r"), delimiter=",",quotechar='"')
  16.  
  17. for row in file:
  18. if counteri!=0:
  19. column0.append(float(row[0]))
  20. column1.append(float(row[1]))
  21. column2.append(float(row[2]))
  22. column3.append(float(row[3]))
  23. counteri+=1
  24.  
  25. #plt.plot(column3)
  26. #plt.xlim(0,4400)
  27. peaks=signal.find_peaks_cwt(column3, [11.94385])
  28. ywert_peaks=[]
  29.  
  30. for i in peaks:
  31. ywert_peaks.append(column3[i])
  32.  
  33. #plt.plot(peaks, ywert_peaks, 'ro')
  34. #plt.show()
  35.  
  36. n=peaks.size-1
  37. periode=np.zeros(n)
  38. for i in range(1,n+1):
  39. periode[i-1]=peaks[i]-peaks[i-1]
  40. periode=periode/100
  41.  
  42. #hist=plt.hist(periode, bins='auto', density = False)
  43.  
  44.  
  45.  
  46. ### Aufgabe 9
  47. # 1a
  48. mean0=np.mean(periode)
  49. std=np.std(periode)
  50. sigma_T=std/(math.sqrt(n))
  51. l=0.5
  52. sigma_l=0.05
  53. print('_________________________________________________\n\n1a')
  54. print('-Mittelwert der Periodendauer: <T> = {}.'.format(mean0))
  55. print('-Statistischer Fehler der Periodendauer: sigma_T = {}.'.format(sigma_T))
  56.  
  57. pi=math.pi
  58. g0=(l*4*pi**2)/mean0**2
  59. sigma_g=math.sqrt( (((-8*l*np.pi**2)/mean0**3 )**2) * (sigma_T**2) + (((4*np.pi**2)/mean0**2)**2) * (sigma_l**2) )
  60. print('-Erdbeschleunigung: g = {}m/s².\n\-Statistischer Fehler der Erdbeschneunigung: sigma_g = {}'.format(g0,sigma_g))
  61.  
  62.  
  63. # 1b
  64. a=6.1
  65. b=2.8
  66. sig_a=sig_b=0.1
  67.  
  68. kov=sig_a*sig_b
  69. korr=math.sqrt( (b**2)*(sig_a**2) + (a**2)*(sig_b**2) + 2*kov*a*b )
  70. unkorr=math.sqrt((b**2)*(sig_a**2) + (a**2)*(sig_b**2))
  71. flaeche=a*b
  72. print('_________________________________________________\n\n1b')
  73. print('-Fläche ohne Korrelation: {}+/-{}\n-Fläche mit 100% Korrelation: {}+/-{}'.format(flaeche,unkorr,flaeche,korr))
  74.  
  75.  
  76. # 1c
  77. n=2356/60 #### pro 1s
  78. eps=0.1
  79. sigma_eps=0.005
  80. m=n/eps
  81.  
  82. def fehlerfortplanzung_produkt(m,n,eps,sigma_sys,sigma_stat):
  83. sigma_m=m*math.sqrt(((sigma_sys/eps)**2)+(sigma_stat/eps)**2)
  84. return sigma_m
  85.  
  86. sigma_m=fehlerfortplanzung_produkt(m,n,eps,sigma_eps,sigma_eps)
  87. print('_________________________________________________\n\n1c')
  88. print('-Aktivität in Becquerel {}+/-{}'.format(m,sigma_m))
  89. n_h=2356*60
  90. m_h=n_h/eps
  91. sigma_mh=fehlerfortplanzung_produkt(m_h,n_h,eps,sigma_eps,sigma_eps)
  92. print('-Aktivität pro Stunde {}+/-{}'.format(m_h,sigma_mh))
  93.  
  94.  
  95. # 1d
  96. stand=1000 ## in nV mit 80%
  97. sig_m=100 ## in nV
  98. anzahl=[]
  99. for t in range(30):
  100. kov=(stand**2)*np.exp(-t/5)
  101. n_=( 1.28*math.sqrt(kov)/sig_m )**2
  102. anzahl.append(n_)
  103.  
  104. plt.plot(anzahl)
  105. plt.xlabel('Zeitabstand i-j')
  106. plt.ylabel('Benoetigte Anzahl')
  107. plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement