MATLAB曲线拟合工具箱在发动机特性拟合中的应用

2014-05-21 01:50黄兵锋解方喜傅佳宏
湖北文理学院学报 2014年5期
关键词:工具箱曲线拟合曲面

黄兵锋,解方喜,傅佳宏



MATLAB曲线拟合工具箱在发动机特性拟合中的应用

黄兵锋1,2,解方喜2,傅佳宏3

(1.湖北汽车工业学院汽车工程学院 汽车动力传动与电子控制湖北省重点实验室,湖北 十堰 442002;2.吉林大学汽车工程学院 汽车仿真与控制国家重点实验室,吉林 长春 130022;3.武汉科技大学 信息科学与工程学院,湖北 武汉 430081)

文章阐述MATLAB的曲线拟合工具箱(Curve Fitting Toolbox)的交互式图形界面和程序调用两种方式的使用方法,并以某柴油发动机稳态工况下的试验数据绘制万有特性图为例,介绍利用曲线拟合工具箱进行曲面拟合的步骤和方法,并给出关键代码,探讨利用该工具箱改进拟合效果和绘图质量. 对拟合结果的数理统计校验表明拟合结果完全符合要求,MATLAB的曲线拟合工具箱为发动机特性的曲面拟合提供更大的便利.

发动机特性;曲面拟合;MATLAB;多元回归;曲线拟合工具箱

根据发动机稳态工况下的性能试验数据绘制转速特性、负荷特性和万有特性曲线的过程较为繁琐,工作量较大,目前一般使用Origin等软件,或应用计算机编制程序,从而对大量的试验数据进行处理,从而得到万有特性曲线[1]. 近年来MATLAB软件,因其强大的数值计算和绘图功能,越来越广泛的被应用于发动机万有特性的研究[2-4].

当采用计算机自行编制程序时,一般采用多元线性回归的方法对实验数据进行曲线拟合或曲面拟合,直接得到发动机特性曲线的数学表达式[4-6],也有采用神经网络模拟万有特性的方法,因涉及专业的数学知识且训练神经网格的过程较为繁琐,应用范围有局限.

MATLAB以强大的数值计算功能著称,它的曲线拟合工具箱(Curve Fitting Toolbox)提供了丰富的曲线数据或曲面数据处理工具,可以对发动机性能试验中的各种数据进行处理,尤其是对万有特性的曲面拟合,比用户自编的回归分析的代码更为简便、可靠.

下面以某柴油发动机的万有特性的曲面拟合为例介绍该工具箱处理曲面数据的方法,外特性等线工况曲线拟合的方法与之类似且更为简便.

1 发动机万有特性的曲面拟合模型

2 利用曲线拟合工具箱进行曲面拟合

MATLAB从2009a版本开始提供了Surface Fitting Tool GUI 及其命令行函数 sffit,支持曲面数据的拟合功能[9];而之前版本的曲线拟合工具箱在回归分析时只能进行一维分析(曲线拟合). 曲面拟合工具箱提供了各种函数逼近和拟合方式,以及非参数建模方法. 可以使用该工具箱进行数据估值,预处理和后处理数据,比较候选模型,删除偏值(异常值)等. 在完成拟合之后,还可以运用多种后处理方法进行绘图、插值和外推、估计置信区间等.

对于曲面数据的处理,曲线拟合工具箱提供有四种算法:插值、曲面拟合、局部加权回归散点平滑法(locally weighted scatter plot smoothing,简称 LOWESS或 LOESS)以及自定义函数拟合.

该工具箱的使用有界面交互式(Interactive)和程序调用(Programmatic)两种方式.

2.1 界面交互方式

稳定性控制(Robust)用于设定求解算法所采用的回归模式,若选择“OFF”,则使用常规最小二乘法;也可选择“LAR”(Least-absolute-residuals,最小绝对残差法)或“Bisquare”(加权最小二乘法,默认算法),若选择“ON”则等同于选择加权最小二乘法. 加权最小二乘法和最小绝对残差法是健壮的拟合方法,与常规最小二乘法相比,对异常值(outlier)不敏感(即少数异常值不会影响整体的拟合效果),适用于原始数据包含了异常值的情况. 在大多数情况下,加权最小二乘法模式通过反复计算选择最佳权重,尤其是使异常值的权重值较小,从而降低对整体数据拟合的影响[10],因此,该方法在对含有异常值的数据进行处理时最为可靠. 发动机稳态试验时,由于各缸燃烧不均匀而引起的转矩波动等偶然因素使得试验数据有可能出现个别异常点,此时使用常规最小二乘法进行拟合将使得拟合曲线与正常值的偏差较大.

拟合运算执行后,其结果在Results中显示,包括拟合多项式的系数、拟合误差、复相关系数等;右侧则显示了拟合多项式的三维曲面. 若复选View菜单中的“Contour Plot”,将在三维曲面的下面同时显示等高线. 拟合结果如图1所示.

图1 曲线拟合工具箱的交互式界面

