# -*- coding: utf-8 -*-
"""
Created on Fri Mar 27 09:50:29 2026

@author: 2017
"""

import numpy as np

a = 0  #nedre integralgrense
b = 1
n = 10   #antall delintervaller

def f(x):
    return x**4
# np.sin(x)
#2* np.sqrt(1-x**2)

delta = (b-a)/n  #brede på delintervallene
halvdelta = delta/2

vr = 0
x=a
for i in range(n):
    vr += f(x)
    x += delta
vr = vr * delta 

hr = vr + (f(b)-f(a)) *delta   

mp = 0
x=a + halvdelta
for i in range(n):
    mp += f(x)
    x += delta
mp = mp * delta 
tm = (vr+hr)/2
hr = vr + (f(b)-f(a)) *delta  
sm = (tm + 2 * mp)/3


print('venstre rektangelmetode: ', vr)
print('høyre rektangelmetode:   ', hr)  
print('trapesmetode:            ', tm)
print('midtpunksmetode:         ', mp)
print('Simpsonsmetode:          ', sm)
