三次样条4点权重

Posted reedlau

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三次样条4点权重相关的知识,希望对你有一定的参考价值。

clear
clc

syms x0 x1 x2 x3 h x
syms y0 y1 y2 y3

h0=h;%x1-x0;
h1=h;%x2-x1;
h2=h;%x3-x2;

d0=(y1-y0)/(x1-x0);
d1=(y2-y1)/(x2-x1);
d2=(y3-y2)/(x3-x2);

d0=(y1-y0)/h;
d1=(y2-y1)/h;
d2=(y3-y2)/h;

A=[1      0     0      0;
   h    4*h     h      0;
   0      h   4*h      h;
   0      0     0      1 ]
b=[0;
   6*(d1-d0);
   6*(d2-d1);
   0];

m=A\b;

m0=m(1);
m1=m(2);
m2=m(3);
m3=m(4);

s10=y1;
s11=d1-h/6*(2*m1+m2);
s12=m1/2;
s13=(m2-m1)/6/h;

s=s10+s11*(x-x1)+s12*(x-x1)^2+s13*(x-x1)^3;

ss=s;

s=ss;
s=subs(s,y1,0);
s=subs(s,y2,0);
s=subs(s,y3,0);
cc=collect(s,y0);
simplify(cc);
pretty(cc)

s=ss;
s=subs(s,y0,0);
s=subs(s,y2,0);
s=subs(s,y3,0);
cc=collect(s,y1);
simplify(cc);
pretty(cc)

s=ss;
s=subs(s,y0,0);
s=subs(s,y1,0);
s=subs(s,y3,0);
cc=collect(s,y2);
simplify(cc);
pretty(cc)

s=ss;
s=subs(s,y0,0);
s=subs(s,y1,0);
s=subs(s,y2,0);
cc=collect(s,y3);
simplify(cc);
pretty(cc)

 

以上是关于三次样条4点权重的主要内容,如果未能解决你的问题,请参考以下文章

三次样条插值

三次样条插值介绍

(5)三次样条和B样条

三次样条插值法

Spline(三次样条插值)

三次样条插值拟合函数,预测下明后天的疫情