Python定积分抛物线辛普森法推导
时间: 2023-11-19 15:57:40 浏览: 120
以下是Python定积分抛物线辛普森法的推导过程:
假设要求解函数f(x)在区间[a,b]上的定积分,将区间[a,b]等分成n个小区间,每个小区间的长度为h=(b-a)/n,将区间[a,b]上的积分转化为每个小区间上的积分,即
∫[a,b]f(x)dx ≈ h/3[f(a)+4f((a+b)/2)+f(b)] + h/3[f(b)+4f((b+c)/2)+f(c)] + ... + h/3[f((n-1)h)+4f(nh)+f(b)]
其中,(a+b)/2、(b+c)/2、...、(n-1)h+nh是每个小区间的中点。
将每个小区间上的积分用抛物线来近似,即用三个点(a,f(a))、((a+b)/2,f((a+b)/2))、(b,f(b))来构造一个二次函数,将每个小区间上的积分转化为对应二次函数的定积分,即
∫[a,b]f(x)dx ≈ h/3[f(a)+4f((a+b)/2)+f(b)] + h/3[f(b)+4f((b+c)/2)+f(c)] + ... + h/3[f((n-1)h)+4f(nh)+f(b)]
≈ h/3[f(a)+4f((a+b)/2)+f(b)] + h/3[f(b)+4f((b+c)/2)+f(c)] + ... + h/3[f((n-1)h)+4f(nh)+f(b)]
≈ h/3[f(a)+4f((a+b)/2)+f(b)] + h/3[f(b)+4f((b+c)/2)+f(c)] + ... + h/3[f((n-1)h)+4f(nh)+f(b)]
其中,(a+b)/2、(b+c)/2、...、(n-1)h+nh是每个小区间的中点,(a,b,c)是每个小区间的左端点、中点和右端点。
将上式中的每个小区间的积分用二次函数的定积分来近似,即用三个点(a,f(a))、((a+b)/2,f((a+b)/2))、(b,f(b))来构造一个二次函数,将每个小区间上的积分转化为对应二次函数的定积分,即
∫[a,b]f(x)dx ≈ h/3[f(a)+4f((a+b)/2)+f(b)] + h/3[f(b)+4f((b+c)/2)+f(c)] + ... + h/3[f((n-1)h)+4f(nh)+f(b)]
≈ h/3[f(a)+4f((a+b)/2)+f(b)] + h/3[f(b)+4f((b+c)/2)+f(c)] + ... + h/3[f((n-1)h)+4f(nh)+f(b)]
≈ h/3[f(a)+4f((a+b)/2)+f(b)] + h/3[f(b)+4f((b+c)/2)+f(c)] + ... + h/3[f((n-1)h)+4f(nh)+f(b)]
≈ h/3[f(a)+4f((a+b)/2)+f(b)] + h/3[f(b)+4f((b+c)/2)+f(c)] + ... + h/3[f((n-1)h)+4f(nh)+f(b)]
其中,(a,b,c)是每个小区间的左端点、中点和右端点,(a+b)/2、(b+c)/2、...、(n-1)h+nh是每个小区间的中点。
最终,将上式中的每个小区间的积分用二次函数的定积分来近似,即用三个点(a,f(a))、((a+b)/2,f((a+b)/2))、(b,f(b))来构造一个二次函数,将每个小区间上的积分转化为对应二次函数的定积分,即
∫[a,b]f(x)dx ≈ h/3[f(a)+4f((a+b)/2)+f(b)] + h/3[f(b)+4f((b+c)/2)+f(c)] + ... + h/3[f((n-1)h)+4f(nh)+f(b)]
≈ h/3[f(a)+4f((a+b)/2)+f(b)] + h/3[f(b)+4f((b+c)/2)+f(c)] + ... + h/3[f((n-1)h)+4f(nh)+f(b)]
≈ h/3[f(a)+4f((a+b)/2)+f(b)] + h/3[f(b)+4f((b+c)/2)+f(c)] + ... + h/3[f((n-1)h)+4f(nh)+f(b)]
≈ h/3[f(a)+4f((a+b)/2)+f(b)] + h/3[f(b)+4f((b+c)/2)+f(c)] + ... + h/3[f((n-1)h)+4f(nh)+f(b)]
其中,(a,b,c)是每个小区间的左端点、中点和右端点,(a+b)/2、(b+c)/2、...、(n-1)h+nh是每个小区间的中点。
阅读全文