код прямо из методички, но он не работает. Почему - не понимаю
причем если закоментировать последнюю строку с 'trap' всё выполняется
import matplotlib.pyplot as plt
def metod_NK(fun,a,b,N_intervalov,tip) :
dx=(b-a)/N_intervalov
if tip=='left':
x_start=a
Summ = 0
for i in range(0,N_intervalov):
Summ=Summ + fun(x_start+i*dx)*dx
elif tip == 'trap':
Summ = 0
for i in range(0,N_intervalov):
Summ = Summ + (fun(x_start+i*dx) + fun(x_start+(i+1)*dx))*dx/2
return Summ
fig = plt.figure(figsize=(15,5))
f = lambda x: x**2
N = 50
n = [i for i in range(1,N+1)]
abs_err_summ_left = [0 for i in range(len(n))]
abs_err_summ_trap = [0 for i in range(len(n))]
for i in range (len(n)):
abs_err_summ_left[i] = abs(5**3/3-metod_NK(f,0,5,n[i],'left'))
abs_err_summ_trap[i] = abs(5**3/3-metod_NK(f,0,5,n[i],'trap'))