%复化梯形积分公式matlab
function [Integ] = Trape(fun,N,a,b)
%----fun为需要被积分的syms型函数----%
%----a和b为区间的起、终点-----------%
%----N把区间(a,b)分成N等分----------%
h = (b-a)/N;%----------------------h为步长
y = zeros(1,N+1);%-----------------预分配y
inte = zeros(1,N);%预分配每个小区间的积分值
for i = 0:N
y(i+1) = double(subs(fun,(a+i*h)));%-每个y值
end
for j = 0:N-1
inte(j+1) = (y(j+1)+y(j+2))*h/2;%----计算积分
end
Integ = sum(inte);