文档库 最新最全的文档下载
当前位置:文档库 › 汽车理论课后习题Matlab程序 2

汽车理论课后习题Matlab程序 2

汽车理论课后习题Matlab程序 2
汽车理论课后习题Matlab程序 2

1.3 确定一轻型货车的动力性能(货车可装用4挡或5挡变速器,任选 其中的一种进行整车性能计算):

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

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

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

轻型货车的有关数据:

汽油发动机使用外特性的Tq-n 曲线的拟合公式为

234

19.313295.27()165.44()40.874() 3.8445()1000100010001000

q n n n n T =-+-+-

式中,Tq 为发动机转矩(N?m );n 为发动机转速(r/min )。 发动机的最低转速n min =600r/min,最高转速n max =4000r/min 。 装载质量 2000kg 整车整备质量 1800kg 总质量 3880kg 车轮半径 0.367m 传动系机械效率 ηt =0.85 滚动阻力系数 f =0.013 空气阻力系数×迎风面积 C D A =2.77m 2 主减速器传动比 i 0=5.83

飞轮转动惯量 I f =0.218kg?m 2 二前轮转动惯量 I w1=1.798kg?m 2 四后轮转动惯量 I w2=3.598kg?m 2

质心至前轴距离(满载) a=1.974m 质心高(满载) hg=0.9m

解:Matlab 程序:

(1) 求汽车驱动力与行驶阻力平衡图和汽车最高车速程序: 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;

m=3880;g=9.8;nmin=600;nmax=4000; G=m*g;

ig=[5.56 2.769 1.644 1.00 0.793];nT=0.85;r=0.367;f=0.013;CDA=2.77;i0=5.83; L=3.2;a=1.947;hg=0.9;If=0.218;Iw1=1.798;Iw2=3.598; Ft1=Tq*ig(1)*i0*nT/r; Ft2=Tq*ig(2)*i0*nT/r; Ft3=Tq*ig(3)*i0*nT/r;

Ft4=Tq*ig(4)*i0*nT/r;

Ft5=Tq*ig(5)*i0*nT/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;

ua=[0:5:120];

Ff=G*f;

Fw=CDA*ua.^2/21.15;

Fz=Ff+Fw;

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

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

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

ylabel('Ft(N)');

gtext('Ft1'),gtext('Ft2'),gtext('Ft3'),gtext('Ft4'),gtext('Ft5'),gtext('Ff+Fw'); zoom on;

[x,y]=ginput(1);

zoom off;

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

汽车最高车速=

99.3006

km/h

(2)求汽车最大爬坡度程序:

n=[600:10:4000];

Tq=-19.313+295.27*(n/1000)-165.44*(n/1000).^2+40.874*(n/1000).^3-3.8445*(n/10 00).^4;

m=3880;g=9.8;nmin=600;nmax=4000;

G=m*g;

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

L=3.2;a=1.947;hg=0.9;If=0.218;Iw1=1.798;Iw2=3.598;

Ft1=Tq*ig(1)*i0*nT/r;

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

Ff=G*f;

Fw1=CDA*ua1.^2/21.15;

Fz1=Ff+Fw1;

Fi1=Ft1-Fz1;

Zoom on;

imax=100*tan(asin(max(Fi1/G)));

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

disp(imax);

disp('%');

汽车最大爬坡度=

35.2197%

(3)求最大爬坡度相应的附着率和求汽车行驶加速度倒数曲线程序:

clear

n=[600:10:4000];

Tq=-19.313+295.27*(n/1000)-165.44*(n/1000).^2+40.874*(n/1000).^3-3.8445*(n/10 00).^4;

m=3880;g=9.8;nmin=600;nmax=4000;

G=m*g;

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

L=3.2;a=1.947;hg=0.9;If=0.218;Iw1=1.798;Iw2=3.598;

Ft1=Tq*ig(1)*i0*nT/r;

Ft2=Tq*ig(2)*i0*nT/r;

Ft3=Tq*ig(3)*i0*nT/r;

Ft4=Tq*ig(4)*i0*nT/r;

Ft5=Tq*ig(5)*i0*nT/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;

Fw1=CDA*ua1.^2/21.15;

Fw2=CDA*ua2.^2/21.15;

Fw3=CDA*ua3.^2/21.15;

Fw4=CDA*ua4.^2/21.15;

Fw5=CDA*ua5.^2/21.15;

Ff=G*f;

deta1=1+(Iw1+Iw2)/(m*r^2)+(If*ig(1)^2*i0^2*nT)/(m*r^2); deta2=1+(Iw1+Iw2)/(m*r^2)+(If*ig(2)^2*i0^2*nT)/(m*r^2); deta3=1+(Iw1+Iw2)/(m*r^2)+(If*ig(3)^2*i0^2*nT)/(m*r^2); deta4=1+(Iw1+Iw2)/(m*r^2)+(If*ig(4)^2*i0^2*nT)/(m*r^2); deta5=1+(Iw1+Iw2)/(m*r^2)+(If*ig(5)^2*i0^2*nT)/(m*r^2); a1=(Ft1-Ff-Fw1)/(deta1*m);ad1=1./a1;

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

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

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

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

plot(ua1,ad1,ua2,ad2,ua3,ad3,ua4,ad4,ua5,ad5);

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'); a=max(a1);

af=asin(max(Ft1-Ff-Fw1)/G);

C=tan(af)/(a/L+hg*tan(af)/L);

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

disp(C);

假设后轮驱动,最大爬坡度相应的附着率=

0.4219

(4) >>clear

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;

G=m*g; ig=[5.56 2.769 1.644 1.00 0.793];

nmin=600;nmax=4000;

u1=0.377*r*nmin./ig/i0;

u2=0.377*r*nmax./ig/i0;

deta=0*ig;

for i=1:5

deta(i)=1+(Iw1+Iw2)/(m*r^2)+(If*(ig(i))^2*i0^2*nT)/(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=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/100 0)^4;

Ft=Tq*ig(2)*i0*nT/r;

inv_a(i)=(deta(2)*m)/(Ft-Ff-Fw(i));

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/100 0)^4;

Ft=Tq*ig(3)*i0*nT/r;

inv_a(i)=(deta(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/100 0)^4;

Ft=Tq*ig(4)*i0*nT/r;

inv_a(i)=(deta(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/100

0)^4;

Ft=Tq*ig(5)*i0*nT/r;

inv_a(i)=(deta(5)*m)/(Ft-Ff-Fw(i)); delta(i)=0.01*inv_a(i)/3.6; end

a=delta(1:k); t(i)=sum(a); end

plot(t,ua);

axis([0 80 0 100]);

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

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

ans =

25.8223 70.0737 25.7467 70.0737

所以汽车2档原地起步换挡加速行驶至70km/h 的加速时间约为25.8s

2.7已知货车装用汽油发动机的负荷特性与万有特性。负荷特性曲线的拟合公式

为:4

4332210e e e e P B P B P B P B B b ++++=

其中,b 为燃油消耗率[g/(kW?h)];Pe 为发动机净功率(kW );拟合式中的系数随转速n 变化。怠速油耗s mL Q id /299.0=(怠速转速400r/min )。

计算与绘制题1.3中货车的

1)汽车功率平衡图。

2)最高档与次高档的等速百公里油耗曲线。或利用计算机求货车按JB3352-83规定的六工况循环行驶的百公里油耗。计算中确定燃油消耗值b时,若发动机转速与负荷特性中给定的转速不相等,可由相邻转速的两根曲线用插值法求得。

解:Matlab程序:

(1)汽车功率平衡图程序:

clear

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;

m=3880;g=9.8;

G=m*g;

ig=[5.56 2.769 1.644 1.00 0.793];

nT=0.85;r=0.367;f=0.013;CDA=2.77;i0=5.83;

L=3.2;a=1.947;hg=0.9;If=0.218;Iw1=1.798;Iw2=3.598;

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;

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);

ua=[0:0.35:119];

Ff=G*f;

Fw=CDA*ua.^2/21.15;

Pf=Ff*ua/3600;

Pw=Fw.*ua/3600;

Pe0=(Pf+Pw)./nT;

Pe=max(Pe1);

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

