Advertisement
ptrckstuns

Bisection't

Feb 23rd, 2020
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.05 KB | None | 0 0
  1. import math
  2. from math import e
  3. from prettytable import PrettyTable
  4.  
  5. n = float(input("input: "))
  6. error = 0.00001
  7. #print('Error: {:f}'.format(error))
  8.  
  9. t = PrettyTable(['n', 'A', 'B', 'sign f(A)', 'sign f(B)', 'C', 'f(C)', '|A-B|< Error', 'Yes/No'])
  10.  
  11. for n in range(99):
  12.     a = input('Value of A: ')
  13.     b = input('Value of B: ')
  14.     c = (float(a)+float(b))/2
  15.     fa = pow(math.e,float(a))-pow(float(a),2)+(3*float(a))-2
  16.     fb = pow(math.e,float(b))-pow(float(b),2)+(3*float(b))-2
  17.     fc = pow(math.e,float(c))-pow(float(c),2)+(3*float(c))-2
  18.     AB = abs(float(a)-float(b))
  19.  
  20.     #print(f'f(a): {fa}')
  21.     #print(f'f(b): {fb}')
  22.     #print(f'C: {c}')
  23.     #print('f(c): {:f}'.format(truncate(float(fc))))
  24.     #print(f'f(c): {truncate(float(fc))}')
  25.     #print(f'|A-B|<Error: {AB}')
  26.  
  27.     f = ''
  28.     if AB < error:
  29.         f = 'YES'
  30.         break
  31.     else:
  32.         f = 'NO'
  33.  
  34.     t.add_row([n, a, b, fa, fb, c, fc, AB, f])
  35.     b = fb
  36.     if f=='YES':
  37.         break
  38.  
  39.     print(t)
  40.  
  41. def truncate(n):  
  42.     return int(n * 1000000000) / 1000000000
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement