matlab三次样条插值代码

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_37486501/article/details/86655548

matlab三次样条插值代码

function y=yangtiao()
x0=[2010 2011 2012 2013 2014 2015 2016 2017];
y0=[41462 28969 32251 47694 32265 27819 33539 36994	];%VA
% x=2010:1:2017;
% y2=interp1(x0,y0,x)
% y3=interp1(x0,y0,x,'spline')%三次样条插值
pp=spline(x0,y0)
pp.coefs%返回的是三次样条插值函数每段的系数,三次样条插值每段是三次多项式。

注意: 返回的是三次样条插值函数每段的系数,三次样条插值每段是三次多项式。

  • 见下图:
ans =

  Columns 1 through 3

     2.300264752791069e+03     9.867057416267944e+02    -1.577997049441786e+04
     2.300264752791069e+03     7.887500000000000e+03    -6.905764752791069e+03
    -1.511532376395534e+04     1.478829425837321e+04     1.577002950558214e+04
     1.512803030303030e+04    -3.055767703349282e+04     6.467304625201414e-01
    -3.541797448165869e+03     1.482641387559809e+04    -1.573061642743222e+04
    -1.777840510366826e+03     4.201021531100479e+03     3.296818979266347e+03
    -1.777840510366827e+03    -1.132499999999999e+03     6.365340510366826e+03

  Column 4

     4.146200000000000e+04
     2.896900000000000e+04
     3.225100000000000e+04
     4.769400000000000e+04
     3.226500000000000e+04
     2.781900000000000e+04
     3.353900000000000e+04


方法二:

画图:

function y=yangtiao()
x0=[2010 2011 2012 2013 2014 2015 2016 2017];
% y0=[41462 28969 32251 47694 32265 27819 33539 36994	];%VA
% y0=[70999	71282	85415	93747	101423	109150	115276	119349];%OH
% y0=[89981	86793	78577	72096	77318	75351	72376	68751];%PA
%y0=[29588	28285	27502	26820	27077	25811	26530	28870];%KY
y0=[8668	9310	9429	9062	6926	5345	5405	3672];%WV
 y=spline(x0,y0,x)
plot(x0,y0,'+',x,y)

猜你喜欢

转载自blog.csdn.net/qq_37486501/article/details/86655548
今日推荐