《汽车动力性计算matlab程序.docx》由会员分享,可在线阅读,更多相关《汽车动力性计算matlab程序.docx(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上% 汽车动力性计算(自己编的动力性计算程序,供大家计算动力性时参考,具体参数大家根据所给程序对应输入,并对坐标轴数值按需要进行修改) clc; clear; close all; %根据所给发动机数据拟合外特性曲线(发动机数据按照你所得到的数据进行输入) n_test=500 600 700 800 900 1000 1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100 2200; T_test=975 1108 1298 1496 1546 1620 1670 1785 1974 1974 1970 1889
2、1829 1748 1669 1700 1524 1105; figure(1) plot(n_test,T_test,g); hold on grid on %p=polyfit(n_test,T_test,7); p=polyfit(n_test,T_test,2);n=450:1:2200; Ttq=polyval(p,n); plot(n,Ttq,k); xlabel(发动机转速n(r/min); ylabel(发动机转矩Ttq(N*m); title(发动机转矩曲线); legend(测试曲线,拟合曲线); %所给车型动力总成相关参数 ig=3.07 2.16 1.48 1.0 0.
3、82; i0=4.0; eta=0.78; r=0.57; M=25000; g=9.8; c=1.5; f0=0.01; f1=0.0002; f4=0.0005; CD=1; A=8;Iw=3.6;If=0.04;% 发动机外特性曲线图 figure(2) hold on grid on for i=length(n); Pe=Ttq.*n/9550; end AX,H1,H2=plotyy(n,Ttq,n,Pe); xlabel(发动机转速n(r/min); ylabel(发动机转矩Ttq(N*m); ylabel(AX(2),发动机功率Pe(Kw); title(发动机外特性曲线);
4、% 各挡位速度曲线 %计算各挡位车速 for i=1:length(ig); ua(i,:)=0.377*r*n/ig(i)/i0; end%计算各档位最高车速 uamax=ua(:,length(ua(1,:); figure(3) hold on for i=1:length(ig); plot(n,ua(i,:),k); end hold on grid on xlabel(转速n(r/min); ylabel(各挡位车速(km/h); title(各挡位车速-转速表); legend(1挡车速,2挡车速,3挡车速,4挡车速,5挡车速); % 驱动力和行驶阻力平衡图 %计算滚动阻力系数
5、for i=1:length(ig); f(i,:)=f0+f1*(ua(i,:)/100)+f4*(ua(i,:)/100).4; end %计算滚动阻力 for i=1:length(ig); Ff(i,:)=c*M*g*f(i,:); end %计算空气阻力 for i=1:length(ig); Fw(i,:)=CD*A*(ua(i,:).2)/21.15; end %计算行驶阻力 for i=1:length(ig); F(i,:)=Ff(i,:)+Fw(i,:);end %计算汽车驱动力 for i=1:length(ig); Ft(i,:)=Ttq*ig(i)*i0*eta/r;
6、end figure(4) hold on for i=1:length(ig); plot(ua(i,:), Ft(i,:),k); plot(ua(i,:), F(i,:),r); plot(ua(i,:), Ff(i,:),b); end hold on grid on xlabel(车速(km/h); ylabel(驱动力、行驶阻力(N); legend(驱动力Ft,行驶阻力Ff+Fw,滚动阻力Ff); title(驱动力-行驶阻力平衡图); % 汽车功率平衡图 %计算各档位功率 for i=1:length(ig); P(i,:)=Ft(i,:).*ua(i,:)/(3600*eta
7、);end %计算风阻阻力功率 for i=1:length(ig); Pw(i,:)=CD*A*ua(i,:).3/(76140*eta); end %计算滚动阻力功率 for i=1:length(ig); Pf(i,:)=M*g*f(i,:).*ua(i,:)/(3600*eta); end %计算总阻力功率 for i=1:length(ig); Pz(i,:)=Pw(i,:)+Pf(i,:);end figure(5) hold on for i=1:length(ig); plot(ua(i,:), P(i,:),k); plot(ua(i,:), Pz(i,:),r); end
8、hold on grid on xlabel(车速(km/h); ylabel(发动机功率、阻力功率(kW); legend(发动机功率P,阻力功率Pz,Location,NorthWest); title(功率平衡图); % 动力特性图(动力因数图) for i=1:length(ig); D(i,:)= (Ft(i,:)- Fw(i,:)/M/g; end figure(6) hold on for i=1:length(ig); plot(ua(i,:), D(i,:),k); plot(ua(i,:), f(i,:),r); end hold on grid on xlabel(车速(
9、km/h); ylabel(动力因数D); legend(动力因数D,滚动阻力系数f); title(动力特性图); % 爬坡度曲线图 for i=1:length(ig); I(i,:)= (tan(asin(Ft(i,:)-(Ff(i,:)+Fw(i,:)/(M*g)*100; end figure(7) hold on for i=1:length(ig); if i=1 plot(ua(i,:),I(i,:),r); else plot(ua(i,:),I(i,:),k); end end hold on grid on xlabel(车速(km/h); ylabel(最大爬坡度(%)
10、); legend(挡,高速档); title(爬坡度曲线图); % 加速度曲线图 deta=1+1/M*4*Iw/r2+1/M*If*ig.2*i02*eta/r2; for i=1:length(ig); a(i,:)=(Ft(i,:)-Ff(i,:)-Fw(i,:)./deta(i)/M; if i=5 for j=1:length(n)if a(i,j)=ua(i,length(n) flag(i)=j; break; end end ad1=ad1 b(i+1,j:length(n); ad2=ad2 ua(i+1,j:length(n); end figure(10) hold o
11、n plot(ad2,ad1,k); hold on grid onxlabel(车速(km/h); ylabel(加速度倒数1/a); legend(加速度倒数1/a曲线,Location,NorthWest); title(加速度倒数曲线图); axis(0 120 0 10)% 加速时间曲线 k=length(n); for i=1:length(ig); t(i,1)=0; for j=2:k t(i,j)=abs(ua(i,j)-ua(i,j-1)*(b(i,j)+b(i,j-1)/2; endend for i=1:length(ig); for j=1:k at(i,j)=sum
12、(t(i,1:j)/3.6; end endtotalat=at(1,:); for i=1:(length(ig)-1); for j=flag(i):k totalat=totalat totalat(length(totalat)+t(i+1,j)/3.6; end end figure(11) hold on plot(totalat,ad2,k);hold on grid on xlabel(时间(s));ylabel(车速(km/h); legend(加速时间,Location,NorthWest); title(加速时间曲线图); axis(0 100 0 120) 专心-专注-专业