构建和使用b形式样条函数
建设b的形式
通常,样条是由一些信息,如函数值和/或导数值,或一些常微分方程的近似解。但也可以组成一个从头花键,通过提供其结序列及其系数序列命令spmak
。
例如,如果您输入
sp = spmak(1:10,三);
你提供统一的结序列1:10
和系数序列三
。因为有10节,6系数,订单必须4(= 10 - 6),即,你会得到一个三次样条。命令
fnbrk (sp)
打印出的组成部分b形式的三次样条,如下:
节(1:n + k) 1 2 3 4 5 6 7 8 9 10系数(d, n) 3 4 5 6 7 8 k阶数n系数6 4维d目标1
此外,fnbrk
可用于分别供给每一个部分。
但关键的曲线拟合工具箱™花键功能是不应该有任何需要你查找这些细节。你简单地使用sp
作为命令参数评估、分化整合,转换,或者情节描述中包含的花键sp
。
使用b形式样条函数
以下命令可用于花键工作。有spmak
和fnbrk
组成一个花键,再次把它分开。使用fn2fm
从b形式转换到ppform。你可以评估,区分、集成、最小化,找到0,情节,提炼,或者选择性地推断花键的帮助下fnval
,曾经
,fndir
,fnint
,fnmin
,fnzeros
,fnplt
,fnrfn
,fnxtr
。
有五个命令生成结序列:
augknt
提供边界结并控制室内结的多重性brk2knt
提供一个结序列与指定的多样性aptknt
提供一个结序列样条空间的秩序,适用于在给定数据插值站点optknt
提供一个最优结序列插值在给定网站newknt
结序列也许更适合函数近似
此外,还有:
显示一个花键曲线给出二维系数序列和一个统一的结序列,使用spcrv
。
您也可以编写自己的样条施工命令,在这种情况下,您将需要知道以下。样条的构造通常需要满足一些插值或逼近条件搭配矩阵,即,matrix that, in each row, contains the sequence of numbersDrBj,k(τ),即,rτ的导数jb样条,j,对于一些r和一些网站τ。提供了这样一个矩阵spcol
。一个可选的参数允许这个矩阵是由spcol
在一个节省空间的spline-almost-block-diagonal-form或MATLAB®稀疏矩阵。它可以喂slvblk
,命令与almost-block-diagonal系数矩阵求解线性系统。如果你有兴趣看看spcol
和slvblk
使用这个工具箱,有看的命令吗spapi
,spap2
,spaps
。
此外,还有为构建例程立方样条函数。csapi
和csape
提供三次样条在结interpolant给定数据,分别使用not-a-knot和各种条件,另一端。参数三次样条曲线提供了通过给定的点cscvn
。立方平滑样条构造在csaps
。
例子:b形式样条逼近一个圈
作为另一个简单的例子,
点= .95 * [0 1 0 1;1 0 1 0];sp = spmak(4:8,点分);
提供了一个平面,四次,样条曲线的中间部分是一个很好的近似一个圆,情节在下一页显示。它是由后续的生成
情节(点(1:),点(2:),“x”),抓住fnplt (sp,[0, 4]),轴相等的正方形,推迟
这里有更多的细节。的样条Σ曲线生成的形式8j= 1Bj,5一个(:,j),- - - - - -4:8
统一的结序列,其控制点一个(:,j)序列α(0),(-α,0)、(0,-α),(α,0)、(0,α),(-α,0)、(0,-α),(α,0)与α= 0.95。只有0和4之间的曲线部分参数值实际上是策划。
,去感受如何接近圆形的这部分曲线,计算其无符号曲率。曲率κ(t在曲线点)γ(t)= (x (t),y (t))的空间曲线γ可以计算公式
中,x, x, y, y”曲线的一阶和二阶导数对使用的参数(t)。把平面曲线的空间曲线(x,y)平面,因此获得的最大和最小曲率在21点如下:
t = linspace (0、4、21); zt型= 0(大小(t));dsp =曾经(sp);dspt = fnval (dsp, t);ddspt = fnval(曾经(dsp), t);kappa = abs (dspt (1:)。* ddspt (2:) -dspt (2:)。* ddspt (: 1))。/…(和(dspt。^ 2))。^ (3/2);(最小(k),最大(κ)]ans = 1.6747 - 1.8611
因此,尽管曲率并不是常数,它是接近1 /半径的圆,从下一个计算:如你所见
1 /规范(fnval (sp, 0)) ans = 1.7864
一个圆样条逼近;控制点是显著的x