搜索
您的当前位置:首页正文

汽车理论习题1-matlab

来源:爱go旅游网


《汽车理论》习题

一、确定一轻型货车的动力性能。

1) 绘制汽车驱动力与行驶阻力平衡图; 2) 求汽车最高车速与最大爬坡度;

3) 绘制汽车行驶加速度倒数曲线;用计算机求汽车用Ⅱ档起步加速行驶至 70km/h所需的加速时间。 已知数据略。(参见《汽车理论》第一章习题) 解题程序如下:用Matlab语言

m1=2000; m2=1800; mz=3880;

g=9.81; r=0.367; CdA=2.77; f=0.013; nT=0.85; ig=[5.56 2.769 1.644 1.00 0.793]; i0=5.83;

If=0.218; Iw1=1.798; Iw2=3.598; #输入已知参数 Iw=2*Iw1+4*Iw2; for i=1:69

n(i)=(i+11)*50;

Ttq(i)=-19.313+295.27*(n(i)/1000)-165.44*(n(i)/1000)^2+40.874*(n(i)/1000)^3-3.8445*(n(i)/1000)^4;

end #从600~4000rpm油拟合公式计算发动机转距 for j=1:5 for i=1:69

Ft(i,j)=Ttq(i)*ig(j)*i0*nT/r; ua(i,j)=0.377*r*n(i)/(ig(j)*i0); Fz(i,j)=CdA*ua(i,j)^2/21.15+mz*g*f; end

end #计算各档位下的驱动力和行驶阻力 plot(ua,Ft,ua,Fz)

title('汽车驱动力与行驶阻力平衡图'); xlabel('ua(km/h)');

ylabel('Ft(N)'); #作汽车驱动力与行驶阻力平衡图

for k=1:175

n1(k)=3300+k*0.1;

Ttq(k)=-19.313+295.27*(n1(k)/1000)-165.44*(n1(k)/1000)^2 +40.874*(n1(k)/1000)^33.8445*(n1(k)/1000)^4; Ft(k)=Ttq(k)*ig(5)*i0*nT/r; ua(k)=0.377*r*n1(k)/(ig(5)*i0); Fz(k)=CdA*ua(k)^2/21.15+mz*g*f; E(k)=abs((Ft(k)-Fz(k)));

end #从3300rpm开始以0.1rpm为步长搜索直到找到 for k=1:175 #驱动力与行驶阻力之差绝对值最小点(Ⅴ档处)

if(E(k)==min(E)) #通过其他检验程序可估计出该点大致位置(3310rpm附近) disp('汽车最高车速='); disp(ua(k));

disp('km/h');

end #输出结果 end

for p=1:150 #从2000rpm开始以0.5为步长搜索找驱动力 n2(p)=2000+p*0.5; #与行驶阻力之差最大点(Ⅰ档处)

Ttq(p)=-19.313+295.27*(n2(p)/1000)-165.44*(n2(p)/1000)^2+40.874*(n2(p)/1000)^3-3.8445*(n2(p)/1000)^4; Ft(p)=Ttq(p)*ig(1)*i0*nT/r; ua(p)=0.377*r*n2(p)/(ig(1)*i0); Fz(p)=CdA*ua(p)^2/21.15+mz*g*f; af(p)=asin((Ft(p)-Fz(p))/(mz*g));

end #通过其他检验程序可估计出该点大致位置(2000rpm附近) for p=1:150

if(af(p)==max(af)) i=tan(af(p));

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

for i=1:69 #开始计算绘制加速度倒数曲线所需数据 n(i)=(i+11)*50;

Ttq(i)=-19.313+295.27*(n(i)/1000)-165.44*(n(i)/1000)^2+40.874*(n(i)/1000)^3-3.8445*(n(i)/1000)^4; end for j=1:5 for i=1:69

deta=1+Iw/(mz*r^2)+If*ig(j)^2*i0^2*nT/(mz*r^2); ua(i,j)=0.377*r*n(i)/(ig(j)*i0);

