利用MatLab对数据进行插值计算(分段插值和三次样条插值) |
您所在的位置:网站首页 › matlab数据插值运算 › 利用MatLab对数据进行插值计算(分段插值和三次样条插值) |
利用MatLab对数据进行插值计算
分段线性插值三次样条插值例子
分段线性插值
应用的函数为: y=interp1(x0,y0,x)或y=interp1(x0,y0,x,’linear’) 其中的参数表示为: x0,y0表示的初始的插值节点向量 -** x表示要得到的插值节点对应的横坐标向量** -** y表示的是返回值,返回的是要求得的插值节点的纵坐标**注意函数当中的最后一个字符是1不是l 三次样条插值三次样条插值是要保证插值函数要在插值节点上的导数相同 应用的函数为: **y=interp1(x0,y0,x,’spline’)**或 y=spline(x0,y0,x) 其中的参数表示为: x0,y0表示的初始的插值节点向量 -** x表示要得到的插值节点对应的横坐标向量** -** y表示的是返回值,返回的是要求得的插值节点的纵坐标** 例子对 y=1/(1+x^2)在[-5, 5]上, 用n=11个等距分点作分段线性插值和三次样条插值, 用m=21个插值点作图,比较结果 n=11, m=21; x=-5:10/(m-1):5;%要求得的插值节点的横坐标 y=1./(1+x.^2);%要求得的插值节点的纵坐标 z=0*x; x0=-5:10/(n-1):5;%已知的插值节点的横坐标 y0=1./(1+x0.^2);%已知的插值节点的纵坐标 y1=interp1(x0,y0,x); y2=interp1(x0,y0,x,'spline'); [x' y' y1' y2'] plot(x,z,'r',x,y,'k:',x,y1,'b',x,y2,'g'); gtext('Piece.-linear.'),gtext('Spline'),gtext('y=1/(1+x^2)');结果为 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |