汽车动力性计算matlab程序
更新时间:2023-12-19 12:49:01 阅读量: 教育文库 文档下载
%% 汽车动力性计算(自己编的动力性计算程序,供大家计算动力性时参考,具体参数大家根据所给程序对应输入,并对坐标轴数值按需要进行修改) 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 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.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('发动机外特性曲线'); %% 各挡位速度曲线 %计算各挡位车速
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挡车速'); %% 驱动力和行驶阻力平衡图 %计算滚动阻力系数
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; 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); 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 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('车速(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('最大爬坡度(%)'); legend('Ⅰ挡','高速档'); title('爬坡度曲线图');
%% 加速度曲线图
deta=1+1/M*4*Iw/r^2+1/M*If*ig.^2*i0^2*eta/r^2; 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)<0 a(i,j)=0; else
end end end end figure(8) hold on
for i=1:length(ig); if i==1
plot(ua(i,:),a(i,:),'r'); else
plot(ua(i,:),a(i,:),'k'); end end hold on grid on
xlabel('车速(km/h)'); ylabel('加速度a(m/s^2)'); legend('Ⅰ档','高速档'); title('加速度曲线图'); axis([0 120 0 1.5]) %% 加速度倒数曲线
for i=1:length(ig); for j=1:length(n) b(i,j)=1./a(i,j); end end figure(9) hold on
for i=1:length(ig)
plot(ua(i,:),b(i,:),'k'); end hold on grid on
xlabel('车速(km/h)'); ylabel('各档加速度倒数1/a');
legend('各档加速度倒数1/a曲线','Location','NorthWest'); title('各档加速度倒数曲线图'); axis([0 120 0 10]) ad1=b(1,:); ad2=ua(1,:);
for i=1:(length(ig)-1);
for j=1:length(n)
if ua(i+1,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 on
plot(ad2,ad1,'k'); hold on grid on
xlabel('车速(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; end end
for i=1:length(ig); for j=1:k
at(i,j)=sum(t(i,1:j))/3.6; end end
totalat=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])
正在阅读:
汽车动力性计算matlab程序12-19
最新范文:党员纯洁性教育心得体会03-08
本科毕业论文要求及格式模板09-05
农 村 政 策 法 规 问 答 大 全01-28
高速铁路连续梁拱桥拱肋施工方案对比分析07-07
铁王中学教学工作总结09-11
趣味对联02-18
经济适用房项目成本控制研究01-24
资产评估期末复习 212-06
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 动力性
- 计算
- 程序
- matlab
- 汽车
- 湘少版五年级下册英语期中测试卷
- 数据挖掘技术在移动通信行业中的应用
- 中国水电五局党建工作责任制考核办法(试行)
- 海骏达三期型钢悬挑式卸料平台专项施工方案
- 防坠落物体打击专项方案
- 转录组ref流程工作手册 - 图文
- 部编本二年级上册语文课后反思(整册反思全)
- 北师大版小学数学六年级上册知识点整理
- 现代教育技术形成性考核册-博客2
- 学习小组该如何管理
- 4、销售与收款循环内部控制 - 图文
- 人教版语文一年级上册电子教案《乌鸦喝水》
- 电子警察相关知识 - 图文
- 09计科(1)(2)《面向对象程序设计》C 综合练习(学生版 - ) - - - 含答案- 副本
- 林业系统职务犯罪的调查分析
- 建筑工程技术标书范例
- 小学语文S版六年级上册课文
- 在全市幼儿园卫生保健工作会议上的讲话
- 气力除灰系统使用说明书
- 高一化学第一学期第二次月考试卷