MATLAB 利用复合梯形公式求解积分

(x+1)sin(x)dx 在0到1区间
2024-12-25 07:33:14
推荐回答(1个)
回答1:

可以利用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位保持一致