梯形求积公式 和 复合梯形求积公式 Matlab 实现
梯形求积公式
仅使用区间两点 x1,f(x1),x2,f(x2)
组成的梯形面积S代替 ∫x2x1f(x)dx 的近似方法
![]()
∫x2x1f(x)dx≈S=x2−x12×(f(x2)−f(x1))
复合梯形求积公式
将求积区间[a,b]分为n个区间,每个区间步长为h( h=b−an )在每个区间求梯形积分
![]()
Si为第i个梯形的面积
∫x2x1f(x)dx≈∑i=0nSi=h2∫(f(a)+∑k=1n−1f(xk)+f(b))
说明
上述公式是我用mathjax写的,如有错误请联系我修正
敬请指正
概述省略了部分推导过程,请查阅详细推导资料
Matlab 实现代码
梯形求积公式
将该函数存为m文件
function res = Trapezium(f,a,b)
format long;
if b < a
c = b;
b = a;
a = c;
end
res = (b-a)*(f(a)+f(b))/2;
调用下面语句测试函数
f = inline('sin(x)','x')
Trapezium(f,0,pi/2)
复合梯形求积公式
将该函数存为m文件
function res = ComTrapezium(f,n,a,b)
format long;
if b < a
c = b;
b = a;
a = c;
end
h = (b-a)/n;
d = f(a);
for i = a+h:h:b-h
d = d + (2 * f(i));
end
d = d + f(b);
res = (d * h / 2);
调用下面语句测试函数
f = inline('sin(x)','x')
ComTrapezium(f,4,0,pi/2)