axis([0 119 0 100]);

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

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

ylabel('Pe(kw)');

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

(2)最高档与次高档的等速百公里油耗曲线程序:

clear

n=600:1:4000;

m=3880;g=9.8;

G=m*g;

ig=[5.56 2.769 1.644 1.00 0.793];

nT=0.85;r=0.367;f=0.013;CDA=2.77;i0=5.83;

L=3.2;a=1.947;hg=0.9;If=0.218;Iw1=1.798;Iw2=3.598;

n0=[815 1207 1614 2012 2603 3006 3403 3804];

B00=[1326.8 1354.7 1284.4 1122.9 1141.0 1051.2 1233.9 1129.7];

B10=[-416.46 -303.98 -189.75 -121.59 -98.893 -73.714 -84.478 -45.291];

B20=[72.379 36.657 14.524 7.0035 4.4763 2.8593 2.9788 0.71113];

B30=[-5.8629 -2.0553 -0.51184 -0.18517 -0.091077 -0.05138 -0.047449 -0.00075215];

B40=[0.17768 0.043072 0.0068164 0.0018555 0.00068906 0.00035032 0.00028230 -0.000038568];

B0=spline(n0,B00,n);

B1=spline(n0,B10,n);

B2=spline(n0,B20,n);

B3=spline(n0,B30,n);

B4=spline(n0,B40,n);

Ff=G*f;

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

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

Fz4=Ff+CDA*(ua4.^2)/21.15;

Fz5=Ff+CDA*(ua5.^2)/21.15;

Pe4=Fz4.*ua4./(nT*3.6*1000);

Pe5=Fz5.*ua5./(nT*3.6*1000);

for i=1:1:3401

b4(i)=B0(i)+B1(i)*Pe4(i)+B2(i)*Pe4(i).^2+B3(i)*Pe4(i).^3+B4(i)*Pe4(i).

^4;

b5(i)=B0(i)+B1(i)*Pe5(i)+B2(i)*Pe5(i).^2+B3(i)*Pe5(i).^3+B4(i)*Pe5(i).

^4;

end

pg=7.0;

Q4=Pe4.*b4./(1.02.*ua4.*pg);

Q5=Pe5.*b5./(1.02.*ua5.*pg);

plot(ua4,Q4,ua5,Q5);

axis([0 100 10 30]);

title('最高档与次高档等速百公里油耗曲线');

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

ylabel('百公里油耗(L/100km)');

gtext('4'),gtext('5');

i为5.17、5.43、5.83、6.17、6.33 3.1改变1.3题中轻型货车的主减速器传动比,做出

i值对汽车性能的影响。

时的燃油经济性—加速时间曲线,讨论不同

解:Matlab程序:

主程序:

i0=[5.17,5.43,5.83,6.17,6.33]; %输入主传动比的数据

for i=1:1:5

y(i)=jiasushijian(i0(i)); %求加速时间

end

y;

for i=1:1:5

b(i)=youhao(i0(i)); %求对应i0的六工况百公里油耗

end

b;

plot(b,y,'+r')

hold on

b1=linspace(b(1),b(5),100);

y1=spline(b,y,b1); %三次样条插值

plot(b1,y1); %绘制燃油经济性-加速时间曲线

title('燃油经济性—加速时间曲线');

xlabel('百公里油耗(L/100km)');

ylabel('加速时间s');

gtext('i0=5.17'),gtext('i0=5.43'),gtext('i0=5.83'),gtext('i0=6.17'),gtext('i0=6.33');

子程序:

(1) function y=jiasushijian(i0) %求加速时间的处理函数

n1=linspace(0,5000); %先求各个档位的驱动力

nmax=4000;nmin=600;r=0.367;yita=0.85;CDA=2.77;f=0.013;G=(3880)*9.8;ig=[6.09 ,3.09,1.71,1.00];%i0=5.83

for i=1:1:4 %i为档数

uamax(i)=chesu(nmax,r,ig(i),i0); %计算各个档位的最大速度与最小速度

uamin(i)=chesu(nmin,r,ig(i),i0);

ua(i,:)=linspace(uamin(i),uamax(i),100);

n(i,:)=zhuansu(ua(i,:),r,ig(i),i0); %计算各个档位的转速范围Ttq(i,:)=zhuanju(n(i,:)); %求出各档位的转矩范围Ft(i,:)=qudongli(Ttq(i,:),ig(i),i0,yita,r); %求出驱动力

F(i,:)=f*G+CDA*(ua(i,:).^2)/21.15; %求出滚动阻力和空气阻力的和

delta(i,:)=1+(1.798+3.598+0.218*(ig(i)^2)*(i0^2)*yita)/(3880*r^2); %求转动质量换算系数

a(i,:)=1./(delta(i,:).*3880./(Ft(i,:)-F(i,:))); %求出加速度

F2(i,:)=Ft(i,:)-F(i,:);

end

%下面分各个档位进行积分,求出加速时间

temp1(1,:)=ua(2,:)/3.6;

temp1(2,:)=1./a(2,:);

n1=1;

for j1=1:1:100

if ua(3,j1)>max(ua(2,:))&&ua(3,j1)<=70

temp2(1,n1)=ua(3,j1)/3.6;

temp2(2,n1)=1./a(3,j1);

n1=n1+1;

end

end

n2=1;

for j1=1:1:100

if ua(4,j1)>max(ua(3,:))&&ua(4,j1)<=70;

temp3(1,n2)=ua(4,j1)/3.6;

temp3(2,n2)=1./a(4,j1);

n2=n2+1;

end

end

y=temp1(1,1)*temp1(2,1)+qiuji(temp1(1,:),temp1(2,:))+qiuji(temp2(1,:),temp2(2,:))+ qiuji(temp3(1,:),temp3(2,:));

end

(2) function ua=chesu(n,r,ig,i0); %由转速计算车速

ua=0.377*r.*n/(ig*i0);

(3) function n=zhuansu(ua,r,ig,i0); %求转速

n=ig*i0.*ua./(0.377*r);

end

(4) function y=zhuanju(n); %求转矩函数

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

(5) function y=qudongli(Ttq,ig,i0,yita,r); %求驱动力函数

y=(ig*i0*yita.*Ttq)/r;

end

(6) function p=qiuji(x0,y0) %求积分函数

n0=size(x0);

n=n0(2);

x=linspace(x0(1),x0(n),200) ;

y=spline(x0,y0,x); %插值

% figure;plot(x,y);

p=trapz(x,y) ;

end

(7) %求不同i0下的六工况油耗

function b=youhao(i0);

global f G CDA yita m r If Iw1 Iw2 pg B0 B1 B2 B3 B4 n %声明全局变量

ig=[6.09,3.09,1.71,1.00];r=0.367;

yita=0.85;CDA=2.77;f=0.013;%i0=5.83;

G=(3880)*9.8;If=0.218;Iw1=1.798;Iw2=3.598;m=3880; %汽车的基本参数设定n0=[815 1207 1614 2012 2603 3006 3403 3804];

B00=[1326.8 1354.7 1284.4 1122.9 1141.0 1051.2 1233.9 1129.7];

B10=[-416.46 -303.98 -189.75 -121.59 -98.893 -73.714 -84.478 -45.291];

B20=[72.379 36.657 14.524 7.0035 4.4763 2.8593 2.9788 0.71113];

B30=[-5.8629 -2.0553 -0.51184 -0.18517 -0.091077 -0.05138 -0.047449

-0.00075215];

B40=[0.17768 0.043072 0.0068164 0.0018555 0.00068906 0.00035032 0.00028230 -0.000038568];

n=600:1:4000;

B0=spline(n0,B00,n);

B1=spline(n0,B10,n);

B2=spline(n0,B20,n); %使用三次样条插值,保证曲线的光滑连续B3=spline(n0,B30,n);

B4=spline(n0,B40,n);

ua4=0.377*r.*n./(i0*ig(4)); %求出发动机转速范围内对应的III、IV档车速

F4=f*G+CDA*(ua4.^2)/21.15; %求出滚动阻力和空气阻力的和

P_fw4=F4.*ua4./(yita*3.6*1000); %求出阻力功率

for i=1:1:3401 %用拟合公式求出各个燃油消耗率

b4(i)=B0(i)+B1(i)*P_fw4(i)+B2(i)*(P_fw4(i))^2+B3(i)*(P_fw4(i))^3+B4(i)*(P_fw4( i))^4;

end

pg=7.06; %汽油的重度取7.06N/L

ua4_m=[25,40,50]; %匀速阶段的车速

s_m=[50,250,250]; %每段匀速走过的距离

b4_m=spline(ua4,b4,ua4_m); %插值得出对应速度的燃油消耗率

F4_m=f*G+CDA*(ua4_m.^2)/21.15; %车速对应的阻力

P_fw4_m=F4_m.*ua4_m./(yita*3.6*1000); %发动机功率

Q4_m=P_fw4_m.*b4_m.*s_m./(102.*ua4_m.*pg) ;

Q4_a1=jiasu(40,25,ig(4),0.25,ua4,i0);

Q4_a2=jiasu(50,40,ig(4),0.2,ua4,i0);

Qid=0.299;tid=19.3;s=1075;

Q_i=Qid*tid; %求出减速阶段的燃油消耗量

Q4all=(sum(Q4_m)+Q4_a1+Q4_a2+Q_i)*100/s; %IV档六工况百公里燃油消耗量

b=Q4all;

(8)加速阶段处理函数

function q=jiasu(umax,umin,ig,a,ua0,i0);

global f G CDA yita m r If Iw1 Iw2 pg B0 B1 B2 B3 B4 n; %i0 ;

ua1=umin:1:umax; %把速度范围以1km/h为间隔进行划分

delta=1+(Iw1+Iw2)/(m*r^2)+(If*ig^2*i0^2*yita)/(m*r^2);

P0=(G*f.*ua0./3600+CDA.*ua0.^3/76140+(delta*m.*ua0/3600)*a)/yita;

P=(G*f.*ua1/3600+CDA.*ua1.^3/76140+(delta*m.*ua1/3600)*a)/yita;

dt=1/(3.6*a) ; %速度每增加1km/h所需要的时间

for i=1:1:3401 %重新利用拟合公式求出b与ua的关系

b0(i)=B0(i)+B1(i)*P0(i)+B2(i)*(P0(i))^2+B3(i)*(P0(i))^3+B4(i)*(P0(i))^4; end

b1=interp1(ua0,b0,ua1); %插值出各个速度节点的燃油消耗率

Qt=P.*b1./(367.1.*pg); %求出各个速度节点的燃油消耗率

i1=size(Qt);

i=i1(2);

Qt1=Qt(2:i-1);

q=(Qt(1)+Qt(i))*dt./2+sum(Qt1)*dt; %求该加速阶段的燃油消耗量

4.3一中型货车装有前后制动器分开的双管路制动系,其有关参数如下:

2)求行驶车速Ua=30km/h,在 =0.80路面上车轮不抱死的制动距离。计算时取制

动系反应时间'2τ=0.02s ,制动减速度上升时间''

2τ=0.02s 。

3) 求制动系前部管路损坏时汽车的制动距离s ,制动系后部管路损坏时汽车的制动距离's 。

解:Matlab 程序:

(1) 求利用附着系数曲线和制动效率曲线程序: clear

k=4080;hgk=0.845;Lk=3.950;ak=2.10;betak=0.38;bk=Lk-ak;%空载时的参数 mm=9290;hgm=1.170;Lm=3.950;am=2.950;betam=0.38;bm=Lm-am;%满载时的参数

z=0:0.01:1.0; figure(1); fai=z;

fai_fk=betak*z*Lk./(bk+z*hgk);%空载时前轴的φf fai_fm=betam*z*Lm./(bm+z*hgm);%满载时前轴的φf fai_rk=(1-betak)*z*Lk./(ak-z*hgk);%空载时后轴的φr fai_rm=(1-betam)*z*Lm./(am-z*hgm);%满载时后轴的φr plot(z,fai_fk,'b--',z,fai_fm,'r',z,fai_rk,'b--',z,fai_rm,'r',z,fai,'k'); title('利用附着系数与制动强度的关系曲线'); xlabel('制动强度(z/g)'); ylabel('利用附着系数φ');

gtext('φr(空载)'),gtext('φr(满载)'),gtext('φ=z'),gtext('φf(空载)'),gtext('φf(满载)');

figure(2);

Efk=z./fai_fk*100;%空载时前轴的制动效率 Efm=z./fai_fm*100; Erk=z./fai_rk*100; Erm=z./fai_rm*100;

plot(fai_fk,Efk,'b',fai_fm,Efm,'r',fai_rk,Erk,'b',fai_rm,Erm,'r'); axis([0 1 0 100]);

title('前.后制动效率曲线'); xlabel('附着系数φ'); ylabel('制动效率%');

gtext('Ef'),gtext('Er'),gtext('Er'),gtext('满载'),gtext('空载');

(2)问和(3)问程序:

clear

mk=4080;hgk=0.845;Lk=3.950;ak=2.10;betak=0.38;bk=Lk-ak;%空载时的

参数

mm=9290;hgm=1.170;Lm=3.950;am=2.950;betam=0.38;bm=Lm-am;%满载

时的参数

z=0:0.01:1;

fai_fk=betak*z*Lk./(bk+z*hgk);%空载时前轴的φf

fai_fm=betam*z*Lm./(bm+z*hgm);%满载时前轴的φf

fai_rk=(1-betak)*z*Lk./(ak-z*hgk);%空载时后轴的φr

fai_rm=(1-betam)*z*Lm./(am-z*hgm);%满载时后轴的φr

Efk=z./fai_fk*100;%空载时前轴的制动效率

Efm=z./fai_fm*100;

Erk=z./fai_rk*100;

Erm=z./fai_rm*100;

t1=0.02;t2=0.02;ua0=30;fai=0.80;g=9.8;

ak1=Erk(81)*g*fai/100;

am1=Erm(81)*g*fai/100;

Sk1=(t1+t2/2)*ua0/3.6+ua0^2/(25.92*ak1);%制动距离

Sm1=(t1+t2/2)*ua0/3.6+ua0^2/(25.92*am1);

disp('空载时,汽车制动距离Sk1=');

disp(Sk1);

disp('满载时,汽车制动距离Sm1=');

disp(Sm1);

ak2=fai*g*ak/(Lk+fai*hgk);

am2=fai*g*am/(Lm+fai*hgm);

ak3=fai*g*bk/(Lk-fai*hgk);

am3=fai*g*bm/(Lk-fai*hgm);

Sk2=(t1+t2/2)*ua0/3.6+ua0^2/(25.92*ak2);%制动距离

Sm2=(t1+t2/2)*ua0/3.6+ua0^2/(25.92*am2);

Sk3=(t1+t2/2)*ua0/3.6+ua0^2/(25.92*ak3);

Sm3=(t1+t2/2)*ua0/3.6+ua0^2/(25.92*am3);

disp('空载时,前制动器损坏,汽车制动距离Sk2=');

disp(Sk2);

disp('满载时,前制动器损坏,汽车制动距离Sm2=');

disp(Sm2);

disp('空载时,后制动器损坏,汽车制动距离Sk3=');

disp(Sk3);

disp('满载时,后制动器损坏,汽车制动距离Sm3=');

disp(Sm3);

空载时,汽车制动距离Sk1=

7.8668

满载时,汽车制动距离Sm1=

5.6354

空载时,前制动器损坏,汽车制动距离Sk2= 10.0061

满载时,前制动器损坏,汽车制动距离Sm2= 7.5854

空载时,后制动器损坏,汽车制动距离Sk3= 8.0879

满载时,后制动器损坏,汽车制动距离Sm3= 13.5986

5.11二自由度轿车模型的有关参数如下:

总质量 m=1818.2kg

绕Oz 轴转动惯量 23885m kg I z ?= 轴距 L=3.048m 质心至前轴距离 a=1.463m 质心至后轴距离 b=1.585m

前轮总侧偏刚度 k 1=-62618N/rad 后轮总侧偏刚度 k 2=-110185N/rad 转向系总传动比 i=20 试求:

1) 稳定性因数K 、特征车速u ch 。 2)

稳态横摆角速度增益曲线

a s

r u -???δω、车速u=22.35m/s 时的转向灵敏度sw r δω

。 3)

静态储备系数S.M.,侧向加速度为0.4g 时的前、后轮侧偏角绝对值之差2

1αα-与转弯半径的比值R/R 0(R 0=15m)。

4)

车速u=30.56m/s 时,瞬态响应的横摆角速度波动的固有(圆)频率0ω、阻尼

比ζ、反应时间τ与峰值反应时间ε

解:Matlab 程序:

m=1818.2;Iz=3885;L=3.048;a=1.463;b=1.585;k1=-62618;k2=-110185; i=20;g=9.8;R0=15;u1=30.56; K=m*(a/k2-b/k1)/L^2;

Uch=(1/K)^(1/2);%特征车速 disp('稳定性因数(s^2/m^2)K='); disp(K);

disp('特征车速(m/s)Uch='); disp(Uch); u=0:0.05:30;

S=u./(L*(1+K*u.^2));%稳态横摆角速度增益

plot(u,S);

title('汽车稳态横摆角速度增益曲线');

xlabel('车速u(m/s)');

ylabel('稳态横摆角速度增益');

disp('u=22.35m/s时,转向灵敏度为');

disp(S(448));

SM=k2/(k1+k2)-a/L;

ay=0.4*g;

A=K*ay*L;

B=L/R0;

R=L/(B-A);

C=R/R0;%转弯半径比

disp('静态储备系数S.M.=');

disp(SM);

disp('侧向加速度为0.4g时前、后轮侧偏角绝对值之差(rad) a1-a2=');

disp(A);

disp('侧向加速度为0.4g时转弯半径比值R/R0=');

disp(C);

W0=L/u1*(k1*k2/(m*Iz)*(1+K*u1^2))^(1/2);%固有(圆)频率

D=(-m*(k1*a^2+k2*b^2)-Iz*(k1+k2))/(2*L*(m*Iz*k1*k2*(1+K*u1^2))^(1/2));%阻尼比

t=atan((1-D^2)^(1/2)/(-m*u1*a*W0/(L*k2)-D))/(W0*(1-D^2)^(1/2));%反应时间

E=atan((1-D^2)^(1/2)/D)/(W0*(1-D^2)^(1/2))+t;%峰值反应时间

disp('车速u=30.56m/s时的瞬态响应参数分别为:');

disp('横摆角速度波动的固有(圆)频率(rad)为');

disp(W0);

disp('阻尼比为');

disp(D);

disp('反应时间(s)为');

disp(t);

disp('峰值反应时间(s)为');

disp(E);

稳定性因数(s^2/m^2)K=

0.0024

特征车速(m/s)Uch=

20.6053

u=22.35m/s时,转向灵敏度为

3.3690

静态储备系数S.M.=

0.1576

侧向加速度为0.4g时前、后轮侧偏角绝对值之差(rad) a1-a2= 0.0281

侧向加速度为0.4g时转弯半径比值R/R0=

1.1608

车速u=30.56m/s时的瞬态响应参数分别为:

横摆角速度波动的固有(圆)频率(rad)为

5.5758

阻尼比为

0.5892

反应时间(s)为

0.1811

峰值反应时间(s)为

0.3899

6.5车身-车轮双质量系统参数:10,9,25.0,5.10====μγζHz f 。

“人体-座椅”系统参数:25.0,3==s s Hz f ζ。车速s m u /20=,路面不平度系数

()3801056.2m n G q -?=,参考空间频率n 0=0.1m -1。

计算时频率步长Hz f 2.0=?,计算频率点数180=N 。

1) 计算并画出幅频特性q z /1、12/z z 、2/z q 和均方根值谱

()f G z 1 、

()f G z 2 、()f G a 谱图。进一步计算aw w a z

z q L a 、、、、、σσσσ21 值 2) 改变“人体-座椅”系统参数:5.0~125.0,6~5.1==s s Hz f ζ。分析aw w L a 、值随s s f ζ、的变化。

3) 分别改变车身-车轮双质量系统参数:5.0~125.0,3~25.00==ζHz f ,

20~5,18~5.4==μγ。绘制G Fd fd z

/2

σσσ、、 三个响应量均方根值随以上四个系统参数变化的曲线。

解:Matlab 程序 (1)问

yps=0.25;%阻尼比δ gama=9;%刚度比γ mu=10;%质量比μ

fs=3;ypss=0.25;g=9.8;a0=10^(-6);f0=1.5;

ua=20;Gqn0=2.56*10^(-8);n0=0.1;detaf=0.2;N=180; f=detaf*[0:N];lamta=f/f0;lamtas=f/fs;Wf=0*f;

deta=((1-lamta.^2).*(1+gama-1/mu*lamta.^2)-1).^2+4*yps^2*lamta.^2.*(gama-(1/m u+1)*lamta.^2).^2;

z1_q=gama*sqrt(((1-lamta.^2).^2+4*yps^2*lamta.^2)./deta);

z2_z1=sqrt((1+4*yps^2*lamta.^2)./((1-lamta.^2).^2+4*yps^2*lamta.^2)); p_z2=sqrt((1+(2*ypss*lamtas).^2)./((1-lamtas.^2).^2+(2*ypss*lamtas).^2)); z2_q=gama*sqrt((1+4*yps^2*lamta.^2)./deta); p_q=p_z2.*z2_q;

jfg_Gqddf=4*pi^2*sqrt(Gqn0*n0^2*ua)*f; jfg_Gzdd1f=z1_q.*jfg_Gqddf; jfg_Gzdd2f=z2_q.*jfg_Gqddf; jfg_Gaf=p_q.*jfg_Gqddf;

sigmaqdd=sqrt(trapz(f,jfg_Gqddf.^2));%路面不平度加速度均方根值 sigmazdd1=sqrt(trapz(f,jfg_Gzdd1f.^2));%车轮加速度均方根值 sigmazdd2=sqrt(trapz(f,jfg_Gzdd2f.^2));%车身加速度均方根值

基于MATLAB的汽车平顺性的建模与仿真

(1) 基于MATLAB 的汽车平顺性的建模与仿真 车辆工程专硕1601 Z1604050 晨 1. 数学建模过程 1.1建立系统微分方程 如下图所示,为车身与车轮二自由度振动系统模型: 图中,m2为悬挂质量(车身质量);m1为非悬挂质量(车轮质量);K 为弹簧刚度;C 为减振器阻尼系数;Kt 为轮胎刚度;z1为车轮垂直位移;z2为车身垂直位移;q 为路面不平度。 车轮与车身垂直位移坐标为z1、z2,坐标原点选在各自的平衡位置,其运动方程为: 222121 ()()0m z C z z K z z +-+-=1112121()()()0t m z C z z K z z K z q +-+-+-=

(2) (3) (4) (5) (6) 1.2双质量系统的传递特性 先求双质量系统的频率响应函数,将有关各复振幅代入,得: 令: 232t A m j C K K ωω=-+++ 由式(2)得z 2-z 1的频率响应函数: 将式(4)代入式(3)得z 1-q 的频率响应函数: 式中: 下面综合分析车身与车轮双质量系统的传递特性。车身位移z 2对路面位移q 的频率响应函数,由式(4)及(5)两个环节的频率响应函数相乘得到: 2221()() z m j C K z j C K ωωω-++=+2111()()t t z m j C K K z j C K qK ωωω-+++=++1A j C K ω=+K C j m A ++-=ωω222212 122 z A j C K z m K j C A ωωω+==-++2321 N A A A =-212211=t t A K A K z z z A q z q A N N ==

matlab课后习题解答第二章

