文档

样条

三次样条插值的数据

语法

s =花键(x, y, xq)
页=花键(x, y)

描述

例子

年代=样条(x,y,xq)返回一个向量插值年代对应查询点xq。的值年代是由三次样条插值的xy

例子

=样条(x,y)返回一个使用的分段多项式结构ppval和样条实用程序unmkpp

例子

全部折叠

使用样条插入一个正弦曲线在unevenly-spaced采样点。

x = 1 8.1 2.5 3.6 - 5 7 10 [0];y = sin (x);xx = 0: .25:10;yy =花键(x, y, xx);情节(x, y,“o”、xx和yy)

使用夹紧或完整的样条插值,端点斜坡是已知的。这个例子执行零斜坡的端点插值。

x = 4:4,y =[0。15 1.12 2.36 2.36 1.46 .49 .06点0];c =花键(x, y [0 0]);xx = linspace (4101);情节(x, y,“o”xx, xx, ppval (cs),“- - -”);

推断一个数据集来预测人口增长。

创建两个向量来表示从1900年到1990年人口普查年(t)和相应的美国人口在数以百万计的人(p)。

t = 1900:10:1990;p = [75.995 91.972 105.711 123.203 131.669150.697 179.323 203.212 226.505 249.633);

推断和预测人口在2000年用三次样条。

样条(t, p, 2000)
ans = 270.6060

生成一个圆的情节,五个数据点y (:, 2),…, y (:, 6)标有o的。矩阵y包含两个更多的比列x。因此,样条使用y (: 1)y(:,结束)endslopes。圆的开始和结束点(1,0),所以这一点是绘制两次。

x =π* (0:.5:2);y = [0 1 0 1 0 1 0;1 0 1 0 1 0 1];页=花键(x, y);yy = ppval (pp、linspace(0, 2 *π,101));情节(yy (1:), yy (2:)“- b”y (2:5), y (2, 2:5)”或“),轴平等的

使用样条在细孔网样本函数。

生成正弦和余弦曲线几值在0和1之间。利用样条插值样本在细网格功能。

x = 0: .25:1;Y = (sin (x);cos (x)];xx = 0: .1:1;YY =花键(x, Y, xx);情节(x, Y (1:)“o”,xx和YY (1:)“- - -”)举行:情节(x, Y (2),“o”:,xx和YY (2),“:”)举行

产生的插值结果进行比较样条pchip两个不同的功能。

创建向量x值,在这些点函数值y和查询点xq。计算插入查询点同时使用样条pchip。图查询点的插值函数值的比较。

x =三3;y = (1 1 1 0 1 1 1);xq1 = 3: .01:3;p = pchip (x, y, xq1);s =花键(x, y, xq1);情节(x, y,“o”xq1, p,“- - -”xq1年代,“-”。)传说(采样点的,“pchip”,样条的,“位置”,“东南”)

在这种情况下,pchip是有利的,因为它不作为采样点之间的自由振动。

使用一个振荡样本函数执行第二个比较。

x = 25;y = besselj (1, x);xq2 = 0:0.01:25;p = pchip (x, y, xq2);s =花键(x, y, xq2);情节(x, y,“o”xq2, p,“- - -”xq2年代,“-”。)传说(采样点的,“pchip”,样条的)

当底层函数振荡,样条捕捉点比之间的运动pchip

输入参数

全部折叠

x坐标,指定为一个向量。向量x指定的点数据y是给定的。的元素x必须是唯一的。

数据类型:|

函数值在x坐标,指定为一个数值向量,矩阵,或数组。xy必须具有相同的长度。

如果y是一个矩阵或数组,那么在过去的维度的值,y (::,…, j)作为匹配的值x。在这种情况下,最后一个尺寸y必须是相同的长度吗x

三次样条的endslopes遵循以下规则:

  • 如果xy向量的大小相同,那么not-a-knot结束条件。

  • 如果xy是一个标量,然后扩展到其他相同的长度和not-a-knot结束条件。

  • 如果y是一个向量,其中包含两个值比x条目,那么样条使用第一个和最后一个值y作为endslopes立方样条。例如,如果y是一个矢量,然后:

    • f (x) = y (2: end-1)

    • df (min (x) = y (1)

    • df (max (x) = y(结束)

  • 如果y是一个矩阵或一个吗N维数组大小(y, N)等于长度(x) + 2持有,那么这些属性:

    • f (x (j))匹配的值y (::,…, j + 1)j = 1:长度(x)

    • Df (min (x))匹配y (:,:,…: 1)

    • Df (max (x))匹配y(:,:,…:结束)

数据类型:|

查询点,指定为一个向量。中指定的点xqx坐标插值函数值年代样条计算。

数据类型:|

输出参数

全部折叠

插值在查询点,返回为一个向量,矩阵,或数组。

的大小年代与输入的大小:

  • 如果y是一个标量或矢量,然后呢年代一样的尺寸吗xq

  • 如果y是一个数组,并不是一个矢量,然后这些条件应用:

    • 如果xq是一个标量或矢量,然后呢大小(年代)=(d1, d2,…,dk,length(xq)]

    • 如果xq是一个数组的尺寸吗(m1, m2,…,乔丹),然后大小(年代)=[d1, d2,…, dk, m1, m2,…,乔丹)

分段多项式,作为一个结构返回。使用这种结构ppval函数来评估在一个或多个查询点分段多项式。这些字段的结构。

描述
形式

“页”分段多项式

休息时间

向量的长度L + 1随着严格增加元素代表的开始和结束l时间间隔

系数

l——- - - - - -k矩阵的每一行系数(我,:)包含订单的当地系数k多项式的th间隔,[休息(我),优惠(i + 1)

数量的碎片,l

订单

多项式的顺序

昏暗的

维度的目标

由于多项式系数系数是当地的系数为每个区间,必须减去相应的结间隔下端点使用传统的多项式方程的系数。换句话说,系数(a, b, c, d)的时间间隔(x1, x2),相应的多项式

f ( x ) = 一个 ( x x 1 ) 3 + b ( x x 1 ) 2 + c ( x x 1 ) + d

提示

  • 您还可以执行使用的样条插值interp1函数和命令xq interp1 (x, y,样条)。而样条一个输入矩阵的行进行插值,interp1输入矩阵的列上执行插值。

算法

一个三对角线性系统(可能与几个右手边)是解决所需的信息描述的各种三次多项式的系数插值样条。样条使用的功能ppval,mkpp,unmkpp。这些例程形成一个小套处理分段多项式函数。获取更高级的功能,请参阅interp1或曲线拟合工具箱™样条函数。

引用

[1]de粗野,卡尔。样条函数的实用指南。斯普林格出版社,纽约:1978。

扩展功能

另请参阅

||||

之前介绍过的R2006a

这个主题有帮助吗?