Advertisement
Guest User

Untitled

a guest
Nov 15th, 2019
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.52 KB | None | 0 0
  1. import numpy as np
  2. import pandas as pd
  3. import matplotlib.pyplot as plt
  4. from numpy.polynomial import Polynomial
  5.  
  6. f = Polynomial([2.0, 1.0, -6.0, -2.0, 2.5, 1.0])
  7. a = -0.5
  8. b = 1.3
  9. m = (a+b)/2
  10. e = 1e-6
  11.  
  12. list_a = []
  13. list_b = []
  14. list_m = []
  15. list_f = []
  16.  
  17. root = 0.0
  18.  
  19. #+----------------------+
  20. #| Start of your code +
  21. #+----------------------+
  22. import numpy as np
  23. import pandas as pd
  24. import matplotlib.pyplot as plt
  25. from numpy.polynomial import Polynomial
  26.  
  27. f = Polynomial([2.0, 1.0, -6.0, -2.0, 2.5, 1.0])
  28. a = -0.5
  29. b = 1.3
  30. m = (a+b)/2
  31. e = 1e-6
  32.  
  33. list_a = []
  34. list_b = []
  35. list_m = []
  36. list_f = []
  37.  
  38. root = 0.0
  39.  
  40. #+----------------------+
  41. #| Start of your code +
  42. #+----------------------+
  43. while True:
  44. list_a.append(a)
  45. list_b.append(b)
  46. list_m.append(m)
  47. list_f.append(f(m))
  48.  
  49.  
  50. if(f(a)*f(m)<0):
  51. b=m
  52. m=(a+b)/2
  53. list_a.append(a)
  54. list_m.append(m)
  55. list_b.append(b)
  56.  
  57. list_f.append(f(m))
  58. else:
  59. a=m
  60. m=(a+b)/2
  61.  
  62. list_a.append(a)
  63. list_b.append(b)
  64. list_m.append(m)
  65. list_f.append(f(a))
  66.  
  67.  
  68. if(abs(list_m[-1]-list_m[-2])/abs(list_m[-1])<=e):
  69. root=m
  70. break
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77. #+--------------------+
  78. #| End of your code +
  79. #+--------------------+
  80.  
  81. xs = np.linspace(-2.5, 1.6, 100)
  82. ys = f(xs)
  83.  
  84. plt.axhline(y=0, color='k')
  85. plt.plot(xs, ys)
  86. plt.plot(root, f(root), 'ro')
  87.  
  88. print(pd.DataFrame({'a':list_a, 'b':list_b, 'm':list_m, 'f(x)':list_f}))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement