可以用S=spapi(k,x,y) S为隐慎样条插值对象,k为B样条阶次,一般选择4和5
x0=[0 0.4 1 2 pi];
y0=sin(x0);
ezplot('sin(t)',[0,pi]);
hold on
sp1=csapi(x0,y0);fnplt(sp1,'r--'); %三次分段多项式插值
hold on
sp2=spapi(5,x0,y0);fnplt(sp2,'灶敬敬b:'); %5次B样条插值
比较可知,B样条稿乱效果好的多,看起来都完全重合了,而多项式插值还有一点点的差值
spline function 一类分段(片键脊)光滑、并且在各段交接处也有一定光滑性的函数。简称样条。样条一词来源于姿亮旁工程绘图人员迹橡为了将一些指定点连接成一条光顺曲线所使用的工具,即富有弹性的细木条或薄钢条。由这样的样条形成的曲线在连接点处具有连续的坡度与曲率。分段低次多项式、在分段处具有一定光滑性的函数插值就是模拟以上原理发展起来的,它克服了高次多项式插值可能出现的振荡现象,具有较好的数值稳定性和收敛性,由这种插值过程产生的函数就是多项式样条函数。
如何在MATLAB中获取B-样条插值后的完整数据?
本人小白,请教各位大神,我对原始数据进行B样条插值后的完整数据如何获取?
x =[100:100 :1000] ;
y =[ 10.416:0.434 :18.662] ;
[xx,yy] =ndgrid(x,y);
z=[];%由于数据量大,我是直接从数据表导入工作空间的
surf(x,y,z);%生成原始数据曲面图
sp=spapi({4,4}, {x,y},z');%插值生成B样条函数
如盯闭何搜羡获取B样条函凯漏裂数生成的完整数据呢?也就是说如何获取到插值后的数据(x,y,z)