Добавил:
ddaren_223
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:коды / 6
.py import numpy as np
a,b,n=0.5,1.5,10
h=(b-a)/n
f=lambda x: np.sin(x**2-1)/2*np.sqrt(x)
x=[('Метод левых прямоугольников',sum(f(a+h*i) for i in range(n))*h),
('Метод средних прямоугольников',sum(f(a+h*(i+0.5)) for i in range(n))*h),
('Метод правых прямоугольников',sum(f(a+h*i) for i in range(1,n+1))*h),
('Метод трапеций',h*(sum((f(a+h*i) for i in range(1,n)))+(f(a)+f(b))/2)),
('Метод Симпсона',sum(f(a+h*(i-1))+4*f(a+h*i)+f(a+h*(i+1)) for i in range(1,n,2))*h/3)]
print('\n'.join(map(str,(f"{[i[1] for i in x][i]} - {x[i][0]}" for i in range(len(x))))))
a,b,n=0.5,1.5,10
h=(b-a)/n
f=lambda x: np.sin(x**2-1)/2*np.sqrt(x)
x=[('Метод левых прямоугольников',sum(f(a+h*i) for i in range(n))*h),
('Метод средних прямоугольников',sum(f(a+h*(i+0.5)) for i in range(n))*h),
('Метод правых прямоугольников',sum(f(a+h*i) for i in range(1,n+1))*h),
('Метод трапеций',h*(sum((f(a+h*i) for i in range(1,n)))+(f(a)+f(b))/2)),
('Метод Симпсона',sum(f(a+h*(i-1))+4*f(a+h*i)+f(a+h*(i+1)) for i in range(1,n,2))*h/3)]
print('\n'.join(map(str,(f"{[i[1] for i in x][i]} - {x[i][0]}" for i in range(len(x))))))