1、应用 matlab 解决汽车理论问题“确定一轻型货车的动力性能”摘要:确定一轻型货车的动力性能需要绘制其汽车驱动力和行驶助力平衡图,根据图形求出最高车速,最大爬坡度,克服最大爬坡度时相应的附着率,加速时间等动力性能参数方可对该货车的整体动力性能进行一个全面,直观,准确的确定与评价。Matlab 集科学计算,图形处理,图像处理,多媒体处理与一身,并提供了丰富的 windows 图形界面设计方法,为科学研究,工程设计以及必须有效数值计算的众多科学领域提供了一种全面的解决方案。关键词:matlab 编程 指令 数值计算 图形绘制 驱动力 行驶阻力 平衡图 最高车速 最大爬坡度 附着率 加速时间 动力
2、性能 参数功能强大的 MATLAB 软件对于解决汽车理论中的很多问题能够提供很大的帮助。确定一轻型货车的动力性能需要绘制其汽车驱动力和行驶助力平衡图,根据图形求出最高车速,最大爬坡度,克服最大爬坡度时相应的附着率,加速时间等动力性能参数方可对该货车的整体动力性能进行一个全面,直观,准确的确定与评价。Matlab的数值计算和图形处理功能恰能对这一问题的解决提供了方便有效的帮助。一. 简介 matlab.向智能化发展的计算机技术为各种理论研究和工程技术问题的解决提供了强大而又方便快捷的工具支持。MATLAB(即 matrix laboratory 意为矩阵实验室)是由美国 mathworks 公司
3、发布的主要面对科学计算可视化以及交互式程序设计的高科技计算环境。它将数值分析,矩阵计算,科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的试图环境中,为科学研究,工程设计以及必须有效数值计算的众多科学领域提供了一种全面的解决方案。Matlab 集科学计算,图形处理,图像处理,多媒体处理与一身,并提供了丰富的 windows 图形界面设计方法,它已成功应用于以下领域:1) 工业研究与开发2) 数学教学,特别是线形代数;3) 数值分析和科学计算方面的教学与研究;4) 电子学,控制理论和物理学等工程和科学学科方面的教学与研究;5) 经济学,化学和生物学等计算问题领域中的教
4、学与研究;6) 数子图像信号处理,建模,仿真;7) 图形用户界面设计。二. 确定一轻型货车的动力性能已知的轻型货车的有关数据为:汽油发动机使用外特性的 Tq-n 曲线的拟合公式为:Tq=-19.313+295.27(n/1000)-165.44(n/1000)2+40.874(n/1000)3-3.8445(n/1000)4.式中,Tq 为发动机转矩(N.m);n 为发动机转速(R/min).发动机的最低转速 n=600r/min,最高转速 n=4000r/min;装载质量:2000kg;整车整备质量:1800kg;总质量:3880kg;车轮半径:0.367m;传动系机械效率:T=0.85;滚
5、动阻力系数:f=0.013;空气阻力系数*迎风面积:CdA=2.77m2;主减速器传动比:i0=5.83;飞轮转动惯量:If=0.218kg.m2;二前轮转动惯量:Iw1=1.798kg.m2;四后轮转动惯量:Iw2=3.598kg.m2;变速器传动比:1 档 2 档 3 档 4 档 5 档4 档变速器6.09 3.09 1.71 1.00 5 档变速器5.56 2.769 1.644 1.00 0.793设该轻型货车装用的是 4 档变速器,则选用 4 档变速器的变速比数据。轴距:L=3.2m;质心至前轴距离(满载):a=1.947m;质心高(满载):hg=0.9m.(一) 绘制汽车驱动力和行
6、驶阻力平衡图,并求出汽车最高车速,最大爬坡度及克服该坡度时相应的附着率。运用 matlab 语言编写指令如下:1. n=linspace(600,4000,100);2. r=0.367;3. i0=5.83;4. nt=0.85;5. G=3880*9.8;f=0.013;CDA=2.77;If=0.218;Iw1=1.798;Iw2=3.598;m=3880;L=3.2;a=1.947;hg=0.9;6. ig=6.09,3.09,1.71,1.00;7. ua1=0.377*r*n/i0/ig(1);8. ua2=0.377*r*n/i0/ig(2);9. ua3=0.377*r*n/i
7、0/ig(3);10. ua4=0.377*r*n/i0/ig(4);11. Tq=-19.313+295.27*(n/1000)-165.44*(n/1000).2+40.874*(n/1000).3-3.8445*(n/1000).4;12. Ft1=Tq*i0*ig(1)*nt/r;13. Ft2=Tq*i0*ig(2)*nt/r;14. Ft3=Tq*i0*ig(3)*nt/r;15. Ft4=Tq*i0*ig(4)*nt/r;16. Ff=G*f;17. ua=linspace(0,200,100);18. Fw=CDA*ua.*ua/21.15;19. plot(ua1,Ft1,u
8、a2,Ft2,ua3,Ft3,ua4,Ft4,ua,Ff,ua,Ff+Fw);20. xlabel(ua/ km/h);21. ylabel(F/N);22. title(汽车驱动力-行驶阻力平衡图);23. legend(Ft1,Ft2,Ft3,Ft4,Ff,Ff+Fw);24. umax=max(ua4);25. disp(汽车最高车速=);26. disp(umax);disp(km/h); 27. imax=tan(asin(max(Ft1-(Ff+Fw)/G);28. disp(汽车最大爬坡度=);29. disp(imax);30. fai=imax*L/(a+hg*imax);3
9、1. disp(货车后轮驱动克服最大坡度时相应的附着率=);32. disp(fai);对该程序指令编写过程的解释:指令第 1 行的 linspace线性等分函数生成向量,可以在首尾两端元素之间等分建立向量。所以linspace(600,4000,100)表示将 600 到 4000 之间等分为 100 份。2,3,4,5 行将已知数据输入。第 6 行通过创建一个 1*4 维的数值矩阵输入 4 档变速器的传动比。7,8,9,10 行根据车速公式Ua=0.377*r*n/i0/ig 分别求出变速器各档位对应的汽车车速与发动机转速 n 的关系。11 行为已知条件表示发动机转矩 Tq 与发动机转速
10、n 的函数关系。12,13,14,15 行根据汽车驱动力公式Ft=Tq*i0*ig*nt/r 求出变速器处于各档位时的汽车驱动力。16 行求出滚动阻力。17 行调用 linspace()函数将车速 0 到 200km/h 等分生成 100 维向量。18 行求出空气阻力。19 行调用 plot 函数绘制多根二维曲线,输入的参数都为向量对,Ua1 和 Ft1,Ua2 和 Ft2,Ua3和 Ft3,Ua4 和 Ft4,Ua 和 Ff,Ua 和 Ff+Fw 分别组成一对向量对,每一向量对可以绘制一条曲线,这样就在同一坐标内绘制出了六条曲线。20 行和 21 行调用 xlabel()和 ylabel()
11、函数分别对 x 轴和 y 轴进行标注,即在横坐标轴下方标注Ua/km/h“,在纵坐标轴左侧标注“F/N”.22 行调用 title()函数在图形上方写图名“汽车驱动力行驶阻力平衡图“。23 行调用 legend()函数在规定位置写图例,缺省在图形窗口右上角。24 行调用 max 函数求出 4 档时的最高车速。26 行调用 disp 函数显示文本“最高车速=”。26 行显示Umax 值及其单位。27 行求最大爬坡度。28 行调用 disp 函数显示文本“汽车最大爬坡度=”。29 行调用 disp 函数显示 Imax 的值。30行求出克服最大爬坡度时相应的附着率。31,32 行调用 disp 函数
12、显示文本,值。将 132 行指令程序导入 matlab 的 command space窗口,按下 enter 键得到运行结果如下:汽车最高车速=94.9290km/h汽车最大爬坡度=0.3702货车后轮驱动克服最大坡度时相应的附着率=0.5196(二) 绘制汽车行驶加速度倒数曲线。运用 matlab 语言编写程序指令如下:n=linspace(600,4000,100);r=0.367;i0=5.83;nt=0.85;G=3880*9.8;f=0.013;CDA=2.77;If=0.218;Iw1=1.798;Iw2=3.598;m=3880;L=3.2;a=1.947;hg=0.9;ig=6
13、.09,3.09,1.71,1.00;ua1=0.377*r*n/i0/ig(1);ua2=0.377*r*n/i0/ig(2);ua3=0.377*r*n/i0/ig(3);ua4=0.377*r*n/i0/ig(4);Tq=-19.313+295.27*(n/1000)-165.44*(n/1000).2+40.874*(n/1000).3-3.8445*(n/1000).4;Ft1=Tq*i0*ig(1)*nt/r;Ft2=Tq*i0*ig(2)*nt/r;Ft3=Tq*i0*ig(3)*nt/r;Ft4=Tq*i0*ig(4)*nt/r;Ff=G*f;ua=linspace(0,200
14、,100);Fw=CDA*ua.*ua/21.15;s1=1+(Iw1+Iw2)/(m*r2)+ig(1)2*i02*nt*If/(m*r2);s2=1+(Iw1+Iw2)/(m*r2)+ig(2)2*i02*nt*If/(m*r2);s3=1+(Iw1+Iw2)/(m*r2)+ig(3)2*i02*nt*If/(m*r2);s4=1+(Iw1+Iw2)/(m*r2)+ig(4)2*i02*nt*If/(m*r2);Fw1=CDA*ua1.*ua1/21.15;Fw2=CDA*ua2.*ua2/21.15;Fw3=CDA*ua3.*ua3/21.15;Fw4=CDA*ua4.*ua4/21.1
15、5;a1=(Ft1-(Ff+Fw1)/(s1*m);a2=(Ft2-(Ff+Fw2)/(s2*m);a3=(Ft3-(Ff+Fw3)/(s3*m);a4=(Ft4-(Ff+Fw4)/(s4*m);plot(ua1,1./a1,ua2,1./a2,ua3,1./a3,ua4,1./a4);xlabel(ua/ km/h);ylabel(1/a);title(汽车的加速度倒数曲线);legend(1/a1,1/a2,1/a3,1/a4);将上述程序指令导入 matlab 的 command space 窗口按下 enter 键,运行结果绘制的加速度倒数曲线如下图所示:(三) 求汽车用二档起步加速行
16、驶至 70km/h 的加速时间。运用matlab 语言编写程序指令如下:nT=0.85;r=0.367;f=0.013;CDA=2.77;i0=5.83;If=0.218; Iw1=1.798;Iw2=3.598;L=3.2;a=1.947;hg=0.9;m=3880;g=9.8; nt=0.85;G=m*g; ig=6.09,3.09,1.71,1.00; nmin=600;nmax=4000; %每个档位所能达到的最小车速和最大车速u1=0.377*r*nmin./ig/i0; u2=0.377*r*nmax./ig/i0;deta=0*ig; %不同档位时的 s(s2=1+(Iw1+Iw
17、2)/(m*r2)+ig(2)2*i02*nt*If/(m*r2);s3=1+(Iw1+Iw2)/(m*r2)+ig(3)2*i02*nt*If/(m*r2);s4=1+(Iw1+Iw2)/(m*r2)+ig(4)2*i02*nt*If/(m*r2);%车速从二档的最低速到四档的最高速ua=4.6:0.001:94.9;N=length(ua);n=0;Tq=0;Ft=0;aa=0*ua;delta=0*ua;Ff=G*f;Fw=CDA*ua.2/21.15;for i=1:Nk=i;if ua(i)=u2(2)n=ua(i)*(ig(2)*i0/r)/0.377;Tq=-19.313+295
18、.27*(n/1000)-165.44*(n/1000)2+40.874*(n/1000)3-3.8445*(n/1000)4;Ft=Tq*ig(2)*i0*nT/r;%aa(i)为 ua(i)时的 1/aaa(i)=(s2*m)/(Ft-Ff-Fw(i); %delta(i)为微分部分的面积,及 dtdelta(i)=0.001*aa(i)/3.6;elseif ua(i)=u2(3)n=ua(i)*(ig(3)*i0/r)/0.377;Tq=-19.313+295.27*(n/1000)-165.44*(n/1000)2+40.874*(n/1000)3-3.8445*(n/1000)4;
19、Ft=Tq*ig(3)*i0*nT/r;aa(i)=(s3*m)/(Ft-Ff-Fw(i); delta(i)=0.001*aa(i)/3.6; elsen=ua(i)*(ig(4)*i0/r)/0.377;Tq=-19.313+295.27*(n/1000)-165.44*(n/1000)2+40.874*(n/1000)3-3.8445*(n/1000)4;Ft=Tq*ig(4)*i0*nT/r;aa(i)=(s4*m)/(Ft-Ff-Fw(i); delta(i)=0.001*aa(i)/3.6;enda=delta(1:k);t(i)=sum(a);endplot(t,ua);titl
20、e(汽车 2 档原地起步换挡加速时间曲线);xlabel(时间 t(s));ylabel(速度 ua(km/h));t(70-4.6)/0.001)enda=delta(1:k);t(i)=sum(a);endplot(t,ua);axis(0 80 0 100);title(汽车 2 档原地起步换挡加速时间曲线);xlabel(时间 t(s));ylabel(速度 ua(km/h));t(70-4.6)/0.01)将上述程序指令导入 matlab 的 command space 窗口按下 enter 键,运行结果绘制的加速时间曲线如下图所示:Subscript indices must ei
21、ther be real positive integers or logicals.由运行结果没有得出具体的加速时间知程序存在一定的错误。但从图形上能够估计出加速时间为 27s.三. 总结由前面的运算可以得到该轻型货车的动力性能参数:汽车最高车速=94.9290km/h,汽车最大爬坡度= 0.3702,货车后轮驱动克服最大坡度时相应的附着率=0.5196,汽车用二档起步加速行驶至 70km/h的加速时间为 27s.根据这些动力性能参数便可对该轻型货车的动力性能进行评价。通过使用 matlab 解决该汽车理论问题之确定一轻型货车的动力性能的过程可以发现 matlab 这一数学软件对于理论研究问题具有强大的辅助作用。编写程序指令的过程能够明显体会到matlab 语言是一种解释类语言,它将一个优秀软件的易用性与可靠性,通用性与专业性,一般目的的应用与科学技术应用有机地结合,是一种直译式的语言,编程效率高,能够实现方便的绘图功能。在本次学习过程中,我对汽车理论中关于汽车动力性能参数的求解进一步加深了理解。在接下来的学习中,我会更加注重理论与实践相结合,继续加深对于 matlab 语言及软件的学习使用,学会运用计算机软件这一技术工具对于专业理论学习的帮助。