Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from math import log2, ceil, exp
- def tested_function(x):
- return exp(x) - 4*x
- if __name__ == '__main__':
- print('[x0, x1]')
- pivot = 0
- x0 = float(input('x0 = '))
- x1 = float(input('x1 = '))
- if int(input('precision(1) or iteration(2) ?')) == 1:
- precision = int(input('Precision ?'))
- iteration = ceil(log2(pow(10, precision) * (x1 - x0)/2))
- else:
- iteration = int(input('Iteration ?'))
- precision = ceil((x1 - x0) / pow(2, iteration))
- precision = str(precision)
- for i in range(iteration):
- x2 = (x0 + x1) / 2
- r = tested_function(x2)
- print('{}'.format(r))
- if r == pivot:
- print('done')
- break
- elif (tested_function(x0) > pivot > r) or \
- (tested_function(x0) < pivot < r):
- x1 = x2
- else:
- x0 = x2
- print('[{}, {}]'.format(x0, x1))
- print('{}'.format((x0 + x1) / 2))
- print('iteration : {}'.format(iteration))
- print('precision : {}'.format(precision))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement