主要内容

立方平滑样条函数

这个例子展示了如何使用csapsspaps命令从曲线拟合工具箱™构建立方平滑样条函数。

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) * (f D ^ 2) ^ 2积分

例如:嘈杂的数据从一个三次多项式

这里有一些试验。我们首先从一个简单的数据立方,问(x): = x ^ 3与一些噪音,污染值,选择平滑参数的值是5。然后情节结果平滑值,以及潜在的立方,和受污染的数据。

ξ= (0:.05:1);q = @ (x) x ^ 3;易= q (xi);randomStream = RandStream.create (“mcg16807”,“种子”、23);ybad = +。3 *(兰德(randomStream、大小(xi)));p = 5;第二十一章= (0:100)/ 100;y = csaps (xi, ybad, p,第二十一章);情节(xi,咦,“:”习,ybad“x”第二十一章,y,的r -)标题(“清洁数据、噪声数据,平滑值”)传说(“准确”,“吵”,“平滑”,“位置”,“西北”)

图包含一个坐标轴对象。坐标轴对象标题干净数据、噪声数据,平滑值包含3线类型的对象。这些对象代表准确,噪声,平滑。

这里的平滑是过头了。通过选择平滑参数p接近1,我们获得一个平滑样条逼近给定的数据。我们试着p = 0。6, 7, 8, 9, 1情节,结果平滑样条函数。

yy = 0(5、长度(第二十一章);p = [。6。7。8。9 1];j = 1:5 yy (j) = csaps (xi ybad p (j)第二十一章);结束持有情节(第二十一章,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,我们得到了interpolant(噪声)的数据。

事实上,使用的配方csapi(p。235 ff的样条函数的实用指南)是对独立变量的扩展非常敏感。一个简单的分析表明,敏感范围使用的方程p大约是1 /(1 +ε),ε:= h ^ 3/16,h相邻站点之间的平均差异。具体地说,你希望结束时的数据p = 1 /(1 +ε/ 100)和一些满意的平滑p = 1 /(1 +ε* 100)

下面的图显示了值的平滑样条p在这个神奇的数字1 /(1 +ε)。在这种情况下,它更有意义1 - p神奇的数字,1 /(1 +ε),非常接近1。

ε= ((xi(结束)习近平(1)/(元素个数(xi) 1)) ^ 3/16;1 - 1 /(1 +ε)
ans = 7.8124 e-06
情节(xi,咦,“:”习,ybad“x”)举行标签=细胞(1、5);j = 1:5 p = 1 /(1 +ε* 10 ^ (j-3));yy (j) = csaps (xi, ybad, p,第二十一章);标签{j} = [“1 - p = ',num2str (1 - p)];结束情节(第二十一章,yy)标题(的平滑样条函数平滑参数接近“神奇”的价值”)([{传奇“准确”,“吵”},标签),“位置”,“西北”)举行

图包含一个坐标轴对象。坐标轴对象标题平滑样条函数平滑参数接近‘魔法’值包含7线类型的对象。这些对象代表准确,吵闹,1 - p = 7.8125 e-08, 1 - p = 7.8125 e-07, 1 - p = 7.8124 e-06, 1 - p = 7.8119 e-05, 1 - p = 0.00078064。

在这个例子中,平滑样条平滑参数的变化非常敏感附近一个神奇的数字。最远的从1从这些似乎是最好的选择,但你可能更喜欢除此之外。

p = 1 /(1 +ε* 10 ^ 3);yy = csaps (xi, ybad, p,第二十一章);持有情节(第二十一章,yy,“y”,“线宽”2)标题(sprintf (1 - p = % s的平滑样条补充说,黄色的num2str (1 - p)))

图包含一个坐标轴对象。坐标轴对象与标题1 - p = 0.0077519添加平滑样条,用黄色包含8线类型的对象。这些对象代表准确,吵闹,1 - p = 7.8125 e-08, 1 - p = 7.8125 e-07, 1 - p = 7.8124 e-06, 1 - p = 7.8119 e-05, 1 - p = 0.00078064。

你也可以供应csaps与错误的重量,多注意一些比其他的数据点。同样的,如果你不提供评估网站xx,然后csaps返回的ppform平滑样条。

最后,csaps还可以处理数据甚至多元向量值,网格数据。

SPAPS命令

提供的立方平滑样条命令spaps不同于构造之一csaps只有在它被选中。这是一个缩写版本的文档spaps:

SPAPS平滑样条。

[SP、价值观]= SPAPS (X, Y, TOL)返回b的形式,如果问,

在X的值,给定的立方平滑样条f

数据(X(我),(我):,),我= 1,2,……,n。

平滑样条f最小化粗糙度测量

F (F D ^ 2): =积分(D ^ 2 F (t)) ^ 2 dt (1) < t < X (n)

在所有函数f的误差

E (f): = sum_j {W (j) * (Y (:, j) - f (X (j))) ^ 2: j = 1,……n}

没有比托尔。在这里,D ^ M f表示第M

选择的导数f。重量W E (f)

复合梯形法则近似F (yf)。

f是构建独特的最小值

ρ* E (f) + f (f D ^ 2),

的平滑参数ρ所以选择E (f) =

托尔。因此,FN2FM (SP,“页”)应(凑整)是一样的

cpap的输出(X, Y,ρ/(1 +ρ))。

宽容与平滑参数

它可能更容易提供合适的公差spaps比平滑参数p所要求的csaps。我们在之前的例子中,我们添加了均匀分布的随机噪声区间0.3 * -0.5 (. .0.5)。因此,我们可以估算出一个合理的值托尔误差测量的值e在这样的噪音。

托尔((=数目。3 *(兰德(randomStream、大小(yi)))) ^ 2);

这个图显示结果平滑样条构造spaps。注意,错误指定权重是统一的,这是他们的默认值csaps

[sp, y,ρ]= spaps (xi, ybad、托尔(大小(xi)));情节(xi,咦,“:”习,ybad“x”习,y,的r -)标题(sprintf (“干净的数据、噪声数据平滑值(1 - p = % s) ',num2str(1 /(1 +ρ))));传奇({“准确”,“吵”,“平滑”},“位置”,“西北”)

图包含一个坐标轴对象。坐标轴对象标题干净数据、噪声数据,平滑值(1 - p = 0.013761)包含3线类型的对象。这些对象代表准确,噪声,平滑。

图的标题显示的值p你会使用csaps对这些数据准确地获得这种平滑样条。

在这里,另外,提供的平滑样条csaps当没有一个平滑参数。在这种情况下csaps选择参数通过某种特别的过程,试图定位区域平滑样条平滑最敏感参数(类似于前面的讨论)。

持有情节(第二十一章,fnval (csaps (xi, ybad)第二十一章),“- - -”)标题(“清洁数据、噪声数据,平滑值”)({传奇“准确”“吵”“spaps,指定公差”“csaps,默认的平滑参数”},“位置”,“西北”)举行

图包含一个坐标轴对象。坐标轴对象标题干净数据、噪声数据,平滑值包含4线类型的对象。这些对象代表准确,吵闹,spaps,指定的公差,csaps,默认平滑参数。

CSAPS与SPAPS

csapsspaps命令你指定一个特定的方式不同平滑样条,通过平滑参数与宽容。另一个区别是,spaps可以提供一个线性或五次平滑样条,除了立方平滑样条。

五次平滑样条比立方平滑样条的情况下当你想二阶导数尽可能少。