# Całkujemy funkcję y = x**k dla 0<x<1 wg metody Lebesgue'a # k > 0 - dowolna liczba rzeczywista dodatnia # n - liczba podziałów przeciwdziedziny funkcji def lebesgue_x_k(n, k): # n - liczba podziałów osi Y (od 0 do 1) suma_d = 0 suma_g = 0 for i in range(n): y_i = i / n y_next = (i + 1) / n # Długość (miara) przedziału dziedziny= y_next**{1/k} - y_i**{1/k} miara = (y_next)**(1/k) - (y_i)**(1/k) suma_d += y_i * miara suma_g += y_next * miara return suma_d, suma_g
# Dane k = 2 n = 10000 print("n - liczba podziałów przeciwdziedziny, przybliżenia całki dolne i górne:") print(f"n={n}:{lebesgue_x_k(n,k):12.6f},{lebesgue_x_k(n,k):12.6f}")
Np. dla mamy funkcję kwadratową ; całka Riemanna daje wartość
Obliczenia tej całki wg metody Lebesgue'a dla dają wartości sumy dolną i górną równe odpowiednio oraz ; dla otrzymamy sumy dolną i górną równe odpowiednio oraz (po zaokrągleniu do 8 miejsc po przecinku). Widać, że im większa jest liczba n, tym dokładniejsze jest obliczenie.