曲线拟合工具箱允许将多个拟合任务的结果并列显示,以利于对不同的拟合方式进行对比.

2.2 程序调用方式

曲线拟合工具箱包含一系列函数,如拟合准备函数prepareCurveData(曲线拟合)和prepareSurfaceData(曲面拟合),拟合选项设置函数fittype、fitoptions等,拟合函数fit 则完成拟合运算,以及诸多后处理函数[11-12]. 表1列出了其中的常用函数及其主要功能.

表1 曲面拟合工具箱的部分常用函数

fittype设置逼近类型和次数,如双5次多项式逼近时使用'poly55'、局部加权回归散点平滑法 'loess'、分段线性插值使用'linearinterp'.

需要注意的是,为避免“龙格现象”,曲线拟合工具箱允许的曲面拟合最高次数为双5次 'poly55'(即二者的最高次数均为5).

fit 函数的返回值有三个,其中fittedmodel包含了拟合的结果,可用于后处理如绘图,估算数据点的值,计算置信区间、积分、微分等,使用极为方便;gof 则包含了拟合结果的统计分析.

使用这些函数,用户可以自行编制程序完成上述各种逼近功能[11-12].

3 发动机万有特性的曲面拟合

利用曲面拟合工具箱进行发动机特性的曲面拟合,可以使用界面交互式,也可以在编写的程序中调用曲面拟合工具箱提供的函数. 界面交互式简便直观,即便是不懂编程序的人也可以很快上手,但存在以下不足:(1)该功能的使用方式为交互式,无法嵌入自行开发的软件中;(2)无法在绘制的万有特性图中指定曲线之间的间隔,容易出现低油耗区域的曲线太疏,而高油耗区曲线过密;(3)只能绘制一种曲线簇,无法同时将油耗曲线、等功率曲线、外特性重叠到一张图上,所以无法绘制完整的万有特性图.

程序调用的方式则较为灵活,可以克服界面交互方式的各种不足. 下面以某柴油机的试验数据为例介绍万有特性曲线的绘制过程和关键代码.

3.1 万有特性的曲面拟合

[x,y,z]=prepareSurfaceData(ne,Me,be); ft = fittype( 'poly55' );

opts = fitoptions( ft ); opts.Normalize = 'on';

[sf, gof] = fit([x, y], z, ft, opts);

figure( 'Name', 'Engine' );

% Plot fit with data.

subplot( 2, 1, 1 ); h = plot( sf, [x, y], z ); grid on

legend( h, 'Engine', 'be vs. ne, Me' ); xlabel('ne');ylabel('Me');zlabel('be');

% Make contour plot.

subplot( 2, 1, 2 ); grid on; h=plot(sf,[x,y],z,'Style','Contour');

legend(h, 'Engine', 'be vs. ne, Me');xlabel('ne');ylabel('Me');

事实上,在曲线拟合工具箱的交互式界面下,设置好各种参数和选项后,执行“File”菜单下的“Generate Code”,MATLAB将自动生成名为createFit 的函数,它调用曲线拟合工具箱的函数,完成了交互式界面下的拟合和作图工作. 以该函数为基础稍加修改,便可移植其代码至自编软件.

图2 调用曲线拟合工具箱绘制的万有特性

3.2 拟合优度检验

为了评价拟合的性能,应该对拟合结果进行数理统计检验,事实上,这些检验已经包含在fit 函数的两个返回值中:gof、output. gof是拟合优度(Goodness-of-fit),包含四个信息:误差平方和SSE、判定系数R2、校正判定系数R2和均方根误差 RMSE、自由度;output则是一个包含了拟合算法信息的结构体. 在交互式界面的结果显示处,若显示“Fit computation did not converge”(拟合计算不收敛)或“Equation is badly conditioned”(病态)则表明拟合计算质量较差,可改变最高阶次数或调整拟合算法,也可以复选“居中和缩放”.

对于本文所选用的柴油发动机试验数据,当使用双5次多项式拟合,并设定拟合算法为加权最小二乘法(Bisquare)时,所得拟合结果中的判定系数R2为0.9938,表明be与拟合多项式的基底高度相关.

为改善拟合效果,绘制更为光滑的特性曲线,建议采用如下方式:

1) 适当增加试验点组数. 若试验点组数过少,生成的万有特性图中可能存在不连续的曲线;目前,自动控制工况的内燃机试验台已经广泛应用,可以很方便的测得在全工况范围内足够多工况的参数[13];

2) 先在曲线拟合工具箱的交互式界面下比较不同的拟合参数下的拟合结果和误差,挑选最为合理的拟合次数和算法;或通过程序代码,比较不同的拟合参数返回的结果变量 gof,择优选取方案;

4) 使用曲面拟合工具箱提供的绘图函数 plot (以‘contour’为参数)绘制的等高线图,无法手动指定曲线的间隔,也无法将超出外特性范围的加密点设为 NaN,但曲线簇的光滑程度较好.

4 结语

