基于MATLAB的离心泵特性曲线拟合
2015-06-12余淑荣吴明亮
□ 张 戎 □ 余淑荣 □ 吴明亮
兰州理工大学 机电工程学院 兰州 730050
水泵的特性曲线包括流量扬程曲线Q-H、流量功率曲线Q-N、流量效率曲线Q-η,这些曲线可以直观、全面、准确地反映出水泵的工作性能,对于水泵的设计制造、产品测试、质量改进,以及用户的选型和使用都有重要的意义。由于泵内的实际流动规律十分复杂,相关参数无法从理论上准确计算,因此在实际中需要通过测试来获得相关性能参数,再根据这些参数拟合绘制出水泵的特性曲线[1]。笔者利用MATLAB对离心泵特性曲线进行拟合,并分析其拟合结果。
1 曲线拟合基本原理
曲线拟合就是找出一条光滑曲线,这条曲线要能够反映出一组离散数据的变化趋势,使数据误差的平方和最小,但不要求拟合的曲线经过每个点,这就是最小二乘法曲线拟合。 已知一组测定的数据(xi,yi),i=1、2、...、n,求出自变量 x 与因变量 y 的关系 f(x,A),A=(a0、a1、...、an;b0、b1、...、bn;c0、c1、...、cn), 若记误差 δi=yif(xi,A),使误差的平方和最小,求出参数 A 的最佳值,即可得到拟合结果 f(x,A)。
2 离心泵特性曲线的数学模型
离心泵性能测试的参数包括流量Q、进口压力p1、出口压力p2、电机输入功率Nm、泵转速ω。测试时通过自动调节出口节流阀,使流量从最大向零变化,直至出口阀关闭[2]。扬程H、轴功率N、泵效率η的计算公式为:式中:Z为压力传感器的垂直位差,m;ρ为介质密度,kg/m3;d1为进口直径,m;d2为出口直径,m;ηm为电机效率;g为重力加速度。
离心泵的特性曲线是非线性的,根据离心泵特性曲线的特征,笔者选用m次多项式作为其拟合模型。设拟合多项式如下:
式中:m=1,2,...,n。
3 离心泵特性曲线的MATLAB拟合方法
MATLAB是集数值计算、符号计算和图形可视化于一体的功能强大和操作简单的应用软件,不需要编写大量的算法程序,只需要调用本身的函数就可以完成复杂的数值计算功能[3]。利用MATLAB中的Polyfit函数进行多项式曲线拟合,其调用格式为:
式中:x,y为测得的实验数据;n为拟合多项式的次数,p为拟合多项式的系数(按降幂排列)。n=1时为线性拟合。由于高次多项式会产生Runge现象,因此除非已知数据来自高次多项式,否则多项式拟合的次数一般不超过 6 次[4]。
离心泵性能测试参数见表1。
在MATLAB中输入以下程序,并运行:
表1 离心泵性能测试参数
p2=polyfit(q,p,2)
p3=polyfit(q,v,2)
可得到离心泵特性曲线二次多项式拟合系数如下:
p1=-0.017 6 0.025 4 18.473 3
p2=0.001 3 0.010 9 1.247 0
p3= -0.144 6 4.562 9 -0.293 1
拟合后离心泵特性曲线为:
流量扬程曲线Q-H:
H=-0.017 6Q2+0.025 4Q+18.473 3
流量功率曲线Q-N:
N=0.001 3Q2+0.010 9Q+1.247 0
流量效率曲线Q-η:
η=-0.144 6Q2+4.562 9Q-0.293 1
在MATLAB中输入以下程序,并运行:
>> y1=polyval(p1,q);
y2=polyval(p2,q);
y3=polyval(p3,q);
plot(q,h,′+′,q,y1,′-′,q,p,′+′,q,y2,′-′,q,v,′+′,q,y3,′-′,′linewidth′,2),grid on
可得到拟合后的离心泵特性曲线,如图1所示。
将以上程序p=polyfit(x,y,n)中的n由二阶改为三阶、四阶、五阶、六阶,即可得到不同拟合阶次的离心泵特性曲线。
▲图1 二次多项式拟合曲线
4 拟合曲线的优化度检验
离心泵特性曲线对于泵的设计、制造、改进等有着重要意义,为了得到拟合效果最优的曲线,则需对拟合结果进行分析。
在MATLAB中输入以下程序,并运行:
>> c1=corrcoef(y1,h)
c2=corrcoef(y2,p)
c3=corrcoef(y3,v)
可分别得到扬程H、轴功率N、泵效率η的测量值与拟合结果的相关系数:
c1=0.998 9
c2=0.999 3
c3=0.999 6
相关系数越接近1,表示实际数据与拟合结果吻合得越好。
在MATLAB中输入以下程序,并运行:
s1=sse(abs(y1-h))
s2=sse(abs(y2-p))
s3=sse(abs(y3-v))
可分别得到扬程H、轴功率N、泵效率η的测量值与拟合结果的误差平方和:
s1=0.077 0
s2=6.354 2e-004
s3=1.065 9
在MATLAB中输入以下程序,并运行:
m1=max(abs(y1-h))
m2=max(abs(y2-p))
m3=max(abs(y3-v))
可分别得到扬程H、轴功率N、泵效率η的测量值与拟合结果的绝对误差最大值:
m1=0.176 7
m2=0.015 1
m3=0.597 3
在MATLAB中输入以下程序,并运行:
z1=max(abs(y1-h)/h)
z2=max(abs(y2-p)/p)
z3=max(abs(y3-v)/v)
可分别得到扬程H、轴功率N、泵效率η的测量值与拟合结果的相对误差最大值:
z1=0.005 1
z2=0.004 9
z3=0.010 9
通过以上方法得到测量值与不同阶次拟合结果的相关系数R2、误差的平方和、绝对误差最大值、相对误差最大值,见表2。
表2 拟合结果分析表
根据表2数据,多项式拟合可以较好地反映出离心泵的扬程H、轴功率N、泵效率η随流量的变化情况,拟合精度较高。随着拟合阶数的增加,拟合误差越小,测量值与拟合结果越吻合。
5 总结
MATLAB编程简洁直观,操作简单,采用MATLAB中的Polyfit函数,并辅以Corrcoef、SSE等函数,可以得到精确的拟合曲线,并可以对拟合结果进行分析,确定方法的可行性和精确度。这种方法可以提高工作效率和水泵运行的经济效益,有广泛的实用价值。
[1] 李建光.矿用离心泵特性曲线拟合方法的比较[J].河北工程大学学报(自然科学版),2008,25(1):45-48.
[2] 张慧敏,龚德利,骆德发.离心泵性能测试的自动化控制系统[J].流体机械,2003,31(7):29-32.
[3] 王宏伟,王蕊,商德勇,等.基于 VB和Matlab混合编程的离心泵测试数据分析[J].煤矿机械,2008,29(5):192-193.
[4] 唐家德.基于MATLAB的非线性曲线拟合[J].计算机与现代化,2008(6):15-19.