利用MatLab对数据进行插值计算(分段插值和三次样条插值)

您所在的位置:网站首页 matlab数据插值运算 利用MatLab对数据进行插值计算(分段插值和三次样条插值)

利用MatLab对数据进行插值计算(分段插值和三次样条插值)

2023-11-24 08:54| 来源: 网络整理| 查看: 265

利用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