在哪里可以得到Excel式多项式回归曲线拟合的Delphi / Pascal实现?

| 我有一组X-Y值(即散点图),并且我希望Pascal例程以与Excel相同的方式生成适合这些点的N阶多项式的系数。     
已邀请:
我使用了David J Taylor的Polyfit示例(curvefit.zip),该示例实现了最小二乘曲线拟合算法(也称为线性回归)。David的站点位于此处,但请继续阅读,因为我的版本更好。 (见下文)。 David正在使用的算法的起源是一本针对Pascal程序员的科学数学书,是Allen Miller的Curve Fitting例程,该书来自“ Pascal Programs for Scientists and Engineers”(科学家和工程师的Pascal程序),并于1982年10月提交给MTPUG于尔根·洛纳(Juergen Loewner), 并由Jeff Weiss改正并改编为Turbo Pascal。 您可以在此处直接从bitbucket中获取curvefit.zip。 (您可以使用Mercurial / TortoiseHG克隆源代码,或从bitbucket下载ZIP)
hg clone https://bitbucket.org/wpostma/curvefit curvefit
它可以在任何delphi版本5和更高版本中运行,无论是否使用Unicode,甚至可以运行Delphi 10 Berlin。它在演示中有一个小图表,由我添加。我还添加了一种将结果强制通过原点的方法,这是一种通用技术,您希望对所有值(常数项除外)进行最佳拟合,应将其强制为零或实验得出的平均值。当与某些类型的仪器一起使用时,在某些类型的分析化学中以及其他科学情况下,强制“空白减法”设置为等于一系列分析“零样品”的平均值,在某些类型的分析化学中是常见的。它可能比最佳拟合更有用,因为您可能希望将原点周围的误差最小化,而不是最小化距离原点最远的曲线区域的误差。 我还应澄清,出于线性回归的目的,\“曲线\”也可能是一条线,这是我为分析化学目的所需的情况,并且任何直线(y = mx + b)的方程式也是称为“校准曲线”。一阶曲线拟合是一条线(y = mx + b),二阶曲线拟合(如图所示)是一个抛物线(y = nX ^ 2 + mX + b)。您可能会猜到,该算法可从一阶扩展到您希望的任何级别。我还没有在8个学期以上对它进行过测试。 这是屏幕截图: Bitbucket项目链接: https://bitbucket.org/wpostma/curvefit/overview     

bab

尝试TPMath http://tpmath.sourceforge.net/-我多年来一直在使用它来拟合Hill回归,并且可以推荐它。     
检查Turbo Power的SysTools库中的函数,该库现在是开源的,它在StStat单元中包括数学函数。     
即使您已经给出了答案,出于完整性考虑,我还是想添加以下内容: 我们使用SDL Components的Math pack,对此非常满意。 http://www.lohninger.com/delfcomp.html 经过深思熟虑,它确实满足了我们的需求。 他的网站上还有许多其他有趣的工具。     
XlXtrFun是我知道和使用的最佳曲线拟合,但它适用于Excel: http://www.xlxtrfun.com/XlXtrFun/XlXtrFun.htm     

要回复问题请先登录注册