有没有精确的曲线拟合方法returns系数可以通过函数生成回原曲线? (Matlab)

Is there an accurate curve fitting method that returns coefficients which can be used to generate the original curve back via a function? (Matlab)

  1. 获取一组数据并绘制一条曲线。
  2. 获取曲线并应用曲线拟合生成系数。
  3. 使用系数通过函数生成曲线。

目前尝试了 n 阶多项式,但非常不准确。还尝试了准确但不允许仅使用函数重新生成曲线的样条曲线。

我认为您可能正在寻找样条拟合和方法。 MATLAB 样条对象允许仅使用函数 (ppval) 重新生成曲线。 例如

% original curve 1
x = linspace(0, 4);
y = cos(2 * pi * x);
subplot 221
plot(x, y)
title('Original Curve 2')

% fitted curve 1
p = pchip(x, y);
s = spline(x, y);
subplot 223
plot(x, ppval(p, x), x, ppval(s, x))
legend('pchip','spline')
title('Fitted Curve 1')

% original curve 2
nSample = 1001;
x = linspace(0, 1e-2, nSample);
nPulse = 9;
c = [linspace(0.001, 0.009, nPulse); (7/8).^(1:nPulse)]';
y = pulstran(x, c, @gauspuls, 10000, 0.5); 
subplot 222
plot(x, y)
title('Original Curve 2')

% fitted curve 2
p = pchip(x, y);
s = spline(x, y);
subplot 224
plot(x, ppval(p, x), x, ppval(s, x))
legend('pchip','spline')
title('Fitted Curve 2')