Skip to Content

synthèse du module uncertainties

  1. from uncertainties import ufloat
  2. from uncertainties.umath import *
  3. # calculs divers
  4. x = ufloat((545.25, 0.01)) # x = 545.25+/-0.01
  5. y = ufloat((12345.351, 0.001)) # x = 12345.351+/-0.001
  6. print x * x
  7. 297297.5625+/-10.905
  8. print x + x
  9. 1090.5+/-0.02
  10. print x - x
  11. 0.0
  12. carré = x**2
  13. print carré - x*x
  14. 0.0
  15. y = ufloat((12345.351, 0.001)) # x = 12345.351+/-0.001
  16. print x * y
  17. 6731302.63275+/-123.454714081
  18. print cos(x)/sin(y)
  19. -0.204101841625+/-0.0109873714255
  20. # le module tient compte des corrélations entre variables
  21. carré = x**2
  22. print carré - x*x
  23. 0.0
  24. a = 57
  25. poly = x**2 + a
  26. print poly
  27. 297354.5625+/-10.905
  28. print poly - x*x
  29. 57.0
  30. # les valeurs nominales et les incertitudes peuvent être retrouvées à tout instant
  31. print x.nominal_value
  32. 545.25
  33. print x.std_dev()
  34. 0.01
  35. # les tableaux (arrays) de Numpy peuvent être utilisés et traités de la même manière
  36. import numpy as np
  37. test = np.array([x,y])
  38. print test.sum()
  39. 12890.601+/-0.0100498756211
  40. # ou directement avec unumpy
  41. from uncertainties import unumpy
  42. test2 = = unumpy.uarray(([545.25,12345.351],[0.1,0.01]))
  43. print test2
  44. [545.25+/-0.1 12345.351+/-0.01]
  45. # ou directement :
  46. test3 = unumpy.uarray(([x.nominal_value,y.nominal_value],[x.std_dev(),y.std_dev()]))
  47. print test3
  48. [545.25+/-0.01 12345.351+/-0.001]
  49. print test3.sum()
  50. 12890.601+/-0.100498756211
  51. # la matrice des covariances peut être obtenue
  52. from uncertainties import covariance_matrix
  53. fonction = x-3*y
  54. cov_matrix = covariance_matrix([x, y, fonction])
  55. print cov_matrix
  56. [[0.0001, 0.0, 0.0001],
  57. [0.0, 9.9999999999999995e-07,-3.0000000000000001e-06],
  58. [0.0001, -3.0000000000000001e-06, 0.00010900000000000001]]