文档详情

MATLAB大作业 给定一个时间序列,使用三次样条插值方法进行均匀内插.doc

发布:2018-07-10约5.54千字共11页下载文档
文本预览下载声明
MATLAB作业 给定一个时间序列,使用三次样条插值方法进行均匀内插 (题目的相关说明:按题目要求编写一个MATLAB程序函数,并把自己编制程序所得的结果与MATLAB库函数分析结果进行对比。) 理论基础: 时间序列的概念: 时间序列是一种定量预测方法,又称简单外延法,时间序列分析是根据系统观测得到的时间序列数据,通过曲线拟合和参数估计来建立数学模型的理论与方法,时间序列分析可分为以下三种情况 (1)把一个时间序列的值变动为N 个组成部分,通常可以分为四种 a、倾向变动,又称长期趋势变动 b、循环变动,又称周期变动 c、季节变动,即每年有规则的反复进行变动 d、不规则变动,即随机变动。然后把这四个综合到一起得出预测的结果。虽然分成这四部分,但这四部分之间的相互关系是怎么样的呢,目前一般采用相乘的关系,其实各个部分都是在其他部分作用的基础上进行作用的,所以采用相乘是有一定依据的,此种方法适合于短期预测和库存预测 (2)把预测对象、预测目标和对预测的影响因素都看成为具有时序的,为时间的函数,而时间序列法就是研究预测对象自身变化过程及发展趋势,如果未来预测是线性的,其数学模型为YT+L=aT+bTL,YT+L为未来预测值,aT为截距,bT为斜率,L为由T到需要预测的单位时间数(如5年、10年等) (3)根据预测对象与影响因素之间的关系及影响程度来推算未来,与目标的相关因素很多,只能选择那些因果关系较强的为预测影响的因素,此时间序列法用于短期预测比较有效,若要用于长期预测,还需要结合其他方法才行。 三次样条插值的实际应用:在制造船体和汽车外形等工艺中传统的设计方法是,首先由设计人员按外形要求,给出外形曲线的一组离散点值,施工人员准备好有弹性的样条(一般用竹条或有弹性的钢条)和压铁,将压铁放在点的位置上,调整竹条的形状,使其自然光滑,这时竹条表示一条插值曲线,我们称为样条函数。从数学上看,这一条近似于分段的三次多项式,在节点处具有一阶和二阶连续微商。样条函数的主要优点是它的光滑程度较高,保证了插值函数二阶导数的连续性,对于三阶导数的间断,人类的眼睛已难以辨认了。样条函数是一种隐式格式,最后需要解一个方程组,它的工作量大于多项式拉格朗日型式或牛顿型式等显式插值方法。 三次样条插值函数的定义 设在区间上,被插函数y=f(x)在个节点 和这些点上的函数值分别为。若满足;在每个小区间上至多是一个三次多项式;在上有连续的二阶导数,则称为关于剖分的三次样条插值函数,称为样条节点。   要在每个子区间上构造三次多项式   ?   ,共需要个条件,由插值条件,提供了个条件;用每个内点的关系建立条件    又得到个条件;再附加两个边界条件,即可惟一确定样条函数了。用待定系数法确定了构造样条函数的存在性和惟一性。在具体构造样条函数时一般都不使用计算量大的待定系数法。 边界条件有三类: (1)m边界条件:给定曲线在两端点处的切线斜率,s(X0)=m0,s(Xn)=Mn.即两个边界节点的一阶导数值为给定值:m0,Mn. ????(2) M边界条件:令被插函数在两端点的二阶导数为零,s(X0)=m0, s(Xn)=Mn.即两个边界节点的二阶导数值为给定值:m0,Mn. (3) 周期性边界条件:令被插值函数为周期函数,周期为b-a=xn-x0,故有y0=yn.相应的也要求样条函数S(x)也是周期函数,在端点上有s(X0)=s(Xn); s(X0)=s(Xn). 算法原理:例如:x=[0 1 2 3 4?5?6 7 8 9 10]; ???????? y=[0 2 0 -4 0 4?0 -2 0 3 1]; 待求的三次多项式函数s(x)在[0 10]上有连续的一阶,二阶导数.我们通过简单的讨论来认识问题。在第一区间[0 1]、第二区间[1 2]上考虑两个三次多项式 ??????? s(x)=s1*x^3+s2*x^2+s3*x+s4 ??????? r(x)=r1*x^3+r2*x^2+r3*x+r4 示意图: 可以得到 ????????? s(0)=s1*0^3+s2*0^2+s3*0+s4=0???? (1) ????????? s(1)=s1*1^3+s2*1^2+s3*1+s4=2???? (2) ????????? r(1)=r1*2^3+r2*2^2+r3*2+r4=2???? (3) ????????? r(2)=r1*2^3+r2*2^2+r3*2+r4=0???? (4) 一阶导函数 ????????? s(x)=3*s1*x^2+2*s2*x+s3 ????????? r(x)=3*r1*x^2+2*r2*x+r3 由一阶导数的连续性且在1点处相等,有 ????????? 3*s1*1^2+2*s2*1
显示全部
相似文档