平衡系数是曳引式电梯设计、检测和能效的关键参数,但传统的草图法和多边形法会产生主观误差,而高阶多项式拟合则会导致龙格振荡。本文采用艾特肯插值法,结合计算存储压缩和将检测点分割成三个二次插值线,生成平滑的低阶曲线,这些曲线穿过测量的负载电流点。该方法已在MATLAB GUI中实现,通过代数方法找到上升和下降行程多项式的交点来计算平衡系数。对比测试表明,与多边形法、回归法和牛顿法相比,该方法具有更高的数值精度和可靠性,从而能够实现更一致的检测。
作者:黄少伦、罗志群、戴清友、万建如
平衡系数是曳引电梯设计、实施和检验的重要参数。 传统上通过草图或多边形方法绘制“负载-电流”检测数据曲线来说明,这两种方法都不可避免地导致其数值结果不准确。 为了解决这个问题,本文在Aitken的插值方法中提出了一种高精度的方法。 另外,为了减少不必要的存储空间,详细分析了插值过程中的压缩存储技术。 最后,在MATLAB GUI平台上对该方法进行了成功验证,与不同方法的比较表明该方法在准确性和可靠性方面均表现良好。
介绍
平衡系数是曳引电梯的一个关键参数,尤其是在电梯设计中。 平衡系数在 0.40-0.50 之间的适当范围对于平衡电梯轿厢(无论负载或卸载)及其对重的重量更有效。 合适的平衡系数可使电梯更舒适、更安全、更节能。 在牵引电梯的检测中,这个重要的参数是通过图形绘制向上跳闸和向下跳闸的负载电流数据来计算的。 然而,在实践中,由于主观性,很难始终保证低误差的结果。 多边形法是另一种处理这个问题的方法,但其精度远不能令人满意。
Zhou[1]提出了二次回归曲线解,但效果不佳,因为曲线没有通过所有的检测数据点。 因此,平衡系数的误差增加。 Chang[2] 提出了另一种牛顿插值方法。 但是,它没有考虑“龙格现象”,这可能会导致高阶多项式插值中的曲线失真。 因此,在任何情况下都很难保持准确可靠的结果。
基于Aitken插值法的检测数据曲线求解
根据我国7001年2009月1日起实施的《电梯监督检验和定期检验规定——牵引和正驱动电梯》(TSG T2010-0.40),平衡系数检验发生了变化。 平衡系数建议设计在0.50-0范围内或满足特殊要求。 由于轿厢分别承载额定载荷的25%、40%、50%、75%、100%、110%和XNUMX%,当轿厢与对重处于同一水平时,应记录相关电机电流。 然后,可以绘制负载电流向上和向下跳闸检查数据曲线。 它们有一个独特的交叉点来计算平衡系数值。
检测数据有上下两套,每套由七对数据组成。 提高平衡系数计算精度的一种可靠方法是寻求一种科学的曲线生成方法。 因此,引入了一种新的 Aitken 插值方法来解决这个问题。
艾特肯的插值方案
艾特肯插值问题通常表述如下:求次数不高于 n 的多项式 L(x) = Ln(x),使得其在点 xi (i = 0, 1, 2, ..., n) 处的值与给定函数的值一致,即 L(xi) = yi,其中 xi 表示负载百分比,yi 表示电机电流。从几何角度来看,这意味着需要找到一条形如 Ln(x) = y = a0xn + a1xn - 1 + ... + a 的代数曲线。n 通过给定的一组插值点 Mi (xi, yi) (i = 0, 1, ..., n)。
利用 xi 和 xi + 1 作为插值点,在这里,我们可以产生线性插值多项式 Li, i + 1(x) 有两个初始点:

此外,将 Li, i + 1(x) 和 Li + 1, i + 2(x) 作为两个新的插值点,我们可以得到二次插值多项式,即利用点 xi, xi + 1 和 xi + 2:

因此,一般多项式形式 L0, 1, . . ., n(x) 从插值点 (x0, y0) 到 (xn, yn) 的 n 次,包含所有 n + 1 个插值点,可以表示为递归公式:

