主要内容

tpaps

利用薄板平滑样条

描述

例子

= tpaps (x,y)的stform薄板平滑样条吗f对于给定的数据网站x (:, j)和给定的数据值y (:, j)。的x (:, j)必须在平面上不同的点,值可以是标量、向量,矩阵,甚至ND-arrays,必须有尽可能多的价值观有网站。

利用薄板平滑样条f独特的加权和的最小值

p E ( f ) + ( 1 p ) R ( f )

E(f)误差测量

E ( f ) = j | y ( : , j ) f ( x ( : , j ) ) | 2

R(f)粗糙度测量

R ( f ) = ( | D 1 D 1 f | 2 + 2 | D 1 D 2 f | 2 + | D 2 D 2 f | 2 )

在这里,接管所有的积分R2、|z|2表示的所有条目的平方和z,Df表示的偏导数f就其th参数,因此被积函数涉及第二偏导数f。选择平滑参数的函数p(1 - p) / p等于矩阵的对角元素的平均值一个,+ (1 - p) / p *眼(n)系数矩阵的线性系统n平滑样条系数的确定。这样可以确保在两个极端之间的插值(当p接近1系数矩阵本质上是一个)和平滑(当完成p接近0和系数矩阵是一个单位矩阵的倍数)。这是一个很好的第一个猜测p

例子

= tpaps (x,y,p)同时输入平滑参数,p,许多在0和1之间。作为平滑参数各不相同,从0到1,最小二乘近似的平滑样条的变化,数据由一个线性多项式时p0,利用薄板样条interpolant数据时p1

(…P]= tpaps (…)还返回的值用于最终的样条平滑参数结果你是否指定p。这个语法是有用的实验中,你可以开始(pp、P) = tpaps (x, y)并获得一个合理的第一个猜想p

例子

全部折叠

以下代码获得一个平滑函数的值在31个随机选择的网站,增加了一些随机噪声,这些值,然后使用tpaps底层的平滑值中恢复过来。为了说明如何tpaps在这种情况下,代码块,除了平滑样条,具体的值(如黑球)以及每个箭头从平滑值对应的噪声值。

rng (23);nxy = 31;xy = 2 *(兰德(2,nxy)闲置);vals =总和(xy。^ 2);noisyvals = vals +(兰德(大小(val))) / 5;圣= tpaps (xy, noisyvals);fnplt (st)保兑= fnval(圣,xy);:plot3 (xy (1), xy(2:),瓦尔斯,“我们”,“markerfacecolor”,“k”)quiver3 (xy (1:), xy(2:),担保,0 (1,nxy), 0 (1, nxy),noisyvals-avals,“r”),持有

图包含一个坐标轴对象。坐标轴对象包含3个类型的对象的表面,线,颤抖。

下面的代码使用一个插值利用薄板样条向量值数据值来构造一个地图,从平面到平面,携带单位正方形 { x : | x ( j ) | 1 , j = 1 : 2 } 大约到单位圆盘 { x : x ( 1 ) 2 + x ( 2 ) 2 1 }

n = 64;t = linspace(0, 2 *π,n + 1);t(结束)= [];值= (cost;罪(t)];中心= values. / repmat (max (abs(值))、2、1);圣= tpaps(中心值,1);fnplt(圣),轴平等的

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

注意的选择1这里的平滑参数,获得插值。

输入参数

全部折叠

数据的数据值y配合,指定为一个向量或作为多元单元阵列数据。样条f结在每个数据创建网站吗x这样f(x (j))=y (:, j)所有的值j

多元、网格数据,您可以指定x作为一个单元阵列,用于指定数据网站在每个变量维度:f(x1(我),x2 (j),……xn (k))=y (:, i, j,…, k)

数据值,以适应在创建样条,指定为一个向量,矩阵,或数组。数据值y (:, j)可以是标量,矩阵,还是n维数组。数据值在相同的数据x是平均的。

数据类型:|

平滑参数,指定为一个标量值在0和1之间或单元阵列的多元数据的值。您还可以指定值粗糙度测量重量λ通过提供p作为一个向量。提供粗糙度测量多元数据的权重,使用单元阵列的向量。如果您提供一个空数组,函数选择一个默认值p基于网站的数据x和默认值1粗糙度测量体重λ

平滑参数确定的相对重量在相互矛盾的要求f是光滑或有f接近数据。为p= 0,f最小二乘直线适合数据。为p= 1,f变分,或自然三次样条interpolant。作为p从0到1,平滑样条的变化从一个极端到另一个。

的优惠范围p通常是附近的1 / (1 +h3/ 6),在那里h是网站的平均间距数据。该函数选择一个默认值p在这个范围内。对于均匀间隔的数据,你可以期待一个紧密配合p= 1 (1 +h3/ 60)和一些满意的平滑p= 1 / (1 +h3/ 0.6)。你可以输入p > 1,但这个选择导致平滑样条甚至比变分立方样条interpolant粗糙。

如果输入p负面的或者是空的,那么函数使用默认值p

你可以指定粗糙度测量重量λ通过提供与平滑参数p作为一个向量。这个向量必须是相同的大小x,输入的值λ的时间间隔(x(张)……(我)),因为我= 2:长度(x)。第一项的输入向量p是平滑参数的期望值p。通过提供粗糙度测量重量,你可以得到的平滑样条平滑(更大重量值)或接近数据(较小的重量值)在区间的不同部分。粗糙度测量必须非负权重。

如果你有选择困难p但有一些感觉噪音的大小y,可以考虑使用spaps (x, y, tol)代替。这个函数选择p这样,粗糙度测量尽可能小,受条件误差不超过托尔。在这种情况下,误差通常等于指定值托尔

数据类型:|

输出参数

全部折叠

样条,作为结构返回这些字段。

形式的花键,返回st-tp00,st-tp10,st-tp01,或st-tp

返回序列的网站,作为一个矩阵或多元数据的数组。

多项式的系数对于每个块,返回一个矩阵或多元数据的数组。

序列的网站。

返回的多项式描述花键,数作为一个标量或矢量的数字在每个变量的多元数据。

维度的目标函数,作为一个标量返回。

基本时间间隔stform包含所有给定的中心,作为一个数组返回。

样条平滑参数用于计算,作为一个标量或返回标量值的单元阵列多变量数据。P之间的是01

限制

平滑样条的确定涉及到线性系统的解决方案和尽可能多的未知数据点。自矩阵线性系统,解决需要花很长时间,即使是最基本的,一个迭代计划时使用有超过728数据点。迭代的收敛速度的强烈影响p慢,是更大的p是多少。因此,对于大型问题,使用插值,即,p等于1,只有你能负担得起。

版本历史

介绍了R2006b