首页/文章/ 详情

曲线拟合的核心计算方法与CurveFitter的更新

1年前浏览1072

随着大数据技术与计算科学的发展,数据挖掘与分析工具发挥着越来越重要的工作。对于常见的二维曲线和三维曲面数据,通过给定的曲线/曲面方程和参数,可以将复杂的数据用精简抽象的函数表达出来,迅速且正确得出相关重要信息。目前曲线拟合已经大量应用于工程与科学研究,涉及社会学,医学,工学,生物学等各个领域。

WELSIM早在2年前就发布了免费的CurveFitter工具软件,获得了很多好评与热度。最早的CurveFitter版本是为了计算结构力学中超弹材料的测试数据-曲线拟合,以及磁性材料中损耗的数据-曲线拟合而开发。之后按用户的要求添加了许多常用曲线,如多项式,幂函数,指数函数等等。这些曲线的大多都是非线性的,只有通过计算机才能快速的准确的得到相应参数。

最小二乘法(Least Squares)

在计算机求解曲线拟合时,最常用的方法是最小二乘法。这种计算方法广泛应用于曲线拟合以及优化计算中。算法的核心是在给定的数据区间内找到泛函的全局最小值。通过构建雅克比矩阵,以及每个步长下的线性化,获得以参数为自变量的线性方程组,求解收敛后得到我们需要的参数值。

对于求解非线性问题的通用方法是用线性化方法将其转化为一系列假设并求解。在每次迭代中,假设被求解来决定正确的步长。为了更快更准确地收敛,步长的控制尤为重要。非线性优化算法(又称最小化方法)主要可以分为两类。1. 信任区域法(Trust Region)。2. 线性搜索法(Line Search)。这两种方法有很多地方相似。信任区域法先选择一个步长,再决定步长方向。而线性搜索法相反,先选择一个方向,再决定步长。通常对于计算量不大的曲线拟合问题,信任区域法是一个更好的选择。

Levenberg-Marquardt算法

Levenberg-Marquardt算法(以下简称LM法)是求解非线性最小二乘法的最常用的方法。LM算法是在 1960 年代初开发的,属于信任区域法,用于解决非线性最小二乘问题。LM算法结合了两种数值最小化算法:梯度下降法(Gradient Descent)和高斯-牛顿法(Gauss-Newton)。在梯度下降法中,通过更新最速下降方向的参数来减小平方误差之和。在高斯-牛顿法中,通过假设最小误差函数在参数中是局部二次的来减小平方误差的总和,并且找到这个二次方的最小值。LM方法当参数远离其最佳值时,像是梯度下降法,当参数接近其最优值时,更像高斯-牛顿法。

除了LM法,狗腿法(Dogleg)也是一种常用计算信任区域优化问题的方法。和LM不同的是,狗腿法计算两个关于步长的向量。狗腿法的优点是不需要从头计算,且信任区域半径小。狗腿法一般只能用直接法(分解因式法)求解线性方程组Ax=b。

CurveFitter最近更新

最近,WELSIM开发的免费软件CurveFitter进行了很多升级。其中包含:

1. 支持多核并行计算。对于大量测试数据,可以迅速得到曲线参数。

2. 支持用户输入求解器参数,如最大迭代次数,函数收敛公差值等。目前,前端支持的求解控制参数有:

最大迭代次数:求解器最大的迭代次数,超过此数值,判定不收敛。默认为100。

函数阈值:用于判断目标函数值变化的临界值。小于此值时判定收敛。默认为1e-9。

梯度阈值:用于判断最大范数的临界值。默认为1e-10。

参数阈值:用于判断步长参数的临界值。默认为1e-8。


3. 新增 1-6阶的Schulz-Flory函数。

Schulz-Flory函数已经广泛应用于描述各种复杂材料的聚合与结晶过程。的控制方程如下:

可以看出此方程具有高度非线性的特征,对于曲线拟合算法有着很高的要求。

4. 大量的软件优化与增强。

目前CurveFitter已经支持多种非线性曲线拟合,随着使用者的需求,将来会添加更多曲线仿真。目前可以从WELSIM的官网下载并免 费使用

来源:WELSIM
非线性通用WELSIM材料控制曲面
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-06-24
最近编辑:1年前
WELSIM
一枚搞仿真的老员工
获赞 23粉丝 63文章 253课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