版权声明:本文为博主原创文章,未经博主允许不得转载。 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)