import math

def f(x):
    return x * math.exp(x) - 1

def methode_1(a, b, n):
    for i in range(n):
        m = (a + b) / 2
        if f(a) * f(m) < 0:
            b = m
        else:
            a = m
    return [a, b]


def nombre_derive_approche(a):
    h = 1e-10
    return (f(a + h) - f(a)) / h


def methode_Newton(n):
    x = 1
    for i in range(n):
        x = x - f(x) / nombre_derive_approche(x)
    return x


def comparaison(n):
    a = methode_1(0, 1, n)[0]
    b = methode_1(0, 1, n)[1]
    precision = b - a

    i = 0
    x= 1
    x1 = methode_Newton(1)

    while x<a or x>b:
        x=x-f(x)/nombre_derive_approche(x)
        i = i+1

    return i

print(methode_1(0, 1, 50))
print(methode_Newton(5))
print(methode_Newton(10))
print(comparaison(50))

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: