查看“︁样条函数”︁的源代码
←
样条函数
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
[[File:Parametic Cubic Spline.svg|thumb|400px|1/3和2/3處的單結構建立了一個滿足''C<sup>2</sup>''連續性的三次多項式樣條。 間隔兩端的三重結可確保曲線內插結束點]] 在[[数学]]学科[[数值分析]]中,'''样条'''(spline)是一种特殊的[[函数]],由[[多项式]]分段定义。样条的[[英语]]单词{{lang|en|spline}}来源于可变形的样条工具,那是一种在[[造船]]和[[技术制图|工程制图]]时用来画出光滑形状的工具。在中国大陆,早期曾经被称做[[齿函数]]。后来因为工程学术语中[[放样]]一词而得名。 在[[插值]]问题中,[[样条插值]]通常比[[多项式插值]]好用。用低阶的样条插值能产生和高阶的多项式插值类似的效果,并且可以避免被称为[[龙格现象]]的数值不稳定的出现。并且低阶的[[样条插值]]还具有“保凸”的重要性质。 在[[计算机科学]]的[[计算机辅助设计]]和[[计算机图形学]]中,样条通常是指分段定义的多项式[[參數方程|参数曲线]]。由于样条构造简单,使用方便,拟合准确,并能近似[[曲线拟合]]和交互式曲线设计中复杂的形状,样条是这些领域中曲线的常用表示方法。 == 定义 == 设<math>[a,b]</math>为<math>\mathbb{R}</math>上的区间,给定''k''个点''t''<sub>''i''</sub>,称为'''节点'''(knot),要求满足以下条件 :<math>a=t_0 < t_1 < \ldots < t_{k-2} < t_{k-1} = b</math> 设<math>S:[a,b] \to \mathbb{R}</math>为[[参数曲线]]。如果<math>S \in \mathrm{C}^{n-1}(a,b)</math>,并且''S''在每个子区间<math>[t_i,t_{i+1}],i = 0,\dots, k-2</math>上为''n''次多项式,则<math>S</math>称为''n''次样条。 <math>S(t_i)</math> 称为'''节点值'''而<math>(t_i,S(t_i))</math>称为'''内部控制点'''(internal control point)。 <math>(t_0,...,t_{k-1})</math>称为'''节点向量'''(knot vector)。如果节点等距分布在区间<math>[a,b]</math>上,我们称样条'''均匀'''(uniform),否则为'''非均匀'''(non-uniform)。 == 注解 == 对于一个给定的节点向量,所有''n''次样条构成一个[[向量空间]]。这个空间的一个[[基 (線性代數)|基]]是''n''次[[B样条]]基。该空间的维数可从节点向量的数量得出: : <math> a = t_0 < \underbrace{t_1 = \cdots = t_1}_{j_1} < \cdots < \underbrace{t_{k-2} =\cdots =t_{k-2}}_{j_{k-2}} < t_{k-1} = b, </math> : <math>j_i \le n + 1,\ i = 1, \ldots, k - 2.</math> 维数等于次数与所有[[重复度]]的和: : <math>d = n + \sum_{i=1}^{k-2} j_i.</math> 如果样条有其他的线性限制条件,那么这个样条将存在于一个线性子空间中。例如自然三次样条的空间是''C''<sup>2</sup>三次样条的子空间。 常用的样条有许多种,由它们的特征命名。以下列出其中几种: 由表达方式命名: * 如果样条是基曲线的线性组合, 则称为[[B样条]] * 如果每个子区间的多项式由伯恩施坦多项式表达,则称为貝茲样条(Bézier splines) 由节点的特征命名: * 若使用单个节点,每个子区间长度相等且''C''<sup>n−1</sup>连续,则称为均匀样条(uniform splines) * 若对子区间长度没有要求则称为非均匀样条(nonuniform splines) 由特殊条件限制命名: * 若要求在''a''与''b''二次导数为零则称为自然样条(natural splines) * 若要求样条曲线穿过实际数据点则称为插值样条(interpolating splines) == 历史 == [[File:Spline (PSF).png|right|thumb|一段木质样条]] 在计算机被使用之前,数字演算用手工完成。虽然分段定义的象[[符号函数|signum函数]]或[[阶梯函数]]这样的函数也被用到,一般人更喜欢多项式因为它们比较容易算。随着计算机的发展,样条变得越来越重要。它们一开始是作为多项式在插值中的替代品,后来又作为在计算机图形学中构造光滑和可变形状的工具。 spline function是一类分段(片)光滑、并且在各段交接处也有一定光滑性的函数。简称样条。样条一词来源于工程绘图人员为了将一些指定点连接成一条光顺曲线所使用的工具,即富有弹性的细木条或薄钢条。由这样的样条形成的曲线在连接点处具有连续的坡度与曲率。分段低次多项式、在分段处具有一定光滑性的函数插值就是模拟以上原理發展起来的,它克服了高次多项式插值可能出现的振荡现象,具有较好的数值稳定性和收敛性,由这种插值过程产生的函数就是多项式样条函数。 样条函数的研究始于20世纪中叶,到了60年代它与计算机辅助设计相结合,在外形设计方面得到成功的应用。样条理论已成为函数逼近的有力工具。它的应用范围也在不断扩大,不仅在数据处理、数值微分、数值积分、微分方程和积分方程数值解等数学领域有广泛的应用,而且与[[最优控制]]、[[变分]]问题、[[统计学]]、计算[[几何]]与[[泛函分析]]等学科均有密切的联系。 == 参看 == *[[样条插值]] *[[厄尔密样条]](Hermite spline) ** {{link-en|三次厄尔密样条|Cubic Hermite spline}} **[[基数样条]](cardinal spline) **[[Catmull-Rom样条]] **[[Kochanek-Bartels样条]] *[[B样条]] *[[非均匀有理B样条]](non-uniform rational B-spline,NURBS) *[[de Boor算法]],计算B样条的一个有效方法 *[[贝塞尔样条]] == 外部链接 == * [http://ibiblio.org/e-notes/Splines/Intro.htm An Interactive Introduction to Splines] {{Wayback|url=http://ibiblio.org/e-notes/Splines/Intro.htm |date=20111216214837 }} *[http://www.vias.org/simulations/simusoft_spline.html Learning by Simulations] {{Wayback|url=http://www.vias.org/simulations/simusoft_spline.html |date=20120101021042 }} Interactive simulation of various cubic splines [[Category:样条|*]] <!---->
该页面使用的模板:
Template:Lang
(
查看源代码
)
Template:Link-en
(
查看源代码
)
Template:Wayback
(
查看源代码
)
返回
样条函数
。
导航菜单
个人工具
登录
命名空间
页面
讨论
不转换
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
工具
链入页面
相关更改
页面信息