寻求适用于双稳态电磁铁力数据的二维非线性拟合方程
问题背景
我正在开展双稳态电磁铁速度控制项目,需建立系统的状态空间模型,其中电枢受力F是位置x(单位:mm)和电流i(单位:A)的函数F = g(x,i),该力由电磁铁几何结构、铁氧体磁芯及永磁体BH曲线决定。现有数据来自Maxwell有限元仿真,记录了不同x和i下的F值(单位:N)。
最初采用文献推荐的双三次样条拟合,表达式为:
F(t) = g(i,x) = g₀(x) + g₁(x)i + g₂(x)i² + g₃(x)i³
其中gᵢ(x) = αᵢ,₁ + αᵢ,₂x + αᵢ,₃x² + αᵢ,₄x³(i=0,1,2,3),共16个拟合系数
使用Matlab的nlinfit()函数拟合后得到系数:[59.6556, -104.012, 49.6096, -6.9047, -14.8646, 9.3209, -1.8018, -0.0318, -0.2990, 0.8670, -0.4706, 0.0661, 0.0971, -0.0944, 0.0197],但拟合在x=0mm和x=4.895mm附近的强非线性区域效果极差,均方误差(MSE)高达163.05。
我判断问题出在拟合函数形式而非拟合方法,不确定提升多项式阶数是否有效,且数据在x和i维度存在强对称性,希望得到适配的拟合方程建议,或确定寻找合适方程的方法。
补充:可通过代码片段生成数据表格。
优化方案建议
1. 利用对称性构造拟合函数
既然数据在x和i上有强对称性,先明确对称特征再针对性构造函数:
- 若位置x的对称中心为x₀=(0+4.895)/2≈2.4475mm,做变量替换
x' = x - x₀,将位置变量转换为以对称中心为原点的形式。此时拟合函数可引入偶次项主导的对称结构,比如将gᵢ(x)调整为包含x'的偶次幂(x'²、x'⁴)和奇次幂的组合,贴合对称区域的非线性特性。 - 若电流i的对称性表现为F(x,-i)与F(x,i)存在镜像/反向关系,可将拟合函数拆分为奇函数项+偶函数项:
F(x,i) = F_even(x,i²) + F_odd(x,i),其中F_even仅包含i的偶次幂,F_odd仅包含i的奇次幂。这种拆分能贴合电流维度的对称特性,减少冗余参数,提升非线性区域的拟合精度。
2. 分段拟合替代全局多项式
强非线性区域(x=0和x=4.895mm附近)的特性与中间区域差异显著,全局双三次多项式难以兼顾:
- 将x轴划分为三个区间:
[0, x₁]、[x₁, x₂]、[x₂, 4.895],x₁、x₂选在非线性过渡区的边界(可通过观察数据曲线确定)。 - 每个区间采用适配的拟合函数:边界区间(x≈0或x≈4.895)可选用高次多项式(4-5次)或有理多项式(分式多项式),中间线性度较好的区域保留原双三次结构;同时保证分段函数在区间连接处的连续性(一阶或二阶导数连续),避免模型在控制过程中出现跳变。
3. 引入物理驱动的拟合项
电磁铁受力本质是磁吸力,结合BH曲线的非线性特性,引入贴合物理规律的项能大幅提升拟合效果:
- 针对磁饱和效应,引入形如$\frac{k_1(x)i}{k_2(x)+|i|}$的饱和项,或指数形式的饱和项$k_3(x)(1-e^{-k_4(x)|i|})$,这类项能精准模拟电流增大时受力趋于饱和的特性,正好匹配边界位置x≈0或x≈4.895时磁路易饱和的强非线性特征。
- 分离永磁体与电磁铁的受力贡献:
F(x,i) = F_perm(x) + F_elect(x,i),其中F_perm(x)是i=0时仅由永磁体产生的力,F_elect(x,i)是通电后的附加力。分别拟合两部分,可拆分不同物理机制带来的非线性,提升拟合针对性。
4. 配合拟合方法的辅助优化
虽然问题核心在函数形式,可配合以下方法强化效果:
- 改用Matlab的
fitnlm()函数,支持加权拟合:给强非线性区域的数据点赋予更高权重,让拟合过程更侧重误差大的点。 - 尝试径向基函数(RBF)拟合:对于多维强非线性数据,RBF通过局部基函数组合能更好捕捉局部非线性,Matlab中可使用
fit()函数选择RBF模型。
内容的提问来源于stack exchange,提问作者Double01

