主要内容

样条

三次样条插值的数据

描述

例子

年代=样条(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)

图包含一个坐标轴对象。坐标轴对象包含2线类型的对象。

使用夹紧或完整的样条插值,端点斜坡是已知的。要做到这一点,您可以指定值向量 y 有两个额外的元素,一个开始和一个结尾,定义端点的斜坡。

创建一个向量的数据 y 和另一个向量 x 数据的坐标。

x = 4:4,y =[0。15 1.12 2.36 2.36 1.46 .49 .06点0];

插入的数据使用样条和策划的结果。指定第二个输入和两个额外的价值y [0 0]表明端点山坡都是零。使用ppval评估花键配合超过101点的插值区间。

c =花键(x, y [0 0]);xx = linspace (4101);情节(x, y,“o”xx, xx, ppval (cs),“- - -”);

图包含一个坐标轴对象。坐标轴对象包含2线类型的对象。

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

创建两个向量来表示从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)”或“)轴平等的

图包含一个坐标轴对象。坐标轴对象包含2线类型的对象。

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

生成正弦和余弦曲线几值在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),“:”)举行

图包含一个坐标轴对象。坐标轴对象包含4线类型的对象。

产生的插值结果进行比较样条,pchip,makima为两个不同的数据集。这些函数都执行不同形式的分段三次埃尔米特插值。每个函数在如何计算不同的斜坡interpolant,导致不同的行为当底层数据平地或起伏不定。

比较样本数据插值结果连接平坦的地区。创建向量x值,在这些点函数值y和查询点xq。计算查询点插入使用样条,pchip,makima。图查询点的插值函数值的比较。

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

图包含一个坐标轴对象。坐标轴对象包含4线类型的对象。这些对象表示样本点,pchip,花键,makima。

在这种情况下,pchipmakima有类似的行为,避免过激的,能够准确地连接平坦的地区。

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

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

图包含一个坐标轴对象。坐标轴对象包含4线类型的对象。这些对象表示样本点,pchip,花键,makima。

当底层函数振荡,样条makima捕捉点比之间的运动pchip,这是积极的局部极值附近被夷为平地。

输入参数

全部折叠

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

数据类型:|

函数值在x坐标,指定为一个数值向量,矩阵,或数组。xy通常有相同的长度,但是y也会有两个更多的元素x指定endslopes。

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

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

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

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

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

    • y (2: end-1)给每个点的函数值x

    • y (1)给出了边坡位于初的间隔分钟(x)

    • y(结束)给出了边坡位于末端的间隔马克斯(x)

  • 类似地,如果y是一个矩阵或一个吗N维数组大小(y, N)等于长度(x) + 2,那么:

    • y (::,…, j + 1)给每个点的函数值xj = 1:长度(x)

    • y (:,:,…: 1)给出了位于山坡的间隔分钟(x)

    • y(:,:,…:结束)给出了斜坡的尽头间隔位于马克斯(x)

数据类型:|

查询点,指定为一个标量,矢量、矩阵,或数组。中指定的点xqx坐标插值函数值yq计算样条

数据类型:|

输出参数

全部折叠

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

的大小年代的大小有关吗yxq:

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

  • 如果y是一个数组的尺寸吗纽约=大小(y),那么这些条件应用:

    • 如果xq是一个标量或矢量,然后呢大小(年代)返回纽约(1:end-1)长度(xq)]

    • 如果xq是一个数组,然后呢大小(年代)返回纽约(1:end-1)大小(xq)]

分段多项式,作为一个结构返回。使用这种结构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