我有以下任意数据:
t=[0 1 2 3 4 5 6 7 8 9 10 12 14];
C=[0 1 5 8 10 8 6 4 3.0 2.2 1.5 0.6 0];
area=trapz(t,C);
E=C./area;
F=cumtrapz(t,E);
现在,我想平滑地块:
t_int=[];
E_int=[];
F_int=[];
xmin=min(t);
xmax=max(t);
points=5000;
stepSize=(xmax-xmin)/points;
for i=xmin:stepSize:xmax
t_int=[t_int i];
E_int=[E_int interp1(t, E, i,'pchip')];
F_int=[F_int interp1(t, F, i,'pchip')];
end
好的,所以我们到了问题所在的实际部分。实际上,我有一些 F 图,我想得到它对应的 E 图。由于 F 图是 E 的积分,因此 E 是微分的 F 图。
那么:
dy=diff(F_int);
dx=diff(t_int);
dydx = dy./dx;
plot(t_int(:,1:length(dydx)),dydx,t_int,E_int)
legend('E (calculated)','E (actual)')
为什么计算出的 E 图如此不稳定?