第2章符号运算 习题2及解答 1 说出以下四条指令产生的结果各属于哪种数据类型,是“双精度” 对象,还是“符号”符号对象 3/7+; sym(3/7+; sym('3/7+'); vpa(sym(3/7+) 〖目的〗 不能从显示形式判断数据类型,而必须依靠class指令。 〖解答〗 c1=3/7+ c2=sym(3/7+ c3=sym('3/7+') c4=vpa(sym(3/7+) Cs1=class(c1) Cs2=class(c2) Cs3=class(c3) Cs4=class(c4) c1 = c2 = 37/70 c3 = c4 = Cs1 = double Cs2 = sym Cs3 = sym Cs4 = sym 2 在不加专门指定的情况下,以下符号表达式中的哪一个变量被认 为是自由符号变量. sym('sin(w*t)'),sym('a*exp(-X)'),sym('z*exp(j*th)') 〖目的〗 理解自由符号变量的确认规则。 〖解答〗 symvar(sym('sin(w*t)'),1) ans = w symvar(sym('a*exp(-X)'),1)

ans = a symvar(sym('z*exp(j*th)'),1) ans = z 5求符号矩阵???? ??????=3332 31 232221 131211 a a a a a a a a a A 的行列式值和逆,所得结果应采用“子表达式置换”简洁化。 〖目的〗 理解subexpr 指令。 〖解答〗 A=sym('[a11 a12 a13;a21 a22 a23;a31 a32 a33]') DA=det(A) IA=inv(A); [IAs,d]=subexpr(IA,d) A = [ a11, a12, a13] [ a21, a22, a23] [ a31, a32, a33] DA = a11*a22*a33 - a11*a23*a32 - a12*a21*a33 + a12*a23*a31 + a13*a21*a32 - a13*a22*a31 IAs = [ d*(a22*a33 - a23*a32), -d*(a12*a33 - a13*a32), d*(a12*a23 - a13*a22)] [ -d*(a21*a33 - a23*a31), d*(a11*a33 - a13*a31), -d*(a11*a23 - a13*a21)] [ d*(a21*a32 - a22*a31), -d*(a11*a32 - a12*a31), d*(a11*a22 - a12*a21)] d = 1/(a11*a22*a33 - a11*a23*a32 - a12*a21*a33 + a12*a23*a31 + a13*a21*a32 - a13*a22*a31) 8(1)通过符号计算求t t y sin )(=的导数 dt dy 。(2)然后根据此结果,求- =0t dt dy 和2 π = t dt dy 。 〖目的〗 diff, limit 指令的应用。 如何理解运行结果。 〖解答〗 syms t

汽车理论课后习题Matlab程序

1.3确定一轻型货车的动力性能(货车可装用 4挡或5挡变速器,任选 其中的一种进行整车性能计算): 1) 绘制汽车驱动力与行驶阻力平衡图。 2) 求汽车最高车速,最大爬坡度及克服该坡度时相应的附着率。 3) 绘制汽车行驶加速度倒数曲线,用图解积分法求汽车用 2档起步加速行 驶至70km/h 的车速一时间曲线,或者用计算机求汽车用 2档起步加速行驶至 70km/h 的加速时间。 轻型货车的有关数据: 汽油发动机使用外特性的Tq-n 曲线的拟合公式为 19.313 295.27(孟o )165,44(^)2 40-874(^)3 环45為4 式中,Tq 为发动机转矩(N?m ) ;n 为发动机转速(r/min )。 发动 机的最低转速n min =600r/min,最高转速n max =4000r/min 。 装载质量 2000kg 整车整备质量 1800kg 总质量 3880kg 车轮半径 0.367m 传动系机械效率 n =0.85 滚动阻力系数 f=0.013 空气阻力系数泌风面积 C D A=2.77m 2 解:Matlab 程序: (1) 求汽车驱动力与行驶阻力平衡图和汽车最高车速程序: n=[600:10:4000]; Tq=-19.313+295.27*( n/1000)-165.44*(门/1000)八2+40.874*(门/1000)八3-3.8445*( n/10 00).A 4; m=3880;g=9.8; nmi n=600; nm ax=4000; G=m*g; ig=[5.56 2.769 1.644 1.00 0.793]; nT=0.85;r=0.367;f=0.013;CDA=2.77;i0=5.83; L=3.2;a=1.947;hg=0.9;lf=0.218;lw1= 1.798;Iw2=3.598; Ft 仁 Tq*ig(1)*i0* nT/r; Ft2=Tq*ig(2)*i0* nT/r; 主减速器传动比 飞轮转动惯量 二前轮转动惯量 四后轮转动惯量 i 0=5.83 l f =0.218kg?m I w1=1.798kg?nf I w2=3.598kg?m ig(数据如下表) 轴距 质心至前轴距离(满载) 质心高(满载) a=1.974m hg=0.9m

基于MATLAB的汽车振动控制仿真

摘要 机械振动主要是谐波,阻尼,强制三种。对于三个振动模型,列出了振动方程,然后给出了三个振动的初始条件。在模拟过程中产生的一系列速度和汽车行驶时候产生的振动,势能和机械能的三个功能可以通过MATLAB函数模拟,以随时间改变图像。然后,我们可以经过一系列的计算的出我们需要的函数方程和一些弹簧模拟图像,在后面可以进行一系列的导数计算,在MATLAB软件中可以画出不同的位移,汽车造成的损坏的函数图像,再通过在MATLAB的绘制,可以简单明细的看出汽车振动的能量变化。最后再比较不同的图像,可以得出不同的结果,可以进行汽车改良。就可以探索出最佳的方法来研究汽仿真。 关键词:简谐振动阻尼振动评价系数仿真软件。

Abstract Mechanical vibration is mainly harmonic, damping, forced three. For the three vibration models, the vibration equations are listed, and then the initial conditions for the three vibrations are given. The three functions produced during the simulation process and the three functions of vibration, potential energy and mechanical energy generated when the vehicle travels can be simulated by MATLAB functions to change the image over time. Then we can go through a series of calculations out of the functional equations we need and some of the spring simulations of the image, which can be followed by a series of derivative calculations that can be plotted in the MATLAB software for different displacements, , And then through the drawing in MATLAB, you can simply see the details of the car vibration energy changes. Finally compare the different images, you can get different results, you can improve the car. You can explore the best way to study the steam simulation. Keywords:simple harmonic oscillationdamping oscillationappraisement coefficientsimulation software.

matlab程序设计第三章课后习题答案

1. p138 第6题在同一坐标轴中绘制下列两条曲线并标注两曲线交叉点。 >> t=0:0.01:pi; >> x1=t; >> y1=2*x1-0.5; >> x2=sin(3*t).*cos(t); >> y2=sin(3*t).*sin(t); >> plot(x1,y1,'r-',x2,y2,'g-') >> axis([-1,2,-1.5,1]) >> hold on >> s=solve('y=2*x-0.5','x=sin(3*t)*cos(t)','y=sin(3*t)*sin(t)'); >> plot(double(s.x),double(s.y),'*'); 截图:

p366 第4题绘制极坐标曲线,并分析对曲线形状的影响。 function [ output_args ] = Untitled2( input_args ) %UNTITLED2 Summary of this function goes here % Detailed explanation goes here theta=0:0.01:2*pi; a=input('请输入a的值:'); b=input('请输入b的值:'); n=input('请输入n的值:'); rho=a*sin(b+n*theta); polar(theta,rho,'k'); end 下面以a=1,b=1,n=1的极坐标图形为基础来分析a、b、n的影响。

对a的值进行改变:对比发现a只影响半径值的整倍变化 对b的值进行改变:对比发现b的值使这个圆转换了一定的角度

对n的值进行改变:对比发现当n>=2时有如下规律 1、当n为整数时,图形变为2n个花瓣状的图形 2、当n为奇数时,图形变为n个花瓣状的图形 分别让n为2、3、4、5

汽车理论课后习题Matlab程序

1.3 确定一轻型货车的动力性能(货车可装用4挡或5挡变速器,任选 其中的一种进行整车性能计算): 1)绘制汽车驱动力与行驶阻力平衡图。 2)求汽车最高车速,最大爬坡度及克服该坡度时相应的附着率。 3)绘制汽车行驶加速度倒数曲线,用图解积分法求汽车用2档起步加速行驶至70km/h 的车速-时间曲线,或者用计算机求汽车用2档起步加速行驶至70km/h 的加速时间。 轻型货车的有关数据: 汽油发动机使用外特性的Tq-n 曲线的拟合公式为 234 19.313295.27()165.44()40.874() 3.8445()1000100010001000 q n n n n T =-+-+- 式中,Tq 为发动机转矩(N?m);n 为发动机转速(r/min )。 发动机的最低转速n min =600r/min,最高转速n max =4000r/min 。 装载质量 2000kg 整车整备质量 1800kg 总质量 3880kg 车轮半径 0.367m 传动系机械效率 ηt =0.85 滚动阻力系数 f =0.013 空气阻力系数×迎风面积 C D A =2.77m 2 主减速器传动比 i 0=5.83 飞轮转动惯量 I f =0.218kg?m 2 二前轮转动惯量 I w1=1.798kg ?m 2 四后轮转动惯量 I w2=3.598kg?m 2