在发动机稳态工况下的试验数据进行各种特性曲线的拟合和分析时,非常适合使用MATLAB的曲线拟合工具箱处理. 此法对发动机在各种工况下的性能分析、整车动力性和燃油经济性的模拟计算、整车动力匹配等具有一定的实用价值.

与发动机特性的其他处理工具相比,利用MATLAB 曲线拟合工具箱更为形象直观,简单便捷;尤其是调用工具箱提供的函数进行回归分析,可显著减少编程工作量,有利于提高模拟精度,改进软件的健壮性和可靠性. 这种方式特别适用于自编程序或作为子功能嵌入其他模拟计算的软件(如Simulink仿真);也可将MATLAB 函数编译成动态链接库文件(*.dll),从使用其他开发工具(如Visual Basic、Visual C++、Delphi等)所编制的软件中计算万有特性时进行调用.

[1] JIANG FACHAO, WANG MOLIN, LI LIN. Software design of engine characteristic simulation [J]. Journal of Software, 2012, 7(2): 316-321.

[2] ZHANG ZHIPENG, ZHANG JIANZHEN. Drawing engine universal performance characteristics map method based on MATLAB [C]//2nd International Conference on Energy, Environment and Sustainable Development, EESD 2012. Jilin: Advanced Materials Research: 361-365.

[3] GUO CUIXIA, LIU KANG, XIE WENLING, et al, Study on engine characteristic curves drawing method based on BP neural network [C]//2012 International Conference on Manufacturing Engineering and Automation, ICMEA 2012. Guangzhou: Advanced Materials Research: 593-596.

[4] 关志伟, 杨 玲, 施继红, 等. 基于 MATLAB 语言的发动机万有特性研究[J]. 吉林农业大学学报, 2003, 25(3): 339-342.

[5] 万德永, 王友林. 发动机负荷特性曲线的曲面拟合[J]. 中南汽车运输, 1998(3): 5-8.

[6] 冯一兵. 发动机万有特性曲线的曲面拟合[J]. 拖拉机与农用运输车, 1998(5): 41-44.

[7] DAVID KINCAID, WARD CHENEY. 数值分析[M]. 王国荣, 俞耀明, 徐兆亮, 译. 北京: 机械工业出版社, 2005.

[8] 余志生. 汽车理论[M]. 3版. 北京: 机械工业出版社, 2001.

[9] MATHWORKS. MATLAB 2013a Documentation Center: Curve Fitting Toolbox -使用回归、插值和平滑来拟合曲线和曲面数据[DB/OL]. [2013-05-11]. http://www.mathworks.cn/products/curvefitting.

[10] 谢 宇. 回归分析[M]. 北京: 社会科学文献出版社, 2010.

[11] MATHWORKS. Curve Fitting Toolbox User's Guide(R2012b)[M/CD]. The Mathworks Inc, 2012: 138-139.

[12] MATHWORKS. Curve Fitting Toolbox Release Notes(R2012b)[M/CD]. The Mathworks Inc, 2012.

[13] 周龙宝, 刘巽俊, 高宗英, 等. 内燃机学[M]. 3版. 北京: 机械工业出版社, 2012.

Application of MATLAB Curve Fitting Toolbox to Engine Characteristic Fitting

HUANG Bingfeng1,2, XIE Fangxi2, FU Jiahong3

(1. Hubei Key Laboratory of Automotive Power Train and Electronics,Hubei University of AutomotiveTechnology, Shiyan 442002, China; 2. State Key Laboratory of Automotive Simulation and Control, Jilin University, Changchun 130022, China; 3. School of Information Science and Engineering, Wuhan University of Science and Technology, Wuhan 430081, China)

Itdiscusses the interactive graphical interfaces and routine call of MATLAB curve fitting toolbox. Taking the universal characteristic map plotting of a diesel engine under a steady-state condition as an example, it introduces the procedures and methods of surface fitting with curve fitting toolbox and key codes are provided. Methods are discussed on how to improve the imitative effect and the drawing quality. The results show that the fitting accuracy is very high; MATLAB curve fitting toolbox can provide much convenience to the surface fitting.

Engine characteristics; Surface fitting; MATLAB; Multiple regression; Curve fitting toolbox

TK421

A

2095-4476(2014)05-0024-05

2014-02-20

湖北汽车工业学院汽车动力传动与电子控制湖北省重点实验室开放基金项目(ZDK201205)

黄兵锋(1977— ), 男, 湖北枝江人, 湖北汽车工业学院汽车工程学院讲师.

(责任编辑:徐 杰)

猜你喜欢
工具箱曲线拟合曲面
叶轮类零件多轴数控机床加工的误差控制与优化——基于NURBS曲线拟合优化方案
不同阶曲线拟合扰动场对下平流层重力波气候特征影响研究*
浅谈Lingo 软件求解非线性曲线拟合
相交移动超曲面的亚纯映射的唯一性
会“叫”的工具箱和工具
圆环上的覆盖曲面不等式及其应用
曲线拟合的方法
基于MATLAB优化工具箱优化西洋参总皂苷提取工艺
机械加工机床工具箱的优化设计
基于曲面展开的自由曲面网格划分