a(i,j)=(Ttq(i)*ig(j)*i0*nT/r-CdA*ua(i,j)^2/21.15 -mz*g*f)/(deta*mz); if(a(i,j)<=0) a(i,j)=a(i-1,j); end

if(a(i,j)>0.05) #剔除加速度值小于0.05的数据 b1(i,j)=a(i,j); u1(i,j)=ua(i,j); else

b1(i,j)=a(i-1,j); u1(i,j)=ua(i-1,j); end

b(i,j)=1/b1(i,j); end end

x1=u1(:,1);y1=b(:,1);

x2=u1(:,2);y2=b(:,2); x3=u1(:,3);y3=b(:,3); x4=u1(:,4);y4=b(:,4); x5=u1(:,5);y5=b(:,5);

plot(x1,y1,x2,y2,x3,y3,x4,y4,x5,y5); title('加速度倒数曲线'); axis([0 120 0 30]); xlabel('ua(km/h)');

ylabel('1/aj'); #作加速度倒数曲线

for i=1:69 #从作出的加速度倒数曲线知,各档之间无交点 A=ua(i,3)-ua(69,2); #因此换档时刻按低档最高转速对应的车速计 if (A<1&A>0) j=i; end

B=ua(i,4)-ua(69,3); if(B<2&B>0) k=i; end

if(ua(i,4)<=70) m=i; end

end #以上是计算三个换档时刻

t=ua(1,2)*b(1,2); #开始计算加速时间,这里是以二档起步得到的原始时间 for p1=2:69

t1(p1)=(ua(p1,2)-ua(p1-1,2))*(b(p1,2)+b(p1-1,2))*0.5; t=t+t1(p1);

end #为减小计算误差,采用梯形算法累加,以下均是 for p2=j:69

t2(p2)=(ua(p2,3)-ua(p2-1,3))*(b(p2,3)+b(p2-1,3))*0.5; t=t+t2(p2); end

for p3=k:m

t3(p3)=(ua(p3,4)-ua(p3-1,4))*(b(p3,4)+b(p3-1,4))*0.5; t=t+t3(p3); end

t=t+(ua(j,3)-ua(69,2))*b(69,2)+(ua(k,4)-ua(69,3))*b(69,3) +(70-ua(m,4))*b(m,4); #加上了换档处未计算的那部分时间 tz=t/3.6; #换算单位 disp('加速时间='); disp(tz);

disp('s'); #输出计算结果

计算结果及图形:

汽车最高车速=99.0679km/h

汽车最大爬坡度=0.3518

1/aj

加速时间=29.0585s 14000 Ft1 12000 10000 8000 Ft2 6000 4000 2000 0 020 30 25 20 Ft(N) Æû³µÇý¶¯Á¦ÓëÐÐÊ»×èÁ¦Æ½ºâͼFt3Ft4Ff+FwFt54060Ua(km/h)80100120¼ÓËٶȵ¹ÊýÇúÏßͼ151055µµ3µµ4µµ00204060ua(km/h)80100120二、计算与绘制题1 中货车的1)汽车功率平衡图;

2)最高档与次高档的等速百公里油耗曲线。 已知数据略。(参见《汽车理论》二版P238页,习题第二章第一题) 解题程序如下:用Matlab语言

m1=2000; m2=1800; mz=3880; g=9.81; r=0.367; CdA=2.77; f=0.013; nT=0.85; ig=[5.56 2.769 1.644 1.00 0.793];

i0=5.83; If=0.218; Iw1=1.798; Iw2=3.598; n1=[815 1207 1614 2012 2603 3006 3403 3804]; Iw=2*Iw1+4*Iw2;

nd=400; Qid=0.299; #输入已知参数

for j=1:5 for i=1:69 n(i)=(i+11)*50;

Ttq(i)=-19.313+295.27*(n(i)/1000)-165.44*(n(i)/1000)^2+40.874*(n(i)/1000)^3-3.8445*(n(i)/1000)^4; Pe(i)=n(i)*Ttq(i)/9549;

