Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2018
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.10 KB | None | 0 0
  1. # -*- coding: utf-8 -*-
  2. """
  3. Spyder Editor
  4.  
  5. This is a temporary script file.
  6.  
  7. TODO: Make plots
  8. """
  9. import math
  10.  
  11. def mclrn(x, prec, imax):
  12. est = 0
  13. errs = []
  14. ests = []
  15. for i in range(imax):
  16. est += (pow(x, i) / math.factorial(i))
  17. err = abs(math.exp(x) - est) / math.exp(x)
  18.  
  19. errs.append(err)
  20. ests.append(est)
  21.  
  22. if err < prec:
  23. break
  24. # This block stops calculations if error doesn't decrease
  25. if len(errs) > 2:
  26. if errs[len(errs) - 1] == errs[len(errs) - 2]:
  27. break
  28.  
  29. return ests, errs, i
  30.  
  31. x1, y1, term1 = mclrn(1, 1e-15, 30)
  32. x2, y2, term2 = mclrn(2, pow(10, -15), 300)
  33. x10, y10, term10 = mclrn(10, pow(10, -15), 300)
  34.  
  35. for i in range(len(x1)):
  36. print("{}: {}".format(x1[i], y1[i]))
  37. print(term1)
  38.  
  39. for i in range(len(x2)):
  40. print("{}: {}".format(x2[i], y2[i]))
  41. print(term2)
  42.  
  43. for i in range(len(x10)):
  44. print("{}: {}".format(x10[i], y10[i]))
  45. print(term10)
  46.  
  47. '''
  48. Report. Student: Alisher Shakhiyev
  49.  
  50. In this assignment
  51. '''
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement