主要内容

spap2

最小二乘样条逼近

描述

例子

样条= spap2 (<一个href="#mw_80def079-53a5-40a2-8224-26f5258f536e" class="intrnllnk">,<一个href="#mw_539a8fa6-8aa7-4b82-bcc1-de1d24a6fff6" class="intrnllnk">k,<一个href="#mw_6552bd4d-e96d-4487-a16d-a7598ef5c9f7" class="intrnllnk">x,<一个href="#mw_43e7d63a-02ad-40c7-9417-0d0047fc2fab" class="intrnllnk">y)返回样条的b形式f的订单k用给定的结序列

(*) y(:,j) = f(x(j)),所有j

在加权均方意义上,也就是总和

j w ( j ) | y ( : , j ) f ( x ( j ) ) | 2

最小,默认权重为1。数据值y (:, j)可以是标量、向量、矩阵或ND-arrays,以及|z|2是所有元素的平方和吗z。同一地点的数据点被它们的平均值所取代。

如果网站x满足勋伯格-惠特尼条件

( j ) < x ( j ) < ( j + k ) ( * * ) j = 1 , , 长度 ( x ) = 长度(节) k

然后有一个给定顺序的唯一样条,并且结点序列完全满足(*)。的子序列不返回(**),否则不会返回样条x

spap2 (<一个href="#mw_5693a07c-ec6b-44ee-af07-3ff72043f012" class="intrnllnk">l,<一个href="#mw_539a8fa6-8aa7-4b82-bcc1-de1d24a6fff6" class="intrnllnk">k,<一个href="#mw_6552bd4d-e96d-4487-a16d-a7598ef5c9f7" class="intrnllnk">x,<一个href="#mw_43e7d63a-02ad-40c7-9417-0d0047fc2fab" class="intrnllnk">y),l一个正整数,返回最小二乘样条近似值的b形式,但带有为您选择的结序列。通过应用求得结点序列<一个href="//www.tatmou.com/help/curvefit/aptknt.html">aptknt到…的一个适当的子序列x。得到的分段多项式包括l多项式的分段k-2连续的衍生品。如果你觉得内部结的不同分布可能会做得更好,跟着这个

sp1 = spap2 (newknt(花键),k, x, y));

样条= spap2(…<一个href="#mw_6552bd4d-e96d-4487-a16d-a7598ef5c9f7" class="intrnllnk">x,<一个href="#mw_43e7d63a-02ad-40c7-9417-0d0047fc2fab" class="intrnllnk">y,<一个href="#mw_7d3e4106-535f-4c25-81f5-0ebc8276f53b" class="intrnllnk">w)允许指定权重w在误差测量中(如上所述)。w必须是一个与x,带有非负元素。当这些数据点被它们的平均值所取代时,与同一地点的数据点对应的所有权重将被求和。

spap2 (k {knorl1,…,knorlm}, {x1,…,xm}, y)提供一个最小二乘样条近似网格数据。在这里,每一个knorli要么是一个结序列,要么是一个正整数。此外,k必须是一个向量,y必须是(r + m维数组,y (:, i1,…,im)将基准面安装在网站[x {1} (i1)…,x {m} (im)],所有i1、……即时通讯。然而,如果样条是标量值,那么,与单变量情况相反,y是允许成为一个-维数组,在这种情况下y (i1,…,im)基准面是否要安装在该处网站[x {1} (i1)…,x {m} (im)],所有i1、……即时通讯

spap2 (k {knorl1,…,knorlm}, {x1,…,xm}, y, w)还允许指定权重。在这个变量的情况下,w必须是一个单元格阵列条目,w{我}大小相同的非负向量西,否则w{我}必须为空,在这种情况下变量。

例子

全部折叠

这个例子展示了如何计算数据的最小二乘近似x,y,用带有两个连续导数的三次样条,基本区间[一个。。b和内部休息西,只要西它的所有条目都在里面了吗(a, b)且满足条件(**)。

sp = spap2 (augknt ([a, b], 4), 4, x, y)

在这种情况下,近似包括长度(xi) + 1多项式。如果你只想得到一个三次样条近似值l用多项式块代替

sp = spap2 (l, 4, x, y);

如果得到的近似结果不令人满意,请尝试使用更大的l。其他使用

sp = spap2 (newknt (sp), 4, x, y);

为了更好的分布结序列。重复这个过程多次,以增加分布的保真度。

另外一个例子,spap2 (1, 2, x, y);提供对数据的最小二乘直线拟合x,y,而

w = 1(大小(x));w([1 end]) = 100;spap2(1、2,x, y, w);

适合的力非常接近第一个数据点和最后一个数据点。

这个例子展示了如何创建一个二元函数,并计算和绘制它的最小二乘近似。

生成用于逼近和二元函数的数据。

x = 2: .2:2;y = 1: .25:1;[xx, yy] = ndgrid(x,y);z = exp (- (xx。^ 2 + yy。^ 2));

计算最小二乘近似并绘制它。

sp = spap2({x,y}, x,y},z);fnplt (sp)

输入参数

全部折叠

指定为非递减向量的样条结点序列。

样条的顺序f,指定为标量。

得到的分段多项式的多项式部分的数目,指定为正整数。

误差度量中的权重,指定为大小相同的非负向量x

数据站点的数据值y为适合,指定为多维数据的向量或单元格阵列。样条f在每个数据站点创建结x这样f(x (j)) =y (:, j)对于所有的值j

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

在创建样条期间拟合的数据值,指定为向量、矩阵或数组。数据值y (:, j)可以是标量,矩阵,还是n维数组。在同一数据站点给出的数据值x是平均的。

数据类型:|

输出参数

全部折叠

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

样条的形式,返回为B -B -表示它是以b形式给出的。

样条的纽结位置,作为向量或多维数据的向量单元数组返回。向量包含严格递增的元素,这些元素表示多项式段所定义的每个区间的开始和结束。

对于多元数据,以矩阵或数组的形式返回的每个片段的多项式系数。

描述样条的多项式片数,在多元数据的每个变量中以标量或片数向量的形式返回。

多项式函数的阶数描述了样条的每个多项式段,作为标量或向量返回,包含多元数据中每个变量的阶数。

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

算法

spcol调用来提供几乎块对角的搭配矩阵(Bj,k(x)),<一个href="//www.tatmou.com/help/curvefit/slvblk.html">slvblk在(加权)最小二乘意义上解决线性系统(*),使用块QR分解。

网格数据以张量积的方式进行拟合,一次一个变量,利用单变量加权最小二乘拟合与拟合值线性相关这一事实。

之前介绍过的R2006a