变速器传动比ig(数据如下表) 轴距L=3.2m 质心至前轴距离(满载)a=1.974m 质心高(满载)hg=0.9m 解:Matlab程序: (1) 求汽车驱动力与行驶阻力平衡图和汽车最高车速程序: 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; m=3880;g=9.8;nmin=600;nmax=4000; G=m*g; ig=[5.56 2.769 1.644 1.00 0.793];nT=0.85;r=0.367;f=0.013;CDA=2.77;i0=5.83; L=3.2;a=1.947;hg=0.9;If=0.218;Iw1=1.798;Iw2=3.598; Ft1=Tq*ig(1)*i0*nT/r; Ft2=Tq*ig(2)*i0*nT/r; Ft3=Tq*ig(3)*i0*nT/r; Ft4=Tq*ig(4)*i0*nT/r;

matlab课后习题及答案详解

第1章 MATLAB概论 1.1与其他计算机语言相比较,MATLAB语言突出的特点是什么? MATLAB具有功能强大、使用方便、输入简捷、库函数丰富、开放性强等特点。 1.2 MATLAB系统由那些部分组成? MATLAB系统主要由开发环境、MATLAB数学函数库、MATLAB语言、图形功能和应用程序接口五个部分组成。 1.3 安装MATLAB时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装? 在安装MATLAB时,安装内容由选择组件窗口中个复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即MATLAB选项)必须安装。第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可。 1.4 MATLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上? 在MATLAB操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close按钮,一个是可以使窗口成为独立窗口的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的view菜单中选择Dock ……菜单项就可以将独立的窗口重新防止的桌面上。 1.5 如何启动M文件编辑/调试器? 在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动。在命令窗口中键入edit命令时也可以启动M文件编辑/调试器。 1.6 存储在工作空间中的数组能编辑吗?如何操作? 存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。 1.7 命令历史窗口除了可以观察前面键入的命令外,还有什么用途? 命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中。 1.8 如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别? 当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file 菜单中的Set Path菜单项来完成。在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。 1.9 在MATLAB中有几种获得帮助的途径?

基于MATLAB的汽车运动控制系统设计仿真

课程设计 题目汽车运动控制系统仿真设计学院计算机科学与信息工程学院班级2010级自动化班 姜木北:2010133*** 小组成员 指导教师吴 2013 年12 月13 日

汽车运动控制系统仿真设计 10级自动化2班姜鹏2010133234 目录 摘要 (3) 一、课设目的 (4) 二、控制对象分析 (4) 2.1、控制设计对象结构示意图 (4) 2.2、机构特征 (4) 三、课设设计要求 (4) 四、控制器设计过程和控制方案 (5) 4.1、系统建模 (5) 4.2、系统的开环阶跃响应 (5) 4.3、PID控制器的设计 (6) 4.3.1比例(P)控制器的设计 (7) 4.3.2比例积分(PI)控制器设计 (9) 4.3.3比例积分微分(PID)控制器设计 (10) 五、Simulink控制系统仿真设计及其PID参数整定 (11) 5.1利用Simulink对于传递函数的系统仿真 (11) 5.1.1 输入为600N时,KP=600、KI=100、KD=100 (12) 5.1.2输入为600N时,KP=700、KI=100、KD=100 (12) 5.2 PID参数整定的设计过程 (13) 5.2.1未加校正装置的系统阶跃响应: (13) 5.2.2 PID校正装置设计 (14) 六、收获和体会 (14) 参考文献 (15)

摘要 本课题以汽车运动控制系统的设计为应用背景,利用MATLAB语言对其进行设计与仿真.首先对汽车的运动原理进行分析,建立控制系统模型,确定期望的静态指标稳态误差和动态指标搬调量和上升时间,最终应用MATLAB环境下的.m 文件来实现汽车运动控制系统的设计。其中.m文件用step函数语句来绘制阶跃响应曲线,根据曲线中指标的变化进行P、PI、PID校正;同时对其控制系统建立Simulink进行仿真且进行PID参数整定。仿真结果表明,参数PID控制能使系统达到满意的控制效果,对进一步应用研究具有参考价值,是汽车运动控制系统设计的优秀手段之一。 关键词:运动控制系统 PID仿真稳态误差最大超调量

(完整版)matlab习题及答案(2)

第1章MATLAB概论 1.1与其他计算机语言相比较,MA TLAB语言突出的特点是什么? MATLAB具有功能强大、使用方便、输入简捷、库函数丰富、开放性强等特点。 1.2 MA TLAB系统由那些部分组成? MATLAB系统主要由开发环境、MA TLAB数学函数库、MATLAB语言、图形功能和应用程序接口五个部分组成。 1.3 安装MATLAB时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装? 在安装MA TLAB时,安装内容由选择组件窗口中个复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即MATLAB选项)必须安装。第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可。 1.4 MA TLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上? 在MA TLAB操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close按钮,一个是可以使窗口成为独立窗口的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的view菜单中选择Dock ……菜单项就可以将独立的窗口重新防止的桌面上。 1.5 如何启动M文件编辑/调试器? 在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动。在命令窗口中键入edit命令时也可以启动M文件编辑/调试器。 1.6 存储在工作空间中的数组能编辑吗?如何操作? 存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。 1.7 命令历史窗口除了可以观察前面键入的命令外,还有什么用途? 命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中。

汽车理论图形MATLAB程序

功率平衡图 m=1230;g=9.8; ig=[3.615 2.053 1.393 1.031 0.837]; i0=3.75; r=0.31;yt=0.9;f=0.017;CD=0.31;A=2.2; np=6000;Pemax=83; %绘制汽车驱动力与行驶阻力平衡图 for i=1:56; n=500:100:6000; Pe(i)=Pemax*(n(i)/np+(n(i)/np)^2-(n(i)/np)^3); Tq(i)=9549*Pe(i)/n(i); end for j=1:5 for i=1:56 Ft(i,j)=Tq(i)*ig(j)*i0*yt/r; ua(i,j)=0.377*r*n(i)/(ig(j)*i0); Fz(i,j)=m*g*f+CD*A*(ua(i,j)^2)/21.15; end end figure plot(ua,Ft,ua,Fz); title('汽车驱动力与行驶阻力平衡图'); xlabel('ua(km/h)'); ylabel('Ft(N)'); text(20,6700,'Ft1'); text(40,4000,'Ft2'); text(50,2800,'Ft3'); text(80,2000,'Ft4'); text(100,1600, 'Ft5'); text(100,800,'Ff+Fw'); for k=1:56; n=500:100:6000; Pe(k)=Pemax*(n(k)/np+(n(k)/np)^2-(n(k)/np)^3); Tq(k)=9549*Pe(k)/n(k); Ft(k)=Tq(k)*ig(4)*i0*yt/r; ua(k)=0.377*r*n(k)/(ig(4)*i0); Fz(k)=m*g*f+CD*A*(ua(k)^2)/21.15; E(k)=abs((Ft(k)-Fz(k))); end [Emin,kmin]=min(E); Umax=ua(kmin)

matlab基础练习题(带答案)

