主要内容

立方平滑花键

此示例显示了如何使用CSAPS.从曲线拟合工具箱™构建立方平滑样条的命令。

csaps命令

命令CSAPS.提供平滑样条。这是一个立方样条曲线,或多或少地遵循嘈杂数据的假定潜在趋势。由您选择的平滑参数确定平滑样条遵循给定数据的遵循程度。以下是文档的基本信息,缩写版本:

CSAPS立方平滑样条。

值= CSAPS(x,y,p,xx)

返回立方平滑样条的XX的值

给定数据(x,y)并取决于平滑参数p,选择

从间隔[0 .. 1]。这种平滑样条曲线F最小化

p * sum_i w(i)(y(i) - f(x(i)))^ 2 +(1-p)*积分(d ^ 2 f)^ 2

示例:来自立方多项式的噪声数据

以下是一些试运行。我们从一个简单的立方中开始数据,q(x):= x ^ 3,污染有一些噪声的值,并选择平滑参数的值为.5。然后绘制产生的平滑值以及底层立方体和受污染的数据。

XI =(0:.05:1);q = @(x)x。^ 3;yi = q(xi);randomstream = randstream.create('mcg16807''种子',23);YBAD = yi + .3 *(兰特(Randomstream,尺寸(xi)) - 。5);p = .5;XXI =(0:100)/ 100;ys = csaps(xi,ybad,p,xxi);情节(Xi,Yi,':',xi,ybad,'X',xxi,ys,'r-') 标题('清洁数据,嘈杂的数据,平滑值') 传奇('精确的''嘈杂''平滑''地点''西北'

图包含轴。具有标题清洁数据的轴,噪声数据,平滑值包含3个类型的线路。这些对象表示精确,嘈杂,平滑。

平滑是在这里过度的方式。通过选择平滑参数P.更靠近1,我们获得更接近给定数据的平滑样条曲线。我们试着p = .6,.7,.8,.9,1,并绘制所得到的平滑样条。

yy =零(5,长度(xxi));p = [.6 .7 .8 .9 1];为了j = 1:5yy(j,:) = csaps(xi,ybad,p(j),xxi);结尾抓住情节(XXI,YY);抓住离开标题(“平滑的平滑样条值”平滑参数的各种值') 传奇({'精确的''嘈杂''p = 0.5''p = 0.6''p = 0.7''p = 0.8'......'p = 0.9''p = 1.0'},'地点''西北'

图包含轴。具有标题平滑样条的轴用于平滑参数的各种值包含8个类型的类型。这些对象表示精确,嘈杂,p = 0.5,p = 0.6,p = 0.7,p = 0.8,p = 0.9,p = 1.0。

我们看到平滑样条曲线对平滑参数的选择非常敏感。就算P.= 0.9,平滑花键仍然远离潜在的趋势,而对于P.= 1,我们得到(嘈杂)数据的interpolatt。

实际上,使用的配方CSAPI.(p.235ff样条的实用指南)对独立变量的缩放非常敏感。对所用方程的简单分析表明敏感范围P.在周围1 /(1 + epsilon), 和epsilon:= h ^ 3/16, 和H邻居网站之间的平均差异。具体来说,您希望在数据时关闭p = 1 /(1 + epsilon / 100)和一些令人满意的平滑p = 1 /(1 + epsilon * 100)

下面的曲线显示了平滑样条值的平滑样条P.靠近这个魔术号码1 /(1 + epsilon)。对于这种情况来说,看起来更有信息1-P.自魔法号码以来,1 /(1 + epsilon),非常接近1。

epsilon =((xi(xi(end)-xi(1))/(numel(xi)-1))^ 3/16;1  -  1 /(1 + epsilon)
ans = 7.8124e-06
情节(Xi,Yi,':',xi,ybad,'X') 抓住标签=细胞(1,5);为了j = 1:5 p = 1 /(1 + epsilon * 10 ^(J-3));YY(J,:)= CSAPS(XI,YBAD,P,XXI);标签{j} = ['1-p =',num2str(1-p)];结尾情节(XXI,YY)标题('平滑花键,用于平滑参数附近其“魔法”价值') 传奇( [{'精确的''嘈杂'}, 标签],'地点''西北') 抓住离开

图包含轴。带有标题平滑花键的轴用于平滑参数的“魔法”值附近包含7个类型的线路。这些对象表示精确,嘈杂,1-P = 7.8125E-08,1-P = 7.8125E-07,1-P = 7.8124E-06,1-P = 7.8119E-05,1-P = 0.00078064。

在该示例中,平滑样条曲线对幻数附近的平滑参数的变化非常敏感。距离1的一个似乎是这些的最佳选择,但您可能更喜欢超出此处的选择。

p = 1 /(1 + epsilon * 10 ^ 3);YY = CSAPS(XI,YBAD,P,XXI);抓住情节(XXI,YY,'是''行宽',2)标题(Sprintf(“1-p =%s的平滑样条曲线被添加,黄色',num2str(1-p)))保持离开

图包含轴。具有1-P = 0.007519的具有标题的轴,在黄色中含有8个类型的线。这些对象表示精确,嘈杂,1-P = 7.8125E-08,1-P = 7.8125E-07,1-P = 7.8124E-06,1-P = 7.8119E-05,1-P = 0.00078064。

您也可以提供CSAPS.错误重量,要多关注某些数据点。此外,如果您不提供评估站点XX., 然后CSAPS.返回平滑样条曲线的ppfform。

最后,CSAPS.还可以处理矢量值数据甚至多变量网格数据。

spaps命令

命令提供的立方平滑样条与建造的人不同CSAPS.只在选择它的方式。以下是文档的缩写版本

擦拭平滑花键。

[SP,值] = SPAPS(x,y,tol)返回b形式,如果被问,

给定的X的值,用于给定的立方平滑样条

数据(x(i),y(:,i)),i = 1,2,...,n。

平滑花键F最小化粗糙度测量

f(d ^ 2 f):=积分(d ^ 2 f(t))^ 2 dt on x(1)

在所有功能上,错误测量

e(f):= sum_j {w(j)*(y(:,j) - f(x(j)))^ 2:j = 1,...,n}

没有比给定的tol更大。这里,d ^ m f表示m-th

f的衍生物。选择重量W使得e(f)是

F(Y-F)的复合梯形规则近似。

F构造为独特的最小化器

rho * e(f)+ f(d ^ 2 f),

使用平滑的参数Rho如此选择,使得E(f)等于

tol。因此,FN2FM(SP,'PP')应该是(直到圆周OFF)相同的

作为来自CPAPS的输出(X,Y,RHO /(1 + RHO))。

公差与平滑参数

提供适当的公差可能更容易比平滑参数P.要求CSAPS.。在我们之前的示例中,我们从间隔添加了均匀分布的随机噪声0.3 * [ - 0.5 .. 0.5]。因此,我们可以估计合理的价值作为错误测量的值E.在这种噪音。

tol = sum((。3 *(rand(randstream,尺寸(yi)) - 。5))。^ 2);

该图显示了由此构造的产生的平滑样条曲线。请注意,错误权重指定为统一,这是它们的默认值CSAPS.

[sp,ys,rho] = spaps(xi,ybad,tol,一个(尺寸(xi)));情节(Xi,Yi,':',xi,ybad,'X',xi,ys,'r-')标题(Sprintf('清洁数据,嘈杂的数据,平滑值(1-p =%s)',num2str(1 /(1 + rho)))));传奇( {'精确的''嘈杂''平滑'},'地点''西北'

图包含轴。具有标题清洁数据的轴,噪声数据,平滑值(1-P = 0.013761)包含3个类型的类型。这些对象表示精确,嘈杂,平滑。

图标题显示了值P.你会用的CSAPS.为这些数据获得完全的平滑样条曲线。

此外,另外,是由此提供的平滑花键CSAPS.当没有给出平滑参数时。在这种情况下CSAPS.选择参数通过某个ad hoc过程,该过程试图定位平滑样条对平滑参数最敏感的区域(类似于早期讨论)。

抓住绘图(XXI,FNVAL(CSAPS(XI,YBAD),XXI),' - ') 标题('清洁数据,嘈杂的数据,平滑值') 传奇({'精确的''嘈杂''拍,指定容忍'......'CSAPS,默认平滑参数'},'地点''西北') 抓住离开

图包含轴。具有标题清洁数据,噪声数据的轴,平滑值包含4个类型的4个对象。这些对象表示精确,嘈杂,仓,指定的公差,CSAPS,默认平滑参数。

CSAPS与仓库

CSAPS.通过平滑参数与公差,命令在指定特定平滑样条曲线的方式中不同。另一个不同之处在于除了立方平滑花条外,还可以提供线性或五颜六色的平滑花键。

Quintic平滑花键优于在情况下的立方平滑样条曲线,当您希望尽可能少的衍生物移动。