这是艾特肯插值的数学方案。 公式 3(递归公式)允许从恰好两个低一阶的多项式推导出每个多项式,这意味着它有助于连续计算。 这个递归公式表明艾特肯的插值与牛顿的继承插值一样有效。
插值过程的存储压缩
为了简化计算,上述结果通常以表格形式呈现。计算 L...(x) 时,使用图 1 所示的插值多项式排列方式较为方便。位于主对角线上的带下划线的多项式是第 n 步的第 n 个多项式的结果。
在艾特肯的插值表中,每一步的多项式都被构造为一个下三角矩阵,该矩阵始终以二维数组的形式存储在内存中。 但是,需要注意的是,在计算此矩阵中的元素时,它仅与两个元素相关——一个位于左上角,另一个位于左侧。 换句话说,所有元素都是一次性的,除了那些保留在对角线上的元素。 因此,在艾特肯的计算过程中,建议在技术上使用一维数组进行存储压缩。 该技能如图 2 所示,其中红色字段中标记的元素在每个步骤中都会更新。
计算中存储压缩的步骤是:
- 启动计步器 I = 1。计算矩阵 L 中的第一行,然后将结果存储在一维数组 y_temp 中。
- 利用 y_temp 中的第 i 个和第 j 个元素(j = i + 1, ..., n),通过公式 1 进行插值,计算出一个新的结果,该结果覆盖了第 j 个元素的位置。例如,当 i = 1 时,使用 L01(x) 和 L12(x) 插值得到目标多项式 L012(x),并将该结果更新到数组 y_temp 的第 2 个元素中(此处 j = i + 1 = 2)。接下来,计算并依次更新剩余元素 L123(x) ... Ln - 2, n - 1, n(x)。
- 更新 i = i + 1 并重复步骤 2,直到达到最终多项式 L0, 1, ... . . ,n(x)。
基于艾特肯插值法的电梯数据曲线
根据TSG T7001-2009的新要求,在负载电流数据点严格检查向上或向下跳闸曲线。 这些点也是艾特肯插值点。 如果直接利用这七对点进行插值,可能会出现一个问题:求解中可能难以避免高阶(最高六阶)插值多项式。 在某些情况下,会出现“龙格现象”。 不希望的振荡会增加计算误差并影响计算的不稳定性。 艾特肯的插值法和牛顿的插值法都不例外。
仔细考虑实际检查,在分割中实现三个曲线是明智的,对应Aitken对三组数据的插值:x0,x1,x2; x2、x3、x4; 和 x4、x5、x7。 这项技术改进不仅可以防止最终的插值曲线出现龙格现象,还可以平滑整条曲线,因为它的最高多项式阶仅为 x2。
软件设计
为了验证所提方法的有效性,引入MATLAB GUI进行编程,设计了几个重要的函数,如“Aitken的存储压缩插值”、“平衡系数计算”等功能。软件流程为如图 3 所示。
Aitken 的存储压缩插值
该函数是 Aitken 插值与存储压缩实现的主体。 函数调用后,它将返回其插值多项式的表达式 f,以及相应的多项式系数 a 和插值点 x 处的函数值 y0(如果输入)0.
函数 [f, a, y0] = 插值_aitken (x, y, x0)
符号 t; 符号 n;
. . .,. . .
y_temp (1:n) = t;
for(i = 1:n - 1)
对于(j = i + 1:n)
y_temp(j) = y(j)*(t - x(i))/(x(j) - x(i)) + y(i)*(t - x(j))/(x(i) -
x(j)); 结尾;
y = y_temp;
简化(y_temp); 结尾;
简化(y_temp(n));
f = 收集(y_temp(n));
f = vpa(f, 5);
如果(nargin==3)
y0 = subs(y_temp(n),'t',x0);
因子 = sym2poly(f); 别的;
因素(1:n)= y_temp(1:n);
因子 = sym2poly(f); 结尾
艾特肯的插值函数
根据《基于艾特肯插值法的电梯数据曲线》中的分析,所有检测数据点应分割为x(1:3)、x(3:5)和x(5:7)三组进行插值独立:
[f_up1, a_up1]=interpolation_aitken(x(1:3), y1(1:3));
[f_up2, a_up2]=interpolation_aitken(x(3:5), y1(3:5));
[f_up3, a_up3]=interpolation_aitken(x(5:7), y1(5:7));
[f_dowm1, a_dowm1]=interpolation_aitken(x(1:3), y2(1:3));
[f_dowm2, a_dowm2]=interpolation_aitken(x(3:5), y2(3:5));
[f_dowm3, a_dowm3]=interpolation_aitken(x(5:7), y2(5:7));
平衡系数计算功能
平衡系数是向上和向下行程数据曲线的交叉点。 称为“平衡系数”,它可以通过代数求出这两个多项式之间的差并搜索与水平轴的交点来计算。
标志求解 = 0;
a_delta1 = a_up1 - a_dowm1; r1 = poly2sym(a_delta1);
。 。 。 。 。 。
if(subs(r2, 'x', 40)*subs(r2, 'x', 75) < 0)
x0 = fzero(r2, [40 75]);
flag_solve = '2';
elseif(subs(r3, 'x', 75)*subs(r3, 'x', 110) < 0)
x0 = fzero(r3, [75 110]);
flag_solve = '3';
elseif(subs(r1, 'x', 0)*subs(r1, 'x', 40)<0)
x0 = fzero(r1, [0 40]);
flag_solve = '1'; 别的;
flag_solve = '未解决'; 结尾;
if(flag_solve~='unsolved')
如果(flag_solve=='1')
[温度 1, 温度 2, y0] = 插值_aitken(x(3:5), y1(1:3), x0); 结尾;
如果(flag_solve=='2')
[温度 1, 温度 2, y0] = 插值_aitken(x(3:5), y1(3:5), x0); 结尾;
如果(flag_solve=='3')
[温度 1, 温度 2, y0] = 插值_aitken(x(3:5), y1(5:7), x0); 结尾;
。 。 。 。 。 。
end
应用领域
软件界面
为了验证该方法的可行性,我们基于MATLAB GUI开发了一款软件,其界面如图4所示。更新“负载百分比-电机电流”检测数据后,该软件将输出平衡系数以及上跳闸和下跳闸数据曲线的表达式。
对比
为验证 Aitken 插值法在电梯平衡系数中的优势,对同一组数据进行了比较。 检测数据曲线图如图5所示。
通过查看图 5(a),我们可以很容易地发现曲线根本没有光泽。 通过查看图 5(b),我们可以发现另一个令人失望的地方——曲线末端的龙格现象。 这也出现在前面的分析中。 当实际平衡系数偏离0.4~0.5范围时,这两个问题就会恶化,降低检验结果的准确性和可靠性。
如图5(c)所示,Aitken插值法生成的检测数据曲线不仅足够光滑,而且没有龙格现象。 它提供了更好的解决方案准确性。
结语
平衡系数是曳引电梯设计、实施和检验的重要参数。 本文提出了一种绘制检测数据曲线的新方法,该方法应用了艾特肯插值法,具有较高的准确性和可靠性。 还讨论了计算中的存储压缩。 该方法通过MATLAB GUI编程成功实现,与不同方法的曲线对比表明该方法在准确性和可靠性方面均有效。 该软件方便了检查人员,提高了他们的工作效率。
承认
本研究得到国家质量监督检验检疫总局-非营利性行业专业研究资助项目(项目编号201310153)的支持。





