可以利用matlab的trapz函数命令
x=0:0.00001:1;%x用来储存积分点
y=(x+1).*sin(x);%y用来求解积分点x处的函数值
I=trapz(x,y)
I =
0.7608663730793
验证该问题的解析解
syms x
y=(x+1)*sin(x);%被积函数表达式
II=int(y,0,1)
II =
sin(1) - 2*cos(1) + 1 %II即为该被积函数的解析解
II_E=eval(II)
II_E =
0.760866373071617 %II的数值解
%可以看出梯形求积公式在步长等于0.00001的情况下,数值积分的解与解析解的数值能达到小数点后11位保持一致