Matlab 基础练习题 常量、变量、表达式 1、 MATLAB 中,下面哪些变量名是合法的?( ) (A )_num (B )num_ (C )num- (D )-num 2、 在MA TLAB 中,要给出一个复数z 的模,应该使用( )函数。 (A )mod(z) (B )abs(z) (C )double(z) (D )angle(z) 3、 下面属于MATLAB 的预定义特殊变量的是?( ) (A )eps (B )none (C )zero (D )exp 4、 判断:在MA TLAB 的内存工作区中,存放一个英文字符 'a' 需要占用1个字节,存放 一个中文字符‘啊’需要占用2个字节。( 错,都是2个字节 ) 5、 判断:MA TLAB 中,i 和j ( 对 ) 6、 判断:MA TLAB 中,pi 代表圆周率,它等于3.14。( 错,后面还有很多位小数 ) 7、 在MA TLAB 中,若想计算的5 1)3.0sin(21+= πy 值,那么应该在MA TLAB 的指令窗中 输入的MA TLAB 指令是__y1=2*sin(0.3*pi)/(1+sqrt(5))_。 8、 在MA TLAB 中,a = 1,b = i ,则a 占_8__个字节,b 占_16_个字节,c 占________字 节。 9、 在MA TLAB 中,inf 的含义是__无穷大__,nan 的含义是__非数(结果不定)___。 数组 1、 在MA TLAB 中,X 是一个一维数值数组,现在要把数组X 中的所有元素按原来次序 的逆序排列输出,应该使用下面的( )指令。 (A )X[end:1] (B )X[end:-1:1] (C )X (end:-1:1) (D )X(end:1) 2、 在MA TLAB 中,A 是一个字二维数组,要获取A 的行数和列数,应该使用的MATLAB 的命令是( )。 (A )class(A) (B )sizeof(A) (C )size(A) (D )isa(A) 3、 在MATLAB 中,用指令x=1:9生成数组x 。现在要把x 数组的第二和第七个元素都 赋值为0,应该在指令窗中输入( ) (A )x([2 7])=(0 0) (B )x([2,7])=[0,0] (C )x[(2,7)]=[0 0] (D )x[(2 7)]=(0 0) 4、 在MA TLAB 中,依次执行以下指令:clear;A=ones(3,4); A(:)=[-6:5];这时, 若在指令窗中输入指令b=A(:,2)',那么,MATLAB 输出的结果应该是( ) (A )b = -3 -2 -1 (B )b = -2 -1 0 1 (C )b = -5 -1 3 (D )b = -5 -2 1 4 5、 在MA TLAB 中,A = 1:9,现在执行如下指令L1 = ~(A>5),则MATLAB 的执行结果应 该是L1 =___ 1 1 1 1 1 0 0 0 0___。

最新MATLAB基础教程-薛山第二版-课后习题答案

《MATLAB及应用》实验指导书《MATLAB及应用》实验指导书 班级:T1243-7 姓名:柏元强 学号:20120430724 总评成绩: 汽车工程学院 电测与汽车数字应用中心

目录 实验04051001 MATLAB语言基础 (1) 实验04051002 MATLAB科学计算及绘图 (18) 实验04051003 MATLAB综合实例编程 (31)

实验04051001 MATLAB语言基础 1实验目的 1)熟悉MATLAB的运行环境 2)掌握MATLAB的矩阵和数组的运算 3)掌握MATLAB符号表达式的创建 4)熟悉符号方程的求解 2实验内容 第二章 1.创建double的变量,并进行计算。 (1)a=87,b=190,计算 a+b、a-b、a*b。 clear,clc a=double(87); b=double(190); a+b,a-b,a*b (2)创建 uint8 类型的变量,数值与(1)中相同,进行相同的计算。 clear,clc a=uint8(87); b=uint8(190); a+b,a-b,a*b 2.计算: (1) () sin 60

(2) e3 (3) 3cos 4??π ??? clear,clc a=sind(60) b=exp(3) c=cos(3*pi/4) 3.设2u =,3v =,计算: (1) 4 log uv v (2) () 2 2 e u v v u +- (3) clear,clc u=2;v=3; a=(4*u*v)/log(v) b=((exp(u)+v)^2)/(v^2-u) c=(sqrt(u-3*v))/(u*v) 4.计算如下表达式: (1) ()() 3542i i -+ (2) () sin 28i - clear,clc (3-5*i)*(4+2*i) sin(2-8*i) 5.判断下面语句的运算结果。 (1) 4 < 20 (2) 4 <= 20

汽车理论1.3和2.7matlab编程答案

孙野 20081268 1.3(1)绘制汽车驱动力与行驶阻力平衡图 选用5挡变速器进行整车性能计算 发动机转速与汽车行驶速度之间的关系:0 377.0i i rn u g a = 发动机使用外特性的T q -n 曲线拟合公式: 4 32)1000 (8445.3)1000(874.40)1000(44.165)1000(27.295313.19n n n n T q -+-+-= 汽车驱动力:r i i T F T g q t η0= 行驶阻力:2 215 .2115.21a D a D j w i f u A C mgf dt du m u A C Gi Gf F F F F +=++ +=+++δ 用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;

matlab课后习题与答案

习题二 1.如何理解“矩阵是MATLAB最基本的数据对象”? 答:因为向量可以看成是仅有一行或一列的矩阵,单个数据(标量)可以看成是仅含一个元素的矩阵,故向量和单个数据都可以作为矩阵的特例来处理。 因此,矩阵是MATLAB最基本、最重要的数据对象。 2.设A和B是两个同维同大小的矩阵,问: (1)A*B和A.*B的值是否相等? 答:不相等。 (2)A./B和B.\A的值是否相等? 答:相等。 (3)A/B和B\A的值是否相等? 答:不相等。 (4)A/B和B\A所代表的数学含义是什么? 答:A/B等效于B的逆右乘A矩阵,即A*inv(B),而B\A等效于B矩阵的逆左乘A矩阵,即inv(B)*A。 3.写出完成下列操作的命令。 (1)将矩阵A第2~5行中第1, 3, 5列元素赋给矩阵B。 答:B=A(2:5,1:2:5); 或B=A(2:5,[1 3 5]) (2)删除矩阵A的第7号元素。 答:A(7)=[] (3)将矩阵A的每个元素值加30。 答:A=A+30; (4)求矩阵A的大小和维数。 答:size(A); ndims(A); (5)将向量t的0元素用机器零来代替。 答:t(find(t==0))=eps; (6)将含有12个元素的向量x转换成34 矩阵。 答:reshape(x,3,4); (7)求一个字符串的ASCII码。 答:abs(‘123’); 或double(‘123’); (8)求一个ASCII码所对应的字符。 答:char(49);

4. 下列命令执行后,L1、L2、L3、L4的值分别是多少? A=1:9;B=10-A;... L1=A==B; L2=A<=5; L3=A>3&A<7; L4=find(A>3&A<7); 答:L1的值为[0, 0, 0, 0, 1, 0, 0, 0, 0] L2的值为[1, 1, 1, 1, 1, 0, 0, 0, 0] L3的值为[0, 0, 0, 1, 1, 1, 0, 0, 0] L4的值为[4, 5, 6] 5. 已知 23100.7780414565532503269.5454 3.14A -????-??=????-?? 完成下列操作: (1) 取出A 的前3行构成矩阵B ,前两列构成矩阵C ,右下角32?子矩阵构 成矩阵D ,B 与C 的乘积构成矩阵E 。 答:B=A(1:3,:); C=A(:,1:2); D=A(2:4,3:4); E=B*C; (2) 分别求E=10&A<25)。 答:E=10&A<25)=[1; 5]。 6. 当A=[34, NaN, Inf, -Inf, -pi, eps, 0]时,分析下列函数的执行结果:all(A), any(A),isnan(A),isinf(A),isfinite(A)。 答:all(A)的值为0 any(A) 的值为1 isnan(A) 的值为[0, 1, 0, 0, 0, 0, 0] isinf(A) 的值为[0, 0, 1, 1, 0, 0, 0] isfinite(A) 的值为[1, 0, 0,0, 1, 1, 1]

matlab课后习题答案

