例1:某柴油发动机转速与转矩、功率数据见表2-11。分别对柴油发动机的转矩与转速、功率与转速进行多相式拟合,并绘制曲线。
转速/(r/min) | 1100 | 1200 | 1300 | 1400 | 1500 | 1600 | 1700 | 1800 | 1900 | 2000 | 2100 |
转矩/(N·m) | 2638 | 2710 | 2733 | 2713 | 2658 | 2576 | 2474 | 2360 | 2242 | 2127 | 2022 |
功率/kW | 304 | 341 | 372 | 398 | 418 | 432 | 440 | 445 | 446 | 445 | 444 |
利用表2-11中的转速与转矩数据,编写柴油发动机转矩与转速关系曲线拟合的Matlab程序如下。
n=[1100,1200,1300,1400,1500,1600,1700,1800,1900,2000,2100];%转速赋值
T=[2638,2710,2733,2713,2658,2576,2474,2360,2242,2127,2022];%转矩赋值
cftool %调用曲线拟合工具
在Matlab命令行窗口输入这些程序,进入曲线拟合工具箱界面“Curve Fitting Tool”;利用“X data”和“Y data”下拉菜单读入转速数据n和转矩数据T;选择多项式函数“Polynomial”,再选择拟合阶数“3”;自动拟合,就会在结果窗口和曲线窗口显示出拟合结果,如图2-19所示。
根据图2-19中的结果窗口,可以得到柴油发动机转矩与转速的关系为
其中误差平方和(SSE)为0.49305;复相关系数(R-squre)为1;均方根误差(RMSE)为0.2654。
利用表2-11中的转速与功率数据,编写柴油发动机功率与转速关系曲线拟合的Matlab程序如下:
n=[1100,1200,1300,1400,1500,1600,1700,1800,1900,2000,2100];%转速赋值
P=[304,341,372,398,418,432,440,445,446,445,444];%功率赋值
cftool %调用曲线拟合工具
在Matlab命令行窗口输入这些程序,进入曲线拟合工具箱界面“Curve Fitting Tool”;利用“X data”和“Y data”下拉菜单读入转速数据n和功率数据P;选择多项式函数“Polynomial”,再选择拟合阶数“3”;自动拟合,就会在结果窗口和曲线窗口显示出拟合结果,如图2-20所示。
根据图2-20中的结果窗口,可以得到柴油发动机功率与转速的关系为:
其中误差平方和为7.64;复相关系数为0.9997;均方根误差为1.045。
根据柴油发动机转矩与转速、功率与转速的拟合多项式,编写绘制柴油发动机外特性曲线的Matlab程序如下:
n=1100:10:2100;
Tq=(1.266e-6)*n.^3-0.007058*n.^2+11.93*n-3634;%计算发动机转矩
Pe=(1.086e-7)*n.^3-0.0007522*n.^2+1.686*n-785.9;%计算发动机功率
[AX,H1,H2]=plotyy(n,Pe,n,Tq,'plot');%获取坐标轴、图像句柄
xlabel('转速/(r/min)')
set(get(AX(1),'ylabel'),'string','功率/KW')
set(get(AX(2),'ylabel'),'string','转矩/(N·m)')
set(AX(1),'Ylim',[200 500])
set(AX(2),'Ylim',[1000 3000])
set(AX(1),'yTick',[100:100:500])
set(AX(2),'yTick',[1000:500:3000])
text(1200,380,'功率')
text(1200,470,'转矩')
print(gcf,'-r600','-djpeg','图2-21.jpg')