c# – 二进制数组的Akima插值
假设我有一个双打的数组,使用
Akima interpolation来抽取这个系列的好算法是什么?我很愚蠢地将该数学描述转化为代码.
// values is an array of doubles // idx is the index of the left-hand value for the current interpolation // t is the normalized parameter between values[idx] and values[idx+1] // Don't worry about array bounds,I'll handle that separately. public double InterpolateAkima(double[] values,int idx,double t) { ...? } 解决方法
对我对
another SO question的答复的转载和扩展,被关闭,作为这个问题的重复 – 正如关于这个问题的评论所建议的那样.
Akima的原始论文: http://www.leg.ufpr.br/lib/exe/fetch.php/wiki:internas:biblioteca:akima.pdf C实现 https://github.com/ampl/gsl/blob/master/interpolation/akima.c C#实现 https://gist.github.com/dreikanter/3526685 Delphi实现(参见程序BuildAkimaSpline in delphi / src / spline3.pas) http://www.alglib.net/translator/re/alglib-2.6.0.delphi.zip Akima的Fortran 66实现 http://cran.r-project.org/web/packages/akima/ Fortran 90实现 http://miyoshi.googlecode.com/svn-history/r72/trunk/common/common.f90 Java实现 https://commons.apache.org/proper/commons-math/jacoco/org.apache.commons.math3.analysis.interpolation/AkimaSplineInterpolator.java.html 对于AutoCAD 2d-Polylines的Lisp实现“ http://autocad.xarch.at/code/candido/akima.lsp Matlab实现 http://www.mathworks.se/matlabcentral/fileexchange/1814-akima-interpolation Pascal实现(program description) http://jean-pierre.moreau.pagesperso-orange.fr/Pascal/akima_pas.txt Python实现 http://www.lfd.uci.edu/~gohlke/code/akima.py.html VB6实现(请参阅vb6 / src / spline3.bas中的子程序BuildAkimaSpline) http://www.alglib.net/translator/re/alglib-2.6.0.vb6.zip http://www.koders.com/cpp/fid1393B9D668316C1700966643DE0609660B9CB13A.aspx?s=%22Brian+Smith%22 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |