{OFF}如何在matlab上导出样条插值函数?

{OFF}如何在matlab上导出样条插值函数?,matlab,curve-fitting,Matlab,Curve Fitting,我有来自电池放电曲线的实验室测试数据。数据包括22个电压-时间点。在matlab中,我通过样条插值绘制了一条插值曲线,但我希望对该图进行导数,我如何才能做到这一点 代码 您可以使用y/x: f = fit( x, y,'cubicinterp') df = gradient(f(x)); % f'x dx = gradient(x); % dx dfx = df ./ dx; plot(x, y, x, dfx); 我有一个问题和一个建议。我的问题是,第一个数据点是否是在空载条件下

我有来自电池放电曲线的实验室测试数据。数据包括22个电压-时间点。在matlab中,我通过样条插值绘制了一条插值曲线,但我希望对该图进行导数,我如何才能做到这一点

代码 您可以使用
y/x

f = fit( x, y,'cubicinterp')
df = gradient(f(x)); % f'x
dx = gradient(x);    % dx

dfx = df ./ dx;
plot(x, y, x, dfx); 

我有一个问题和一个建议。我的问题是,第一个数据点是否是在空载条件下获取的,因为时间零点处的电压似乎不具有通常与蓄电池内部电阻串联负载相关的电压降,而其他数据点可以看到这一点。我的建议是使用具有较小值的时间单位,例如,如果时间单位为毫秒,则尝试以秒为单位进行建模,因为“x”值当前非常大。这是因为实验室测试是以1小时为间隔进行的,对我来说,这是一个非常大的间隔,应该是秒。如果时间零点数据点的实验条件(存在充电/放电滞后)不同于所有其他数据点的实验条件,那么在模型中不使用时间零点数据点是值得考虑的。
f = fit( x, y,'cubicinterp')
df = gradient(f(x)); % f'x
dx = gradient(x);    % dx

dfx = df ./ dx;
plot(x, y, x, dfx);