逐行给代码进行注释function t = natrapzfnameabnh = b-an;fa = fevalfnamea;fb = fevalfnameb;f = fevalfnamea+hhb-h+0001h;t = h05fa+fb+sumf;输入命令:syms xf = x sqrtxlogx;natrapzfeps110
- 定义了一个函数
natrapz,输入参数为函数句柄fname、积分区间左右端点a和b,以及分割数n,输出为数值积分结果t。 - 计算区间宽度
h。 - 计算积分区间左端点
a处的函数值。 - 计算积分区间右端点
b处的函数值。 - 计算积分区间内除去左右端点之外的所有分割点处的函数值,并存储在向量
f中。 - 计算梯形公式的数值积分结果
t。其中,0.5*(fa+fb) 表示左右端点处的函数值的平均值,sum(f) 表示中间分割点处函数值的和,h 表示每个小梯形的面积,因此整个积分区间的面积为左右端点处函数值平均值和中间分割点处函数值之和的加权平均值。 - 定义了一个函数句柄
f,表示被积函数sqrt(x)*log(x)。 - 调用
natrapz函数,计算函数f在区间[eps, 1]上的数值积分结果,分割数为10。
原文地址: http://www.cveoy.top/t/topic/fd9R 著作权归作者所有。请勿转载和采集!