汽车理论课程设计报告---轻型货车动力性及燃料经济性计算分析[14页].doc
汽车理论课程设计报告
一、课程设计内容:
轻型货车动力性及燃料经济性计算分析
二、要求:
利用题1.1中的结构参数和发动机外特性(扭矩曲线)、题2.1中的负荷特性曲线,
计算并分析:
(1)汽车满载(空载),采用四档变速器,一档原地起步由3km/h 加速到80km/h ,
50.6,33.6,17.6,83.5,43.5,17.5,0.50=i 时的燃油经济性、加速时间;
(2)根据计算结果,绘制汽车满载、空载采用四档变速器,匹配不同主减速器时的燃油经济性-加速时间曲线;
(3)讨论和分析四档变速器分别匹配不同0i 值时,对汽车空载和满载性能的影响。
三、已知条件
发动机最低转速n min =600r/min ,最高转速n max =4000r/min 汽油发动机使用外特性的T q -n 曲线拟合公式:
4
32)1000(8445.3)1000(874.40)1000(44.165)1000(27.25913.19n n n n Tq -+-+-=
装载质量 2000kg 总质量 3880kg 车轮半径 0.367m 传动系机械效率 n T =0.85 滚动阻力系数 f=0.013 空气阻力系数×迎风面积 C D A=2.77m 2 飞轮转动惯量 I f =0.218kg ·m 2 二前轮转动惯量 I w1=1.798 kg ·m 2 四后轮转动惯量 I w2=3.598 kg ·m 2
变速器传动比
1挡 2挡 3挡 4挡 4挡变速器
6.09
3.09
1.71
1.00
主减速器传动比:i 0=5.0、5.17、5.43、5.83、6.17、6.33、6.50 轴距 L=3.2m 质心至前轴距离(满载) a=1.974m 质心高(满载) hg=0.9m
四、计算原理
(1)经济性(Matlab 编程原理)
先计算出各个i0时发动机转速nr ,根据外特性曲线中扭矩方程,计算发动机每个转速下发出最大功率时对应的转速Nmax (因为知道功率对转速的导数,导数为零时的转速中,必有Nmax ),再根据外特性计算发动机在此转速下能发出的最大功率Pmax1,并计算出此车速下阻力功率Pe 。情况一:.先将nr 与Nmax 比较,如果nr<=Nmax,再判断Pmax1与Pe ,如果Pmax1
将nr 与已知的各转速进行比较,nr 必介于某两个转速之间,进行线性插值,得出转速为nr 时的燃油消耗率。利用主减速比组成的矩阵,逐个计算nr ,重复上述步骤,则可计算出Qs 。加速阶段,阻力功率中多了加速阻力产生的功率,即Pe 变大,由于用稳态时某车速对应的燃油消耗率代替加速瞬态的情况,则加速阶段其余计算类似匀速阶段,Qa 可以求出。
怠速阶段,燃油消耗率计算如下:ts 为怠速阶段持续时间,Qi 为怠速阶段单位时间内燃油消耗,UB 为速度(mm 矩阵中下标)。
ts=(UB(mm)-UB(mm+1))/(3.6*A(mm+1));Qd=Qi*ts;Qq(jsxx)=(smqa+Qs+Qd)*100/miles Qd 可以求出。总的燃油消耗为
Qq=Qs+Qa+Qd.
(2)动力性
? 已知转速范围:最低转速600r/min 至最高转速4000r/min
由公式 0377.0i i rn
u g a = 可以算出不同主减速器传动比对应的各挡车速范围。
计算不同车速对应驱动力大小(利用for 循环计算3km/h-80km/h ) 已知车速u a0
r
i i u n g a 377.00
=
432)
1000
(8445.3)1000(874.40)1000(44.165)1000(27.25913.19n n n n Tq -+-+-=
r
i i T F T
o g q t η=
计算不同车速对应空气阻力大小 15
.212
a
D Au C Fw =
计算动力因数D
G
Fw
Ft D -=
计算旋转质量换算系数 21w w w I I I +=
2
2
02
2111r i i I m r I m T
g f w ηδ++=∑
加速度倒数计算
)
(1f D g du dt a -==δ 用C 语言编程计算各主减速器传动比对应的1到4挡加速度倒数曲线在其车速范围内没有交点。
汽车加速时间的计算
由运动学可知:
du a 1dt = ?A du ==?t
a
1t
因为加速度倒数曲线在各挡车速范围内没有交点,因此换挡时刻就是发动机达到最高 刻,汽车已具有起步档位的最低车速,利用图解积分法,计算加速度倒数曲线与车速围成的面积就得到加速时间。
五、计算结果
05010015005000
10000
15000
驱动力-行驶阻力平衡图
ua-km/h
F -N
Ft1Ft2
Ft3
Ft4Ff+Fw
020406080
0.51
1.52
2.5汽车的行驶加速度曲线ua-km/h
a -m /s 2
Ⅰ
Ⅱ
Ⅲ
Ⅳ0
5
10
汽车的行驶加速度倒数曲线Ⅰ
Ⅱ
Ⅲ
Ⅳ
050
100
汽车加速时间曲线
u a -k m /h
主减速器传动比
0i
5.0 5.17 5.43 5.83
6.17 6.33 6.50 加速时间(空载)
t/(s)
17.01 16.84 16.53 16.02 15.59 15.41 15.23 百公里油耗(空载) Qs/[L(100km)-1]
10.49
10.65
10.90
11.24
11.51
11.64
11.78
主减速器传动比
0i
5.0 5.17 5.43 5.83
6.17 6.33 6.50 加速时间(满载)
t/(s)
40.02 39.30 38.13 36.36 35.00 34.43 33.88 百公里油耗(满载) Qs/[L(100km)-1]
14.49
14.24
14.08
14.15
14.39
14.52
14.67
百公里油耗 Qs/[L(100km)-1]
六.
(1)误差分析
当计算转速与给定转速不等时,运用插值法计算对应的燃油消耗率,与实际情况之间有误差。在计算匀加速过程时,增加了加速阻力,发动机功率与车速之间关系已经改变。这样,利用拟合公式,重新对燃油消耗率进行计算,这样可以计算加速过程的燃油消耗率。但是,这种方法是对实际情况的一种近似,因为加速过程中,发动机处于瞬态过程,而此种方法是使用稳态时发动机负荷特性进行计算的。也就是把加速过程近似为一个加入加速阻力功率的匀速过程进行计算。这必然会产生误差。
(2)主减速器传动比影响分析
在图上可以发现,空载时,随着i0的增大,六工况百公里油耗也随之增大;这是由于当i0增大以后,在相同的行驶车速下,发动机所处的负荷率减小,也就是处在发动机燃油经济性不加的工
原地起步加速时间
原地起步加速时间
t(s)
况下,导致燃油经济性恶化。但是对于加速时间来说,随着i0的增加,加速时间有减小的趋势,动力性变好。满载时,随着主减速器传动比i0从5.0开始增加,燃油消耗先减小后增大,即经济性先短暂变好,然后恶化,加速时间则随着i0增加而减小,即动力性变好。
从上面的结果发现,i0的选择对汽车的动力性和经济性都有很大影响,而且这两方面的影响是互相矛盾的。汽车很大部分时间都是工作在直接档(对于有直接档的汽车来说),此时i0就是整个传动系的传动比。i0如果选择过大,则会造成发动机的负荷率下降,虽然提高了动力性,后备功率增加,而且在高速旋转的情况下,噪音比较大,燃油性不好;如果i0选择过小,则汽车的动力性减弱,但是负荷率增加,燃油经济性有所改善,但是发动机如果在极高负荷状态下持续工作,会产生很大震动,对发动机的寿命有所影响。因此应该对i0的影响进行两方面的计算与测量,然后再从中找出一个能够兼顾动力性和经济性的值。
发动机转速过低时,指示热效率低,机械效率虽然较高,但难以弥补,所以燃油消耗率也会增加。发动机转速过高时,机械效率降低明显,指示热效率也会降低,所以燃油消耗率降低。所以,发动机存在最佳转速,此时燃油经济性最好,但动力性未必理想。
另外,对于不同的变速器,也会造成对汽车的燃油经济性和动力性的影响。变速器的档位越多,则根据汽车行驶状况调整发动机的负荷率的可能性越大,可以让发动机经常处于在较高的负荷状态下工作,从而改善燃油经济性;但是对于汽车的动力性,更应该对具体的变速器比设置进行讨论。变速器与主减速器的速比应该进行适当的匹配,才能在兼顾动力性和经济性方面取得好的平衡。通常的做法是绘出不同变速器搭配不同的主减速器,绘制出燃油经济性——加速时间曲线,然后从中取优。
七、参考文献
1、《汽车理论》(第五版)余志生主编机械工业出版社;
2、《MA TLAB教程及实训》曹戈主编机械工业出版社;
附:程序设计(下面有c语言和matlab的程序)
3.MATLAB程序计算不同主减速比时百公里油耗b
m=3880;G=38024;r=0.367;n=0.85;f=0.013;CdA=2.77;If=0.218;
Iw1=1.798;Iw2=3.598;ig=1;pg=7;Qi=0.299;miles=1075;i0=6.50;
syms nrnr
PPee=(-3.8445/1000^4)*nrnr^5+(40.874/1000^3)*nrnr^4-(165.44/1000^2)*nrn
r^3+(295.27/1000)*nrnr^2-19.313*nrnr;
glds=diff(PPee,nrnr,1);
Nmax=solve(glds);
Nmax=double(Nmax);
Nmax=Nmax(2)
UA=[25,40,50];%速度矩阵,可变
S=[50,250,250];%距离矩阵,可变
N=[815,1207,1614,2012,2603,3006,3403,3804];%转速矩阵
B=[1326.8 -416.46 72.379 -5.8629 0.17768;
1354.7 -303.98 36.657 -2.0553 0.043072;
1284.4 -189.75 14.524 -0.51184 0.0068164;
1122.9 -121.59 7.0035 -0.18517 0.0018555;
1141.0 -98.893 4.4763 -0.091077 0.00068906;
1051.2 -73.714 2.8593 -0.05138 0.00035032;
1233.9 -84.478 2.9788 -0.047449 0.00028230;
1129.7 -45.291 0.71113 -0.00075215 -0.000038568];%拟合系数矩阵
I=[5.0 5.17 5.43 5.83 6.17 6.33 6.50];%主减速器传动比矩阵,可变
Qq=[];%空矩阵,存放各个主减速比时的百公里油耗,即最终结果
for jsxx=1:7 %计数变量,因为有7个主减速比,可变
Qs=0;
smqa=0;
Qd=0;
i0=I(jsxx);
%%%匀速行驶阶段燃油消耗计算
x=1:3; %匀速行驶阶段数目,可变
for k=x
ua=UA(1,k);
Pe=(G*f*ua/3600+CdA*ua*ua*ua/76140)/n;%匀速行驶阶段阻力功率
PE=[1;Pe;Pe*Pe;Pe*Pe*Pe;Pe*Pe*Pe*Pe];
BE=B*PE;%各给定转速下燃油消耗率矩阵
nr=ig*i0*ua/(0.377*r);
Tq1=-19.313+295.27*nr/1000-165.44*nr^2/10000+40.874*nr^3/1000^3-3.8445* nr^4/1000^4;%%%
Pmax1=9550*nr;%%%
if nr<=Nmax%最大功率对应的转速,由功率拟合曲线方程解出,可变%%%
if Pmax1 ig=1.71;%三挡传动比,可变 nr=ig*i0*ua/(0.377*r); else end else end j=1; be=0; while j<=8 && be==0 x1=nr-N(1,j); x2=nr-N(1,j+1); if x1*x2<0 x3=BE(j+1,1)-BE(j,1); x4=nr-N(1,j); x5=N(1,j+1)-N(1,j); x6=BE(j,1); be=x3*x4/x5+x6; else j=j+1; end end Qs=Pe*be*S(1,k)/(102*ua*pg)+Qs; end %%%匀速行驶阶段燃油消耗计算 %%%加速阶段燃油消耗率计算 UUA=[25 40];%各加速阶段初始速度矩阵 UB=[40 50 25];%各加速阶段最终速度矩阵及最后的速度 A=[0.25 0.2 0.36];%各加速阶段加速度矩阵 for mm=1:2 %mm为计数变量,根据加速阶段选取 ua=UUA(mm);ub=UB(mm);a=A(mm); t=1;s=0; deltaT=0.5/(3.6*a); delta=1+(Iw1+Iw2)/(m*r*r)+If*ig*ig*i0*i0*n/(m*r*r);%系数δ while ua<=ub Pe=(G*f*ua/3600+CdA*ua*ua*ua/76140+delta*m*ua*a/3600)/n;%加速阶段阻力功率PE=[1;Pe;Pe*Pe;Pe*Pe*Pe;Pe*Pe*Pe*Pe]; BE=B*PE;%各给定转速下燃油消耗率矩阵 nr=ig*i0*ua/(0.377*r);%转速 Tq2=-19.313+295.27*nr/1000-165.44*nr^2/10000+40.874*nr^3/1000^3-3.8445* nr^4/1000^4;%%% Pmax2=9550*nr;%%%%%%% if nr<=Nmax%最大功率对应的转速,由功率拟合曲线方程解出,可变%%% if Pmax2 ig=1.71;%三挡传动比,可变 nr=ig*i0*ua/(0.377*r); else end else end j=1; be=0; while j<=8 && be==0 x1=nr-N(1,j); x2=nr-N(1,j+1); if x1*x2<0 %判断转速介于哪两个转速之间 x3=BE(j+1,1)-BE(j,1); x4=nr-N(1,j); x5=N(1,j+1)-N(1,j); x6=BE(j,1); be=x3*x4/x5+x6; else j=j+1; end end Q(t)=Pe*be/(367.1*pg);%各个速度点对应的燃油消耗 t=t+1; ua=ua+0.5; end for l=1:(t-1) s=s+Q(l)*deltaT; end Qa=s-0.5*[Q(1)+Q(t-1)]*deltaT; smqa=smqa+Qa;%加速阶段总的燃油消耗 end %%%加速阶段燃油消耗率计算 %怠速阶段燃油消耗 ts=(UB(mm)-UB(mm+1))/(3.6*A(mm+1)); Qd=Qi*ts;%怠速阶段油耗 Qq(jsxx)=(smqa+Qs+Qd)*100/miles end 1.判断并计算加速度倒数曲线交点,确定换挡时刻并计算各i0下加速时间 #include void main() { int i,j,k,m,B; double ua0,nT=0.85,r=0.367; double ig[4]={6.09,3.09,1.71,1.0}; /*四档传动比数组定义并初始化*/ double i0[7]={5.0,5.17,5.43,5.83,6.17,6.33,6.50}; /*主减速器传动比数组定义并初始化*/ double n[4],T[4],Ft[4]; double Fw[4],CDA=2.77; double D[4],t=0.0; double If=0.218,Iw1=1.798,Iw2=3.598,Iw; double deta[4]; double g=9.80,f=0.013; double _a[4]; double ua11,ua12,ua21,ua22,ua31,ua32,ua41,ua42; double n1=600,n2=4000,ig1=6.09,ig2=3.09,ig3=1.71,ig4=1.00; printf("请输入汽车总质量:\n"); scanf("%d",&m); for(k=0;k<=6;k++) { printf("主减速器传动比i0=%f\n",i0[k]); ua11=(0.377*r*n1)/(ig1*i0[k]); ua12=(0.377*r*n2)/(ig1*i0[k]); ua21=(0.377*r*n1)/(ig2*i0[k]); ua22=(0.377*r*n2)/(ig2*i0[k]); ua31=(0.377*r*n1)/(ig3*i0[k]); ua32=(0.377*r*n2)/(ig3*i0[k]); ua41=(0.377*r*n1)/(ig4*i0[k]); ua42=(0.377*r*n2)/(ig4*i0[k]); B=0; /*B变量用于控制交点数计算结果的输出,并且保证只记录并输出两档之间的第一个交点,便于后续计算*/ for(j=3;j<=80;j++) /*以车速为条件循环,每次增加1km/h.计算i0下加速度倒数的交点情况*/ { ua0=j; for(i=0;i<=3;i++) /*以各个档位传动比为循环条件计算各档位加速度倒数交点情况*/ { n[i]=(ua0*ig[i]*i0[k])/(0.377*r); T[i]=-19.313+295.27*(n[i]/1000)-165.44*(n[i]/1000)*(n[i]/1000)+40.874*(n[i]/1000)*(n[i ]/1000)*(n[i]/1000)-3.8445*(n[i]/1000)*(n[i]/1000)*(n[i]/1000)*(n[i]/1000); /*????*/ Ft[i]=(T[i]*ig[i]*i0[k]*nT)/r; Fw[i]=(CDA*(ua0*ua0))/21.15; D[i]=(Ft[i]-Fw[i])/(m*g); Iw=Iw1+Iw2; deta[i]=1+Iw/(m*r*r)+(If*ig[i]*ig[i]*i0[k]*i0[k]*nT)/(m*r*r); _a[i]=deta[i]/(g*(D[i]-f)); } if((_a[1]-_a[0]<0.01)&&(ua0>ua11)&&(ua0 {printf("一二档加速度倒数曲线有交点(取第一个):_a1=_a2=%f,ua0=%f\n",_a[0],ua0); B=1;ua12=ua0;} if((_a[2]-_a[1]<0.01)&&(ua0>ua21)&&(ua0 {printf("二三档加速度倒数曲线有交点(取第一个):_a2=_a3=%f,ua0=%f\n",_a[1],ua0); B=1;ua22=ua0;} if((_a[3]-_a[2]<0.01)&&(ua0>ua31)&&(ua0 {printf("三四档加速度倒数曲线有交点(取第一个):_a3=_a4=%f,ua0=%f\n",_a[2],ua0); B=1;ua32=ua0;} } if(B<=0) printf(" 各个挡位之间加速度倒数曲线均无交点\n"); ua0=ua11; /*以下部分程序用于计算加速时间*/ t=0; for(j=0;j<10000000;j++) /*设定最大循环次数,与车速自加的精度有关*/ { for(i=0;i<=3;i++) /*各参数计算*/ { n[i]=(ua0*ig[i]*i0[k])/(0.377*r); T[i]=-19.313+295.27*(n[i]/1000)-165.44*(n[i]/1000)*(n[i]/1000)+40.874*(n[i]/1000)*(n[i ]/1000)*(n[i]/1000)-3.8445*(n[i]/1000)*(n[i]/1000)*(n[i]/1000)*(n[i]/1000); Ft[i]=(T[i]*ig[i]*i0[k]*nT)/r; Fw[i]=(CDA*ua0*ua0)/21.15; D[i]=(Ft[i]-Fw[i])/(m*g); /*各挡动力因数计算*/ Iw=Iw1+Iw2; deta[i]=1+Iw/(m*r*r)+(If*ig[i]*ig[i]*i0[k]*i0[k]*nT)/(m*r*r); _a[i]=deta[i]/(g*(D[i]-f)); } if((ua0>=3.0)&&(ua0<=ua12)) t=t+0.0001*_a[0]; /*判断ua0所属范围并计算加速时间*/ else if((ua0>ua12)&&(ua0<=ua22)) t=t+0.0001*_a[1]; else if((ua0>ua22)&&(ua0<=ua32)) t=t+0.0001*_a[2]; else if((ua0>ua32)&&(ua0<=80.0)) t=t+0.0001*_a[3]; ua0=ua0+0.0001; if(ua0>80) break; } printf(" 3km/h至80km/h加速时间 t=%f",t/3.6); /*3.6是速度单位换算的值*/ printf("\n"); } } 2.绘制加速度倒数曲线、加速时间曲线 function main(m,k) global G yitaT r f CdA If Iw1 g n=600:10:4000; Tq=-19.313+295.27*(n/1000)-165.44*(n/1000).^2+40.874*(n/1000).^3-3.8445*(n/1000).^4; g=9.8;G=m*g;yitaT=0.85;r=0.367;f=0.013; CdA=2.77;If=0.218;Iw1=1.798;global Iw2Iw2=3.598;global L L=3.2;global a a=1.947;global hg hg=0.9; global ig ig=[6.09 3.09 1.71 1.00]; global Ff Ff=G*f; global Ft1 Ft2 Ft3 Ft4 ua1 ua2 ua3 ua4 Ft1=Tq*ig(1)*k*yitaT/r; Ft2=Tq*ig(2)*k*yitaT/r; Ft3=Tq*ig(3)*k*yitaT/r; Ft4=Tq*ig(4)*k*yitaT/r; ua1=0.377*r*n/ig(1)/k; ua2=0.377*r*n/ig(2)/k; ua3=0.377*r*n/ig(3)/k; ua4=0.377*r*n/ig(4)/k; subplot(2,2,1) force() subplot(2,2,2) acc(m,k) subplot(2,2,3) ret(m,k) subplot(2,2,4) time(m,k) %*驱动力-行驶阻力平衡图 function force() ua=0:5:120;global Ff CdA Ft1 Ft2 Ft3 Ft4 ua1 ua2 ua3 ua4 Fw=CdA*ua.^2/21.15; Fz=Ff+Fw; plot(ua1,Ft1,ua2,Ft2,ua3,Ft3,ua4,Ft4,ua,Fz) title('驱动力-行驶阻力平衡图') xlabel('ua-km/h') ylabel('F-N') gtext('Ft1'),gtext('Ft2'),gtext('Ft3'),gtext('Ft4'),gtext('Ff+Fw') %一档最大爬坡度% %Ftt=Ft1-Fz; %imax=tan(asin(max(Ftt/G))); %imax; %行驶加速度曲线,加速度倒数曲线图% function acc(m,k) global yitaT r CdA If Iw1 Iw2 ig Ft1 Ft2 Ft3 Ft4 ua1 ua2 ua3 ua4 Ff deta1=1+(Iw1+Iw2)/(m*r^2)+(If*(ig(1))^2*k^2*yitaT)/(m*r^2); deta2=1+(Iw1+Iw2)/(m*r^2)+(If*(ig(2))^2*k^2*yitaT)/(m*r^2); deta3=1+(Iw1+Iw2)/(m*r^2)+(If*(ig(3))^2*k^2*yitaT)/(m*r^2); deta4=1+(Iw1+Iw2)/(m*r^2)+(If*(ig(4))^2*k^2*yitaT)/(m*r^2); Fw1=CdA*ua1.^2/21.15; 皮匠网—开放、共享、免费的咨询方案报告文库 咨询人士学习成长与交流平台 Fw2=CdA*ua2.^2/21.15; Fw3=CdA*ua3.^2/21.15; Fw4=CdA*ua4.^2/21.15; a1=(Ft1-Ff-Fw1)/(deta1*m); a2=(Ft2-Ff-Fw2)/(deta2*m); a3=(Ft3-Ff-Fw3)/(deta3*m); a4=(Ft4-Ff-Fw4)/(deta4*m); plot(ua1,a1,ua2,a2,ua3,a3,ua4,a4) axis([0 99 0 2.5]) title('汽车的行驶加速度曲线') xlabel('ua-km/h') ylabel('a-m/s^2') gtext('Ⅰ'), gtext('Ⅱ'), gtext('Ⅲ'), gtext('Ⅳ'), function ret(m,k) global yitaT r CdA If Iw1 Iw2 ig Ft1 Ft2 Ft3 Ft4 ua1 ua2 ua3 ua4 Ff deta1=1+(Iw1+Iw2)/(m*r^2)+(If*(ig(1))^2*k^2*yitaT)/(m*r^2); deta2=1+(Iw1+Iw2)/(m*r^2)+(If*(ig(2))^2*k^2*yitaT)/(m*r^2); deta3=1+(Iw1+Iw2)/(m*r^2)+(If*(ig(3))^2*k^2*yitaT)/(m*r^2); deta4=1+(Iw1+Iw2)/(m*r^2)+(If*(ig(4))^2*k^2*yitaT)/(m*r^2); Fw1=CdA*ua1.^2/21.15; Fw2=CdA*ua2.^2/21.15; Fw3=CdA*ua3.^2/21.15; Fw4=CdA*ua4.^2/21.15; a1=(Ft1-Ff-Fw1)/(deta1*m);inv_a1=1./a1; a2=(Ft2-Ff-Fw2)/(deta2*m);inv_a2=1./a2; a3=(Ft3-Ff-Fw3)/(deta3*m);inv_a3=1./a3; a4=(Ft4-Ff-Fw4)/(deta4*m);inv_a4=1./a4; plot(ua1,inv_a1,ua2,inv_a2,ua3,inv_a3,ua4,inv_a4) axis([0 99 0 10]) title('汽车的行驶加速度倒数曲线') xlabel('ua-km/h') gtext('Ⅰ'), gtext('Ⅱ'), gtext('Ⅲ'), gtext('Ⅳ'), %加速时间曲线图% function time(m,k) global g G yitaT r f CdA i0 If Iw1 Iw2 L a hg ig nmin=600;nmax=4000; u1=0.377*r*nmin./ig/k; u2=0.377*r*nmax./ig/k; deta=0*ig; for i=1:4 deta(i)=1+(Iw1+Iw2)/(m*r^2)+(If*(ig(i))^2*k^2*yitaT)/(m*r^2); end 皮匠网—开放、共享、免费的咨询方案报告文库 咨询人士学习成长与交流平台 deta_u=0.5; ua=3:deta_u:80; N=length(ua);n=0;Tq=0;Ft=0;inv_a=0*ua;delta=0*ua; Ff=G*f; Fw=CdA*ua.^2/21.15; for i= 1:N j=i; if ua(i)<=u2(1) n=ua(i)*(ig(1)*k/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(1)*k*yitaT/r; inv_a(i)=(deta(1)*m)/(Ft-Ff-Fw(i)); delta(i)=deta_u*inv_a(i)/3.6; elseif ua(i)<=u2(2) n=ua(i)*(ig(2)*k/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(2)*k*yitaT/r; inv_a(i)=(deta(2)*m)/(Ft-Ff-Fw(i)); delta(i)=deta_u*inv_a(i)/3.6; elseif ua(i)<=u2(3) n=ua(i)*(ig(3)*k/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(3)*k*yitaT/r; inv_a(i)=(deta(3)*m)/(Ft-Ff-Fw(i)); delta(i)=deta_u*inv_a(i)/3.6; else n=ua(i)*(ig(4)*k/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)*k*yitaT/r; inv_a(i)=(deta(4)*m)/(Ft-Ff-Fw(i)); delta(i)=deta_u*inv_a(i)/3.6; end a=delta(1:j); t(i)=sum(a); end T=t(N) plot(t,ua);grid; axis([0 60 0 100]) title('汽车加速时间曲线') xlabel('t-s') ylabel('ua-km/h')