从matlab

时间:2016-03-14 15:54:41

标签: matlab curve-fitting

我有两个向量x和y,我通过matlab中的平滑样条拟合它们。我得到了这个:

 form: 'pp'
    breaks: [15.5649 16.2041 17.0345 18.0489 20.1834 22.5540 24.5158 27.7881 32.5594 36.0827 40.5951]
     coefs: [10x4 double]
    pieces: 10
     order: 4
       dim: 1

我需要知道拟合系数才能重建拟合曲线。 我怎样才能获得这些信息?

1 个答案:

答案 0 :(得分:0)

如@A_C所述,您可以从coefs参数中获取系数。您应该记住,样条曲线适合每个区域的不同多项式 - 在您的情况下为10个区域。

由于从系数重建曲线需要做很多工作,Matlab为您提供ppval函数来执行此操作:

x = [3 4 7 9];
y = [2 1 2 0.5];
xx = 0:0.1:10;

pp = spline(x,y);
yy = ppval(pp,xx);
plot(xx,yy);

或者,如果您只需要执行一次插值,为什么不直接执行:

x = [3 4 7 9];
y = [2 1 2 0.5];
xx = 0:0.1:10;

yy = spline(x,y,xx);
plot(xx,yy);