第4章数值运算 习题 4 及解答 1 根据题给的模拟实际测量数据的一组t和)(t y试用数值差分diff 或数值梯度gradient指令计算)(t y'曲线绘制 y',然后把)(t y和)(t 在同一张图上,观察数值求导的后果。(模拟数据从prob_data401.mat获得) 〖目的〗 ●强调:要非常慎用数值导数计算。 ●练习mat数据文件中数据的获取。 ●实验数据求导的后果 ●把两条曲线绘制在同一图上的一种方法。 〖解答〗 (1)从数据文件获得数据的指令 假如prob_data401.mat文件在当前目录或搜索路径上 clear load prob_data401.mat (2)用diff求导的指令 dt=t(2)-t(1); yc=diff(y)/dt; %注意yc的长度将比y短1 plot(t,y,'b',t(2:end),yc,'r') (3)用gradent求导的指令(图形与上相似) dt=t(2)-t(1); yc=gradient(y)/dt;

plot(t,y,'b',t,yc,'r') grid on 〖说明〗 ● 不到万不得已,不要进行数值求导。 ● 假若一定要计算数值导数,自变量增量dt 要取得比原有数据相对误差高1、2个量级 以上。 ● 求导会使数据中原有的噪声放大。 2 采用数值计算方法,画出dt t t x y x ? =0 sin )(在]10 ,0[区间曲线,并计算)5.4(y 。 〖提示〗 ● 指定区间内的积分函数可用cumtrapz 指令给出。 ● )5.4(y 在计算要求不太高的地方可用find 指令算得。 〖目的〗 ● 指定区间内的积分函数的数值计算法和cumtrapz 指令。 ● find 指令的应用。 〖解答〗 dt=1e-4; t=0:dt:10; t=t+(t==0)*eps; f=sin(t)./t; s=cumtrapz(f)*dt; plot(t,s,'LineWidth',3) ii=find(t==4.5); s45=s(ii) s45 =

matlab练习题和答案

matlab练习题和答案 控制系统仿真实验 Matlab部分实验结果 目录 实验一 MATLAB基本操 作 ............................................................................................ 1 实验二 Matlab编程 .................................................................................................... 5 实验三Matlab底层图形控制 (6) 实验四控制系统古典分析.............................................................................................12 实验五控制系统现代分析 . (15) 实验六 PID控制器的设 计 ...........................................................................................19 实验七系统状态空间设计.............................................................................................23 实验九直流双闭环调速系统仿真 . (25) 实验一 MATLAB基本操作 1 用MATLAB可以识别的格式输入下面两个矩阵 1233,,1443678,i,,,,2357,,,,2335542,i,,,, A,1357B,,,2675342, i,,3239,,,,189543,,,,1894,, 再求出它们的乘积矩阵C,并将C矩阵的右下角2×3子矩阵赋给D矩阵。赋值完成后,调 用相应的命令查看MATLAB工作空间的占用情况。 A=[1,2,3,3;2,3,5,7;1,3,5,7;3,2,3,9;1,8,9,4];

基于Matlab的车牌识别(完整版)

基于Matlab的车牌识别 摘要:车牌识别技术是智能交通系统的重要组成部分,在近年来得到了很大的发展。本文从预处理、边缘检测、车牌定位、字符分割、字符识别五个方面,具体介绍了车牌自动识别的原理。并用MATLAB软件编程来实现每一个部分,最后识别出汽车车牌。 一、设计原理 车辆车牌识别系统的基本工作原理为:将摄像头拍摄到的包含车辆车牌的图像通过视频卡输入到计算机中进行预处理,再由检索模块对车牌进行搜索、检测、定位,并分割出包含车牌字符的矩形区域,然后对车牌字符进行二值化并将其分割为单个字符,然后输入JPEG或BMP格式的数字,输出则为车牌号码的数字。车牌自动识别是一项利用车辆的动态视频或静态图像进行车牌号码、车牌颜色自动识别的模式识别技术。其硬件基础一般包括触发设备、摄像设备、照明设备、图像采集设备、识别车牌号码的处理机等,其软件核心包括车牌定位算法、车牌字符分割算法和光学字符识别算法等。某些车牌识别系统还具有通过视频图像判断车辆驶入视野的功能称之为视频车辆检测。一个完整的车牌识别系统应包括车辆检测、图像采集、车牌识别等几部分。当车辆检测部分检测到车辆到达时触发图像采集单元,采集当前的视频图像。车牌识别单元对图像进行处理,定位出车牌位置,再将车牌中的字符分割出来进行识别,然后组成车牌号码输出。 二、设计步骤 总体步骤为: 车辆→图像采集→图像预处理→车牌定位

→字符分割→字符定位→输出结果 基本的步骤: a.车牌定位,定位图片中的车牌位置; b.车牌字符分割,把车牌中的字符分割出来; c.车牌字符识别,把分割好的字符进行识别,最终组成车牌号码。 车牌识别过程中,车牌颜色的识别依据算法不同,可能在上述不同步骤实现,通常与车牌识别互相配合、互相验证。 (1)车牌定位: 自然环境下,汽车图像背景复杂、光照不均匀,如何在自然背景中准确地确定车牌区域是整个识别过程的关键。首先对采集到的视频图像进行大范围相关搜索,找到符合汽车车牌特征的若干区域作为候选区,然后对这些侯选区域做进一步分析、评判,最后选定一个最佳的区域作为车牌区域,并将其从图象中分割出来。 流程图: (2)车牌字符分割 : 完成车牌区域的定位后,再将车牌区域分割成单个字符,然后进行识别。字符分割一般采用垂直投影法。由于字符在垂直方向上的投影必然在字符间或字符内的间隙处取得局部最小值的附近,并且这个位置应满足车牌的字符书写格式、字符、尺寸限制和一些其他条件。利用垂直投影法对复杂环境下的汽车图像中的字符分割有较好的效果。 导入原始图像 图像预处理增强效果图像 边缘提取 车牌定位 对图像开闭运算

matlab课后习题答案第一章

第1章基础准备及入门 习题1及解答 1数字1.5e2,1.5e3中的哪个与1500相同吗? 〖解答〗 1.5e3 2请指出如下5个变量名中,哪些是合法的? abcd-2xyz_33chan a变量ABCDefgh 〖解答〗 2、5是合法的。 3在MATLAB环境中,比1大的最小数是多少? 〖解答〗 1+eps 4设a=-8,运行以下三条指令,问运行结果相同吗?为什么? w1=a^(2/3) w2=(a^2)^(1/3) w3=(a^(1/3))^2 〖解答〗 (1)不同。具体如下 w1=a^(2/3)%仅求出主根 w2=(a^2)^(1/3)%求出(-8)^2的主根 w3=(a^(1/3))^2%求出(-8)主根后再平方 w1= -2.0000+3.4641i w2= 4.0000 w3= -2.0000+3.4641i (2)复数的多方根的,下面是求取全部方根的两种方法: (A)根据复数方根定义 a=-8;n=2;m=3; ma=abs(a);aa=angle(a); for k=1:m%m决定循环次数 sa(k)=(aa+2*pi*(k-1))*n/m;%计算各根的相角 end result=(ma^(2/3)).*exp(j*sa)%计算各根 result= -2.0000+3.4641i 4.0000-0.0000i-2.0000-3.4641i

(B )利用多项式02 3=-a r 求根p=[1,0,0,-a^2];r=roots(p)r =-2.0000+3.4641i -2.0000-3.4641i 4.00005指令clear,clf,clc 各有什么用处? 〖解答〗clear 清除工作空间中所有的变量。clf 清除当前图形。clc 清除命令窗口中所有显示。6以下两种说法对吗?(1)“MATLAB 进行数值的表达精度与其 指令窗中的数据显示精度相同。”(2) MATLAB 指令窗中显示的数值有效位数不超过7位。” 〖解答〗 (1)否;(2)否。 7想要在MATLAB 中产生二维数组???? ??????=987654321S ,下面哪些指令能实现目的? (A )S=[1,2,3;4,5,6;7,8;9] (B )S=[123;456;789] (C )S=[1,2,3;4,5,6;7,8,9] %整个指令在中文状态下输入 〖解答〗 前两种输入方法可以,后一种方法不行。8试为例1.3-5编写一个解题用的M 脚本文件? 〖解答〗 直接点击新文件图标,出现M 文件编辑器窗口;在该M 文件编辑器中,输入例1.3-5中的全部指令;并另存为p109.m ,便得到所需的脚本文件。

相关文档
相关文档 最新文档