当已知某些点而不知道具体方程时候,最经常遇到的场景就是做实验,采集到数据的时候,我们通常有两种做法:拟合或者插值。拟合不要求方程通过所有的已知点,讲究神似,就是整体趋势一致。插值则是形似,每个已知点都必会穿过,但是高阶会出现龙格库塔现象,所以一般采用分段插值。今天我们就来说说这个分段三次样条插值。
顾名思义,分段就是把区间[a,b]分成n个区间
![equation?tex=%5B%28x_0%2Cx_1%29%2C%28x_1%2Cx_2%29%2C%5Cdots%2C%28x_%7Bn-1%7D%2Cx_n%29%5D](https://i-blog.csdnimg.cn/blog_migrate/ad4dbb72946792d1b0cf714f9c36efa8.png)
![equation?tex=x_0%3Da%2Cx_n%3Db](https://i-blog.csdnimg.cn/blog_migrate/291f671c4ed68ac10f3bafafbdd63a69.png)
1,在每个分段小区间
![equation?tex=%5Bx_i%2Cx_%7Bi%2B1%7D%5D](https://i-blog.csdnimg.cn/blog_migrate/4a363028386718b43643d61441790f76.png)
![equation?tex=S%28x%29%3DS_i%28x%29](https://i-blog.csdnimg.cn/blog_migrate/e01dea5b1f25d2a258fac5fb063c3497.png)
2,满足插值条件,即
![equation?tex=S%28x_i%29%3Dy_i+%5Cquad+%28i%3D0%2C1%2C...%2Cn%29](https://i-blog.csdnimg.cn/blog_migrate/9b5726f731d63f2266fa511f957b8ef7.png)
3, 曲线光滑,即
![equation?tex=S%28x%29%EF%BC%8CS%27%28x%29%EF%BC%8CS%27%27%28x%29](https://i-blog.csdnimg.cn/blog_migrate/897d0176bc094074ac9dd648d6a7d4d0.png)
则这个三次方程可以构造成如下形式:
![equation?tex=y%3Da_i%2Bb_ix+%2Bc_ix%5E2+%2Bd_i+x%5E3](https://i-blog.csdnimg.cn/blog_migrate/1a28fa67622a10664dd87f9232b34550.png)
![equation?tex=S_i%28x%29](https://i-blog.csdnimg.cn/blog_migrate/9dd300b8c69deba0fdd2f023dab96dfd.png)
从
![equation?tex=S_i%28x%29](https://i-blog.csdnimg.cn/blog_migrate/9dd300b8c69deba0fdd2f023dab96dfd.png)
![equation?tex=%EF%BC%88a_i%2Cb_i%2Cc_i%2Cd_i%EF%BC%89](https://i-blog.csdnimg.cn/blog_migrate/6eff530197684174096128cae03cda4b.png)
求解
我们要找出4n个方程来求解4n个未知数
首先,由于所有点必须满足插值条件,
![equation?tex=S%28x_i%29%3Dy_i+%5Cquad+%28i%3D0%2C1%2C...%2Cn%29](https://i-blog.csdnimg.cn/blog_migrate/9b5726f731d63f2266fa511f957b8ef7.png)
![equation?tex=S_i%28x_%7Bi%2B1%7D%29%3Dy_%7Bi%2B1%7D+%5Cquad+S_%7Bi%2B1%7D%28x_%7Bi%2B1%7D%29%3Dy_%7Bi%2B1%7D](https://i-blog.csdnimg.cn/blog_migrate/844c49254d5e30554bf4d66c3039c30c.png)
其次,n-1个内部点的一阶导数应该是连续的,即在第 i 区间的末点和第 i+1 区间的起点是同一个点,它们的一阶导数应该也相等,即
![equation?tex=S%27_%7Bi%7D%28x_%7Bi%2B1%7D%29%3DS%27_%7Bi%2B1%7D%28x_%7Bi%2B1%7D%29](https://i-blog.csdnimg.cn/blog_migrate/1512cc26dc7f3c06b8f96c5a01fc296e.png)
另外,内部点的二阶导数也要连续,即