作业帮 > 数学 > 作业

数值方法 三次样条插值

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:数学作业 时间:2024/04/29 06:31:54
数值方法 三次样条插值
三次样条插值,节点若是等间距的话,节点间距对插值点的结果是不是不影响?比如,我有0~10,11个节点,这些地方的值知道.现在要插值得出0~1之间点的值,那我把0和1处的x值看成1或2,也就是x0=0,x1=1或是x0=0,x1=2,得出他们中间的插值点的值是一样的吗?
求三次样条插值程序,是知道一系列等间距点和该出的值,求这些点中间处的插值点的值.
数值方法 三次样条插值
也得不影响. 而且如果你固定用三次样条插值的话,直接影响精确度的就是间距.
所有的多项式插值,(不止插值,连拟合都是这样)只要方法固定下来,接下来直接影响精度的就是间距h了.
三次样条插值本质上就是解一个矩阵对应的线性方程组.至于你最后一句话:
“是知道一系列等间距点和该出的值,求这些点中间处的插值点的值.”
.那一系列等间距点就是插值点,后面那个是你未知的部分的内容,3次样条插值是求出一个可以穿过你原本给定的那一系列点的分段3次多项式函数,使得它在所有的点都保证至少2阶连续可导的光滑度.三次样条插值解出来的是各个分段的逼近多项式的表达式(3次的),得到全段的表达式后,你把你要估计的那个点的自变量值代进表达式得到该点的函数值.
插值有时候也会用来做别的事情.最常见的就是在估算原函数的积分的时候,威力巨大.
再问: X=0:1:10; Y=[1.5, 2.0 ,-4.6 ,6.3, 2.9, 5.5, -2.4, 3.8, 4.1, 6.6, 5.3] 你有三次样条插值程序吗?这上面一组数,在中点处(0.5,1.5~8.5,9.5)插值,边界条件是两端点2次导数为0,得到的值(10个数)是多少? 还有,插值节点有个数限制吗? 为什么看到有些程序要求插值点不能超过多少个?
再答: 不管什么程序任何东西的个数都是有上限的。。计算机的存储空间又不是无穷大。。。 而且计算机自身还有舍入误差问题,每计算一次都会有一个机器精度级别的误差,计算量高到一定程度之后,舍入误差的累积会超出人们可接受的范围,所以平常任何计算量较大的程序都可能会对点的个数进行限制。这个跟三次样条插值方法自身没有很大的关系。 所以才有要考虑误差的范围的专门的误差分析的学科。 你没有这方面的书吗?书上都有很直接的公式,才10个点你自己手动算一下那个矩阵(10个点的话只要算大约30多个式子的值)到Matlab里直接求逆乘上右边的就可以了。你要完整的程序的话直接抄别人的好了,我这里没有。
再问: 额... 回答得很详细啊,thks. 直接点吧。我的这个插值节点接近100个。我自己编了个程序,感觉没问题,但用matlab检查时发现有些小差别。然后看网上的几个程序,他们的程序里要求插值节点最多不超过60个,也有的人定义不超过20个。我只想问,他们为什么把插值节点定这么小?