gringotopies

numerycznelab2

Oct 29th, 2018
206
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.08 KB | None | 0 0
  1. ##Zadanie1
  2.  
  3.  
  4. import math
  5. import numpy as np
  6.  
  7. p1=math.pi
  8. p1z=22/7
  9. p2=math.e
  10. p2z=2.718
  11. p3=math.pow(10,math.pi)
  12. p3z=1397
  13. p4=math.factorial(9)
  14. p4z=(math.sqrt(18*math.pi))*math.pow((9/math.e),9)
  15.  
  16. ##błąd bezwzględny: a = |p - pz|
  17. print("Błędy bezwzględne")
  18. print(abs(p1-p1z))
  19. print(abs(p2-p2z))
  20. print(abs(p3-p3z))
  21. print(abs(p4-p4z))
  22. print()
  23.  
  24. ##błąd względny: b = |p - pz|/p
  25. print("Błędy względne")
  26. print(abs(p1-p1z)/p1)
  27. print(abs(p2-p2z)/p2)
  28. print(abs(p3-p3z)/p3)
  29. print(abs(p4-p4z)/p4)
  30.  
  31.  
  32. ##Zadanie 2
  33.  
  34. import numpy as np
  35. import matplotlib.pyplot as plt
  36.  
  37. print("3.1: Nie zależy")
  38.  
  39. def gvalue(p):
  40.     val=(1/p)*(math.pow(10,p)*(1+p*round(math.pi,15)*math.pow(10,-p))-math.pow(10,p))
  41.     return val
  42.  
  43. def firstngvalues(n):
  44.     values=[]
  45.     for i in range(1,n+1):
  46.         values.append(gvalue(i))
  47.     return values
  48.  
  49. def bezwzgledny(p):
  50.     return abs(gvalue(p)-math.pi)
  51.  
  52. def wzgledny(p):
  53.     return abs(gvalue(p)-math.pi)/math.pi
  54.    
  55.  
  56. x1= np.linspace(1,20)
  57. wzgledne=[]
  58. bezwzgledne=[]
  59.  
  60. for i in x1:
  61.     wzgledne.append(wzgledny(i))
  62.     bezwzgledne.append(bezwzgledny(i))
  63.    
  64. print("3.2:")
  65.    
  66. plt.semilogy(x1, wzgledne)
  67. plt.title('Błędy względne')
  68. plt.xlabel('n')
  69. plt.ylabel('Błąd względny')
  70. plt.legend('Błędy względne')
  71. plt.show()
  72.  
  73.    
  74. plt.semilogy(x1, bezwzgledne)
  75. plt.title('Błędy bezwzględne')
  76. plt.xlabel('n')
  77. plt.ylabel('Błąd bezwzględny')
  78. plt.legend('Błędy bezwzględne')
  79. plt.show()
  80.    
  81. print("3.3: Błędy rosną kiedy n rośnie. ") ##dlaczego?
  82. print("3.4: Błąd zaokrąglenia.")
  83.  
  84.  
  85. ##Zadanie 3
  86.  
  87. def evalue(s):
  88.     value=0
  89.     for i in range(0,s+1):
  90.         value=value+1/math.factorial(s)
  91.     return value
  92.        
  93. e5=evalue(5)
  94. e10=evalue(10)
  95.    
  96. print("Błędy bezwzględne")
  97. print(abs(math.e-e5))
  98. print(abs(math.e-e10))
  99. print()
  100.  
  101. print("Błędy względne")
  102. print(abs(math.e-e5)/math.e)
  103. print(abs(math.e-e10)/math.e)
  104.  
  105.  
  106. ##Zadanie 4
  107.  
  108.  
  109.  
  110.  
  111. ##Zadanie 5
  112.  
  113.  
  114. pivalue=math.sqrt(6*(sum([ 1/(n*n) for n in range(1,10000) ])))
  115.  
  116. print(pivalue)
  117. print("Mamy tu do czynienia z błędem obcięcia")
Add Comment
Please, Sign In to add comment