首页 > 编程知识 正文

matlab二次插值,matlab数组插值函数

时间:2023-05-03 15:53:51 阅读:16160 作者:1108

GSS的第一篇博客文章DA matlab的三次样条插值函数spline的使用说明spline(x、y、xx ) ) ) ) ) ) ) ) ) ) )。

matlab三次样条插值函数spline的使用说明spline(x、y、xx ) ) ) ) ) ) ) ) ) ) )。

x、y是由插值节点坐标构成的向量(长度必须一致),xx是插值点的横坐标。 虽然三次样条插值函数有4n个未知数,但显然需要在内部节点追加连续、一次微分连续、二次微分连续合计3(n-1 )个条件和在所有节点函数值已知的合计n 1个条件合计4n-2个条件,可以看到边界

1. 非节点条件(not-a-knot condition),s’’(x0 )=s’’(x1 ); 这意味着spline缺省情况下使用此条件

即,通过线性外推得到边界节点的二次微分值

例如

x=0:10;

y=sin(x;

xx=0:25:10;

YY=spline(x,y,xx );

打印(x,y,‘o’,xx,yy ) )。

2. 给出一阶导数值

指定边界节点的倾斜。 也就是说,分别添加到向量y的前后。

例如

x=-4:4;

y=[ 0.15 1.12 2.36 2.36 1.46.49.060];

cs=spline(x,[0 y 0];

xx=linspace (-4,4,101 );

plot(x,y,‘o’,xx,PPval ) cs,xx ),’-’;

从图中可以看出,左右边界的倾斜度是0,切线是水平的

3.**不能处理给定二阶导数这样的边界样条函数,需要单独编程实现;

4. **自然边界条件s’(x0 )=s’(xn )=0样条函数不能处理,需要单独编程实现;

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。