ua(i,j)=0.377*r*n(i)/(ig(j)*i0);

Pz(i,j)=(mz*g*f*ua(i,j)/3600.+CdA*ua(i,j)^3/76140.)/nT; end

end #计算各档功率机阻力功率 plot(ua,Pe,ua,Pz); title('功率平衡图)'); xlabel('ua(km/h)');

ylabel('Pe,Pz(kw)'); #作功率平衡图

for j=1:5 for i=1:8

Td(i)=-19.313+295.27*(n1(i)/1000.0)-165.44*(n1(i)/1000.0)^2+40.874*(n1(i)/1000.0)^3-3.8445*(n1(i)/1000.0)^4; Pd(i)=n1(i)*Td(i)/9549;

u(i,j)=0.377*n1(i)*r/(ig(j)*i0); end

end #计算在给定转速下的发动机功率

b(1)=0.17768*Pd(1)^4-5.8629*Pd(1)^3+72.379*Pd(1)^2-416.46*Pd(1)+1326.8; b(2)=0.043072*Pd(2)^4-2.0553*Pd(2)^3+36.657*Pd(2)^2-303.98*Pd(2)+1354.7; b(3)=0.0068164*Pd(3)^4-0.51184*Pd(3)^3+14.524*Pd(3)^2-189.75*Pd(3)+1284.4; b(4)=0.0018555*Pd(4)^4-0.18517*Pd(4)^3+7.0035*Pd(4)^2-121.59*Pd(4)+1122.9; b(5)=0.00068906*Pd(5)^4-0.091077*Pd(5)^3+4.4763*Pd(5)^2-98.893*Pd(5)+1141.0; b(6)=0.00035032*Pd(6)^4-0.05138*Pd(6)^3+2.8593*Pd(6)^2-73.714*Pd(6)+1051.2; b(7)=0.00028230*Pd(7)^4-0.047449*Pd(7)^3+2.9788*Pd(7)^2-84.478*Pd(7)+1233.9; b(8)=-0.000038568*Pd(8)^40.00075215*Pd(8)^3+0.71113*Pd(8)^245.291*Pd(8) +1129.7; #计算在给定转速下的燃油消耗率 u1=u(:,1)'; u2=u(:,2)';

u3=u(:,3)';

u4=u(:,4)'; u5=u(:,5)';

B1=polyfit(u1,b,3); B2=polyfit(u2,b,3); B3=polyfit(u3,b,3); B4=polyfit(u4,b,3);

B5=polyfit(u5,b,3); #根据计算得到的每档8个点拟合五条b~ua曲线 for q=1:69

bh(q,1)=polyval(B1,ua(q,1)); bh(q,2)=polyval(B2,ua(q,2)); bh(q,3)=polyval(B3,ua(q,3)); bh(q,4)=polyval(B4,ua(q,4)); bh(q,5)=polyval(B5,ua(q,5));

end #插值计算各档在对应转速下的燃油消耗率 for i=1:5 for q=1:69

Q(q,i)=Pz(q,i)*bh(q,i)/(1.02*ua(q,i)*7.05); #燃油的重度取为7.05N/L end #计算各档的百公里油耗 end

plot(ua(:,4),Q(:,4),ua(:,5),Q(:,5)); title('4档5档等速百公里油耗图'); xlabel('ua(km/h)');

ylabel('Qs(L/100km)'); #作4档5档等速百公里油耗图

¹¦ÂÊÆ½ºâͼ100908070Pe 2µµPe,Pz(kw)(Pf+Pw)/¦ÇPe 3µµPe 4µµPe 5µµ60504030201000Pe 1µµ204060ua(km/h)80100120 4µµ5µµµÈËٰٹ«ÀïÓͺÄͼ403530Qs(L/100km)255 µµ20154 µµ1050204060ua(km/h)80100120

因篇幅问题不能全部显示,请点此查看更多更全内容

Top