汽车理论matlab(独创版)

  • 格式:docx
  • 大小:495.34 KB
  • 文档页数:26

1 / 26

1.3

1)绘制汽车驱动力与行驶阻力平衡图

m=3800;g=9.8;r=0.367;f=0.013;CdA=2.77;i0=5.83;

If=0.218;Iw1=1.798;Iw2=3.598;Ig=[5.56 2.769 1.644 1.00 0.793];

L=3.2;a=1.947;hg=0.9;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;

%%%%%%%计算扭矩%%%%%%%%%%

Ft1=Tq*Ig(1)*i0*0.85/r;

Ft2=Tq*Ig(2)*i0*0.85/r;

Ft3=Tq*Ig(3)*i0*0.85/r;

Ft4=Tq*Ig(4)*i0*0.85/r;

Ft5=Tq*Ig(5)*i0*0.85/r;

%%%%%%%%%%%%%发动机各转速对应的车速%%%%%%%%%%%%%%%%%

ua1=0.377*r*n/Ig(1)/i0;

ua2=0.377*r*n/Ig(2)/i0;

ua3=0.377*r*n/Ig(3)/i0;

ua4=0.377*r*n/Ig(4)/i0;

ua5=0.377*r*n/Ig(5)/i0;

%%%%%%%%%%%%%行驶阻力计算%%%%%%%%%%%%%%%%%%%%%%%%%%%

ua0=0:150;

Fz=m*g*f+CdA*ua0.^2/21.15;

%%%%%%%%%%%%%%%驱动力-行驶阻力平衡图%%%%%%%%%%%%%%%%%%%

plot(ua1,Ft1,ua2,Ft2,ua3,Ft3,ua4,Ft4,ua5,Ft5,ua0,Fz,'b');

title('驱动力-行驶阻力平衡图');

xlabel('ua(km/s)');

ylabel('Ft(N)');

legend('Ft1','Ft2','Ft3','Ft4','Ft5','Ff+Fw')

2)求汽车最高车速,最大爬坡度及克服该坡度时相应的附着率

%%%%%%%%%%%%求最高车速%%%%%%%%%%%%%%%%%%%%%%%%%

[x,y]=ginput(1); 2 / 26

disp('汽车最高车速=');disp(x);disp('km/h');

%%%%%%%%%%%%求汽车的最大爬坡度%%%%%%%%%%%%%%%%

Ff=m*g*f;

Fw=CdA*ua1.^2/21.15;

imax=tan(asin(max(Ft1-Ff-Fw)/m/g));

disp('汽车最大爬坡度=');

disp(imax);

%%%%%%%%%%%%%求汽车的附着率%%%%%%%%%%%%%%%%

q=imax;

C2=q/(a/L+hg*q/L);

disp('假设后轮驱动,最大爬坡度相应的附着率=');

disp(C2);

C1=q/((L-a)/L-hg*q/L);

disp('假设前轮驱动,最大爬坡度相应的附着率=');

disp(C1);

3)绘制汽车行驶加速度倒数曲线,用图解积分法求汽车用2档起步加速行驶至70km/h的车速-时间曲线,或者用计算机求汽车用2档起步加速行驶至70km/h的加速时间

%%%%%%%%%%%%%%%%%加速时间曲线%%%%%%%%%%%%%%%%%%%%%%%%%

data1=1+(Iw1+Iw2)/(m*r^2)+(If*Ig(1)^2*i0^2*0.85)/(m*r^2);

data2=1+(Iw1+Iw2)/(m*r^2)+(If*Ig(2)^2*i0^2*0.85)/(m*r^2);

data3=1+(Iw1+Iw2)/(m*r^2)+(If*Ig(3)^2*i0^2*0.85)/(m*r^2);

data4=1+(Iw1+Iw2)/(m*r^2)+(If*Ig(4)^2*i0^2*0.85)/(m*r^2);

