AKima 插值实现
来源:互联网 发布:v29万能主板 数据 编辑:程序博客网 时间:2024/06/10 09:07
测量数据的内插已有各种方法,如线性内插、多项式内插、样条函数插值等,但这里的Akima插值法具有独特的优点。线性内插只顾及其附近两点的影响。多项式内插时,低阶多项式由于参数较少,内插精度很低,而使用高阶多项式又会使解不稳定,出现“龙格”现象,即内插函数在插值点与实际数据符合得很好,而在插值点外出现较大的偏差。因此人们又在多项式的基础上发展了分片多项式,即样条函数。样条函数既保持了多项式运算简单的特点,又避免了多项式阶数较高时数值不稳定的缺点,因而得到了广泛的应用。但在样条函数插值中,确定任何一个小区间上的多项式,都要考虑所有数据点对它的影响。这不仅扩大了误差传播的范围,还增加了不少工作量。有时只用内插点附近的几个数据点作为控制点来内插。Aikma插值法和三次样条函数一样考虑了要素导数值的效应,因而得到的整个插值曲线是光滑的。三次样条函数插值法具有最小模、最佳最优逼近和收敛的特性,而Aikma插值法所得曲线比样条函数插值曲线更光顺,更自然。[1]
Akima相关实现的代码:
Akima's original paper:``A new method of interpolation and smooth curve fitting based on local procedures'', Journal of ACM 17, 4 (1970), 589-602
http://student.ndhu.edu.tw/~u9111023/akima.pdf
C implementation
http://packages.debian.org/source/squeeze/spline
C++ implementation
http://www.koders.com/cpp/fid1393B9D668316C1700966643DE0609660B9CB13A.aspx?s=%22Brian+Smith%22
C# implementation
https://github.com/mathnet/mathnet-numerics/blob/master/src/Numerics/Interpolation/Algorithms/AkimaSplineInterpolation.cs
Delphi implementation (see procedure BuildAkimaSpline in delphi/src/spline3.pas)
http://www.alglib.net/translator/re/alglib-2.6.0.delphi.zip
Akima's Fortran 66 implementation
http://cran.r-project.org/web/packages/akima/
Fortran 90 implementation
http://miyoshi.googlecode.com/svn-history/r72/trunk/common/common.f90
Java implementation
http://code.google.com/p/msnlab4/source/browse/trunk/src/br/edu/ufcg/msn/interpolacao/spline/AkimaCubicSplineInterpolator.java?spec=svn83&r=83
Lisp implementation "for AutoCAD 2d-Polylines"
http://autocad.xarch.at/code/candido/akima.lsp
Matlab implementation
http://www.mathworks.se/matlabcentral/fileexchange/1814-akima-interpolation
Pascal implementation (program description)
http://jean-pierre.moreau.pagesperso-orange.fr/Pascal/akima_pas.txt
Python implementation
http://www.lfd.uci.edu/~gohlke/code/akima.py.html
VB6 implementation (see subroutine BuildAkimaSpline in vb6/src/spline3.bas)
http://www.alglib.net/translator/re/alglib-2.6.0.vb6.zip [2]
参考文献:
[1]聂桂根, and 万剑华. "Akima 插值法在测量中的应用." 测绘科技动态 3 (1998): 31-34.
[2]http://www.mathworks.com/matlabcentral/fileexchange/1814-akima-interpolation
- AKima 插值实现
- 四元数实现插值动画
- Camera 如何实现插值
- Camera 如何实现插值
- slerp插值的实现
- 插值方法实现(拉格朗日插值和牛顿插值)
- 牛顿插值算法与实现
- 重要插值积分算法实现
- 数字相机彩色实现及bayer插值
- 实现牛顿插值的matlab代码
- OpenGL 实现Interpolation插值算法
- MATLAB实现牛顿插值的源程序
- 二维图像插值算法实现
- 计算方法_插值_C++实现
- 计算方法_牛顿插值_C++实现
- C#实现拉格朗日、牛顿、Hermite插值
- 插值与拟合的MATLAB实现
- C++实现反距离插值
- CentOS 下JDK安装
- 日经社説 20150206 混迷の中東にどう関与を深めるか
- 根据Android架构分层推荐开发书籍
- 欢迎使用CSDN-markdown编辑器
- cdh5.1.0 yum安装说明
- AKima 插值实现
- 程序员面试不应有的8个错误
- linux本机流量控制tc(traffic control)
- 社説 20150206 PC遠隔操作 判決を機に捜査力の向上図れ
- 六款值得推荐的android(安卓)开源框架简介
- 回车(\r)、换行(\n)区别
- Spring framework source download methods
- c语言编程基础------0.4.2 EGLIBC介绍
- sed 去掉文件中的注释#