如何在 MATLAB 中进行累积梯形积分,将原点保持在中心?

How to do cumulative trapezoidal integration in MATLAB keeping the origin in the centre?

我有向量顶部、底部、中间,我试图将它们整合到 i 中,将原点保持在索引 11。

i=0:0.01e-06:1.3e-06;
bottom=cumtrapz(i(11:end),b(11:end));
top=cumtrapz(i(11:end),t(11:end));
mid=cumtrapz(i(11:end),m(11:end));

bottom1=cumtrapz(i(1:11),b(1:11));
top1=cumtrapz(i(1:11),t(1:11));
mid1=cumtrapz(i(1:11),m(1:11));

figure(2)
plot([bottom1 bottom]);hold on
plot([top1 top])
plot([mid1 mid])

不过,剧情看起来并不顺畅,在原点处突然出现了不该出现的突变。如何纠正它。

计算两个单独的积分不是正确的方法。在计算积分后,可以根据需要通过移动 x 轴和 y 轴截距来调整原点。

i = 0:0.01e-06:1.3e-06;
t = rand(size(i));

top = cumtrapz(i,t);

plot(i-i(11), top-top(11))
xline(0)
yline(0)