data5=1+(Iw1+Iw2)/(m*r^2)+(If*Ig(5)^2*i0^2*0.85)/(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; 3 / 26

Fw5=CdA*ua5.^2/21.15;

a1=1./((Ft1-Ff-Fw1)/(data1*m));

a2=1./((Ft2-Ff-Fw2)/(data2*m));

a3=1./((Ft3-Ff-Fw3)/(data3*m));

a4=1./((Ft4-Ff-Fw4)/(data4*m));

a5=1./((Ft5-Ff-Fw5)/(data5*m));

plot(ua1,a1,ua2,a2,ua3,a3,ua4,a4,ua5,a5);

axis([0 99 0 10]);

title('汽车的加速度倒数曲线');

xlabel('ua(km/h)');

ylabel('1/a');

gtext('1/a1');gtext('1/a2');gtext('1/a3');gtext('1/a4');gtext('1/a5');

%%%%%%%%%%%%%%%车速时间曲线%%%%%%%%%

u1=0.377*r*600./Ig/i0;

u2=0.377*r*4000./Ig/i0;

data=0*Ig;

for i=1:5

data(i)=1+(Iw1+Iw2)/(m*r^2)+(If*(Ig(i))^2*i0^2*0.85)/(m*r^2);

end

ua=6:0.01:99;N=length(ua);n=0;Tq=0;Ft=0;inv_a=0*ua;delta=0*ua;

Ff=m*g*f;

Fw=CdA*ua.^2/21.15;

for i=1:N

k=i;

if ua(i)<=u2(2)

n=ua(i)*(Ig(2)*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(2)*i0*0.85/r;

inv_a(i)=(data(2)*m)/(Ft-Ff-Fw(i)); 4 / 26

delta(i)=0.01*inv_a(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;

Ft=Tq*Ig(3)*i0*0.85/r;

inv_a(i)=(data(3)*m)/(Ft-Ff-Fw(i));

delta(i)=0.01*inv_a(i)/3.6;

elseif ua(i)<=u2(4)

n=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*0.85/r;

inv_a(i)=(data(4)*m)/(Ft-Ff-Fw(i));

delta(i)=0.01*inv_a(i)/3.6;

else

n=ua(i)*(Ig(5)*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(5)*i0*0.85/r;

inv_a(i)=(data(5)*m)/(Ft-Ff-Fw(i));

delta(i)=0.01*inv_a(i)/3.6;

end

a0=delta(1:k);

t(i)=sum(a0);

end

plot(t,ua);

axis([0 80 0 100]);

title('汽车2档原地起步换挡加速时间曲线');

xlabel('时间t(s)');

ylabel('速度ua(km/h)');

[x1,y1]=ginput(1);

disp('汽车加速时间=');disp(x1);disp('s'); 5 / 26

2.7

1)汽车功率平衡图

%%%%%%%%%%%%%%%%%功率平衡图%%%%%%%%%%%%%%%%%%%%%%%%%%

Pe1=Tq.*Ig(1)*i0.*ua1./(3600*r);

Pe2=Tq.*Ig(2)*i0.*ua2./(3600*r);

Pe3=Tq.*Ig(3)*i0.*ua3./(3600*r);

Pe4=Tq.*Ig(4)*i0.*ua4./(3600*r);

Pe5=Tq.*Ig(5)*i0.*ua5./(3600*r);

Pe=max(Pe1);

Pf=m*g*f*ua0/3600;

Pw=CdA*ua0.^3/76140;

P=(Pw+Pf)./0.85;

plot(ua1,Pe1,ua2,Pe2,ua3,Pe3,ua4,Pe4,ua5,Pe5,ua0,P,ua0,Pe);

axis([0 120 0 80]);

title('汽车功率平衡图');

xlabel('ua(km/h)');

ylabel('Pe(kw)');

gtext('1'),gtext('2'),gtext('3'),gtext('4'),gtext('5'),gtext('(Pf+Pw)/et'),gtext('Pe');