文档帮助中心文档
样条
pchip
makima
三次样条插值的数据
s =花键(x, y, xq)
页=花键(x, y)
例子
年代=样条(x,y,xq)返回一个向量插值年代对应查询点xq。的值年代是由三次样条插值的x和y。
年代=样条(x,y,xq)
年代
x
y
xq
页=样条(x,y)返回一个使用的分段多项式结构ppval和样条实用程序unmkpp。
页=样条(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)
使用夹紧或完整的样条插值,端点斜坡是已知的。要做到这一点,您可以指定值向量 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点的插值区间。
y [0 0]
c =花键(x, y [0 0]);xx = linspace (4101);情节(x, y,“o”xx, xx, ppval (cs),“- - -”);
推断一个数据集来预测人口增长。
创建两个向量来表示从1900年到1990年人口普查年(t)和相应的美国人口在数以百万计的人(p)。
t
p
t = 1900:10:1990;p = [75.995 91.972 105.711 123.203 131.669…150.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),所以这一点是绘制两次。
y (:, 2),…, y (:, 6)
y (: 1)
y(:,结束)
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,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”,“位置”,“东南”)
在这种情况下,pchip和makima有类似的行为,避免过激的,能够准确地连接平坦的地区。
使用一个振荡样本函数执行第二个比较。
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”)
当底层函数振荡,样条和makima捕捉点比之间的运动pchip,这是积极的局部极值附近被夷为平地。
x坐标,指定为一个向量。向量x指定的点数据y是给定的。的元素x必须是唯一的。
数据类型:单|双
单
双
函数值在x坐标,指定为一个数值向量,矩阵,或数组。x和y通常有相同的长度,但是y也会有两个更多的元素x指定endslopes。
如果y是一个矩阵或数组,那么在过去的维度的值,y (::,…, j)作为匹配的值x。在这种情况下,最后一个尺寸y必须是相同的长度吗x或有两个元素。
y (::,…, j)
三次样条的endslopes遵循以下规则:
如果x和y向量的大小相同,那么not-a-knot结束条件。
如果x或y是一个标量,然后扩展到其他相同的长度和not-a-knot结束条件。
如果y是一个向量,其中包含两个值比x条目,那么样条使用第一个和最后一个值y作为endslopes立方样条。例如,如果y是一个矢量,然后:
y (2: end-1)给每个点的函数值x
y (2: end-1)
y (1)给出了边坡位于初的间隔分钟(x)
y (1)
分钟(x)
y(结束)给出了边坡位于末端的间隔马克斯(x)
y(结束)
马克斯(x)
类似地,如果y是一个矩阵或一个吗N维数组大小(y, N)等于长度(x) + 2,那么:
N
大小(y, N)
长度(x) + 2
y (::,…, j + 1)给每个点的函数值x为j = 1:长度(x)
y (::,…, j + 1)
j = 1:长度(x)
y (:,:,…: 1)给出了位于山坡的间隔分钟(x)
y (:,:,…: 1)
y(:,:,…:结束)给出了斜坡的尽头间隔位于马克斯(x)
y(:,:,…:结束)
查询点,指定为一个标量,矢量、矩阵,或数组。中指定的点xq是x坐标插值函数值yq计算样条。
yq
插值在查询点,作为一个标量,返回向量,矩阵,或数组。
的大小年代的大小有关吗y和xq:
如果y是一个矢量,然后呢年代一样的尺寸吗xq。
如果y是一个数组的尺寸吗纽约=大小(y),那么这些条件应用:
纽约=大小(y)
如果xq是一个标量或矢量,然后呢大小(年代)返回纽约(1:end-1)长度(xq)]。
大小(年代)
纽约(1:end-1)长度(xq)]
如果xq是一个数组,然后呢大小(年代)返回纽约(1:end-1)大小(xq)]。
纽约(1:end-1)大小(xq)]
分段多项式,作为一个结构返回。使用这种结构ppval函数来评估在一个或多个查询点分段多项式。这些字段的结构。
形式
“页”为分段多项式
“页”
休息时间
向量的长度L + 1随着严格增加元素代表的开始和结束l时间间隔
L + 1
l
系数
l——- - - - - -k矩阵的每一行系数(我,:)包含订单的当地系数k多项式的我th间隔,[休息(我),优惠(i + 1)
k
系数(我,:)
我
[休息(我),优惠(i + 1)
块
数量的碎片,l
订单
多项式的顺序
昏暗的
维度的目标
由于多项式系数系数是当地的系数为每个区间,必须减去相应的结间隔下端点使用传统的多项式方程的系数。换句话说,系数(a, b, c, d)的时间间隔(x1, x2),相应的多项式
(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输入矩阵的列上执行插值。
interp1
xq interp1 (x, y,样条)
一个三对角线性系统(可能与几个右手边)是解决所需的信息描述的各种三次多项式的系数插值样条。样条使用的功能ppval,mkpp,unmkpp。这些例程形成一个小套处理分段多项式函数。获取更高级的功能,请参阅interp1或曲线拟合工具箱™样条函数。
mkpp
[1]de粗野,卡尔。样条函数的实用指南。斯普林格出版社,纽约:1978。
使用笔记和限制:
输入x必须严格增加。
代码生成不移除y条目南值。
南
代码生成的无限endslopes不报告错误y。
如果生成的代码页=花键(x, y)语法,然后你不能输入页到ppval在MATLAB函数®。创建一个MATLAB页结构从页代码生成器创建的结构:
在代码生成,使用unmkpp返回MATLAB的分段多项式的细节。
在MATLAB中,使用mkpp创建页结构。
如果你提供xq,如果y有一个适应和不是一个变长向量,向量的方向输出生成的代码可能不匹配MATLAB的取向。
backgroundPool
ThreadPool
这个函数完全支持线程的环境。金宝app有关更多信息,请参见MATLAB函数线程环境中运行。
输入参数y必须non-sparse。
有关更多信息,请参见运行在GPU MATLAB函数(并行计算工具箱)。
interp1|pchip|makima|ppval
你有一个修改版的这个例子。你想打开这个例子与编辑?
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
选择一个网站翻译内容,看到当地事件和提供。根据你的位置,我们建议您选择:。
你也可以从下面的列表中选择一个网站:
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。
联系你当地的办公室