汽车动力性matlab仿真源程序
基于MATLAB的汽车动力性仿真
![基于MATLAB的汽车动力性仿真](https://img.taocdn.com/s3/m/666b3ceb551810a6f5248663.png)
农业装备与车辆工程 AGRICULTURAL EQ农U业IP装ME备N与T 车& 辆VE工H程ICLE ENGINEERING
No.9 2007 ( Totally 194)
基于 MATLAB 的汽车动力性仿真
张竹林, 郭荣春
( 山东交通学院, 山东 济南 250023)
收稿日期: 2007- 07- 27 作者简介: 张 竹 林 ( 1979- ) , 男 , 山 东 青 岛 人 , 助 教 , 硕 士 研 究 生 , 研 究 方向为计算机仿真和计算机辅助设计。
·52·
k—曲线拟合的最高次方, 一般取 k=2~5。 a0, a1, …, ak 可由最小二乘法来决定。 本文中用 VC 编写动态库文件, 按照发动机台架 试验台的 AK 协议进行通讯, 采取的数据自动写入 Access 的数据库中, 在拟合程序中基于 ODBC 数据 库进行数据读取和利用 MATLAB 函数进行拟合。
参考文献
[ 1] 王沫然. MATLAB 与科学计算( 第 2 版) . 北京: 电子工业出 版社, 2005. [ 2] 余志生. 汽车理论( 第 4 版) . 北京: 机械工业出版社, 2007.
·53·
关键词: 动力性; MATLAB; VC; 仿真
中图分类号: TP391.9
文献标识码: B
文章编号: 1673- 3142( 2007) 09- 0052- 02
Computer Simulat源自on of Power Per for mance for Automobile Based on MATLAB
ZHANG Zhu- lin, GUO Rong- chun
[精品]基于MATLAB的汽车动力性和燃油经济性仿真
![[精品]基于MATLAB的汽车动力性和燃油经济性仿真](https://img.taocdn.com/s3/m/71c35698f424ccbff121dd36a32d7375a517c648.png)
[精品]基于MATLAB的汽车动力性和燃油经济性仿真1. 简介汽车动力性和燃油经济性是评价一辆汽车性能的两个重要指标。
基于MATLAB的仿真可以帮助工程师和研究人员更好地理解汽车的动力性能和燃油经济性,从而优化设计和改进汽车技术。
本文将介绍基于MATLAB的汽车动力性和燃油经济性仿真的方法和技术。
2. 动力性仿真汽车的动力性指的是汽车加速性能、最高速度、扭矩特性等。
基于MATLAB的动力性仿真可以通过建立数学模型来预测和评估汽车的动力性能。
以下是一个基本的汽车动力性仿真流程:- 建立车辆动力学模型:可以使用MATLAB的Simulink工具箱,将汽车的运动学、动力学和能量转换等方程建立为一个系统模型。
- 定义输入信号:输入信号可以包括驾驶员的驾驶指令、动力系统的输入等。
例如,加速踏板的输入信号可以用一个阶跃函数模拟。
- 仿真和分析:运行仿真模型,获取汽车的速度、加速度、油耗等数据。
通过对仿真结果的分析,可以评估汽车的动力性能,比较不同设计和控制策略的效果。
3. 燃油经济性仿真燃油经济性是指车辆在单位里程下消耗的燃油量,通常以百公里行驶的油耗来表示。
基于MATLAB的燃油经济性仿真可以通过模拟车辆的行驶过程和能量转换来评估汽车的油耗。
以下是一个基本的燃油经济性仿真流程:- 建立车辆行驶模型:可以使用MATLAB的Simulink工具箱,将车辆的行驶阻力、发动机效率、行驶工况等建立为一个系统模型。
- 设置行驶循环:选择合适的行驶循环来模拟不同的驾驶工况,如城市驾驶、高速驾驶等。
- 仿真和分析:运行仿真模型,获取车辆的行驶速度、驱动力、油耗等数据。
通过对仿真结果的分析,可以评估汽车的燃油经济性,比较不同设计和控制策略的效果。
4. 结论基于MATLAB的汽车动力性和燃油经济性仿真可以为汽车工程师和研究人员提供一个快速、准确和可靠的评估工具。
通过仿真分析,可以优化汽车的设计和控制策略,提高汽车的性能和燃油经济性。
汽车理论课程设计:基于Matlab的汽车动力性的仿真
![汽车理论课程设计:基于Matlab的汽车动力性的仿真](https://img.taocdn.com/s3/m/92bc7dfc7c1cfad6195fa75a.png)
2009 届海南大学机电工程学院汽车工程系汽车理论课程设计题目:汽车动力性的仿真学院:机电工程学院专业:09级交通运输姓名:黄生锐学号:20090504指导教师:编号名称件数页数编号名称件数页数1 课程设计论文 1 3Matlab编程源程序 12 设计任务书 12012年6月20日成绩汽车理论课程设计任务书姓名黄生锐学号20090504 专业09交通运输课程设计题目汽车动力性的仿真内容摘要:本设计的任务是对一台Passat 1.8T手动标准型汽车的动力性能进行仿真。
采用MATLAB编程仿真其性能,其优点是:一是能过降低实际成本,提高效率;二是获得较好的参数模拟,对汽车动力性能提供理论依据。
主要任务:根据该车的外形、轮距、轴距、最小离地间隙、最小转弯半径、车辆重量、满载重量以及最高车速等参数,结合自己选择的适合于该车的发动机型号求出发动机的最大功率、最大扭矩、排量等重要的参数。
并结合整车的基本参数,选择适当的主减速比。
依据GB、所求参数,结合汽车设计、汽车理论、机械设计等相关知识,计算出变速器参数,进行设计。
论证设计的合理性。
设计要求:1、动力性分析:1)绘制汽车驱动力与行驶阻力平衡图;2)求汽车的最高车速、最大爬坡度;3)用图解法或编程绘制汽车动力特性曲线4)汽车加速时间曲线。
2、燃油经济性分析:1) 汽车功率平衡图;完成内容:1.Matlab编程汽车驱动力与行驶阻力平衡图2.编程绘制汽车动力特性曲线图3.编程汽车加速时间曲线图4.课程设计论文1份汽车动力性仿真摘要本文是对Passat 1.8T 手动标准型汽车的动力性能采用matlab 编制程序,对汽车动力性进行计算。
从而对汽车各个参数做出准确的仿真研究,为研究汽车动力性提供理论依据,本文主要进行的汽车动力性仿真有:最高车速、加速时间和最大爬坡度。
及相关汽车燃油性经济。
关键词:汽车;动力性;试验仿真;matlab1. Passat 1.8T 手动标准型汽车参数功率Pe (kw )转速n (r/min )15 1000 36 1750 50 2200 66 2850 80 3300 90 4000 110 5100 1055500各档传动比主减速器传动比第1档 3.665 4.778第2档 1.999 第3档 1.407 第4档 1 第5档 0.472 车轮半径0.316(m )传动机械效率0.91 假设在良好沥青或水泥路面上行驶,滚动阻力系数 0.014 整车质量1522kgC D A2.4m22. 最高车速汽车的最高车速是指汽车标准满载状态,在水平良好的路面(混凝土或沥青路面)上所能达到的最高行驶速度。
汽车动力性matlab仿真源程序
![汽车动力性matlab仿真源程序](https://img.taocdn.com/s3/m/44ff195426284b73f242336c1eb91a37f11132ae.png)
汽车动力性matlab仿真源程序clcn=[1500:500:5500];%转速范围T=[78.59 83.04 85.01 86.63 87.09 85.87 84.67 82.50 80.54];%对应各转矩dt=polyfit(n,T,3);%对发动机输出转矩特性进行多项式拟合,阶数取4n1=1000:100:5500;%t=polyval(dt,n1);figure(1)title('发动机外特性')plot(n1,t,n,T,'o'),grid on%图示发动机输出转矩特性%汽车驱动力计算G=input('整车重力/N,G=');%输入970*9.8ig=[3.416 1.894 1.28 0.914 0.757];%变速器速比k=1:5;%5个前进档r=0.272;i0=4.388;eta=0.9;ngk=[800 800 800 800 800];ngm=[5500 5500 5500 5500 5500];ugk=0.377.*r.*ngk(k)./(ig(k).*i0);%计算每一档发动机800rpm 时的最低行驶速度ugm=0.377.*r.*ngm(k)./(ig(k).*i0);%计算每一档发动机5400rpm最高行驶速度for k=1:5%依次计算5个档的驱动力u=ugk(k):ugm(k);n=ig(k)*i0.*u./r/0.377;t=54.8179+2.2441.*(n./100)-4.8003.*(n./1000).^2+2.815e-10.*n.^3Ft=t.*ig(k).*i0*eta/r;figure(2)plot(u,Ft)hold on,grid on %保证K的每次循环的图形都保留显示end%行驶阻力计算f0=0.009;f1=0.002;f4=0.0003;%三者都是轿车滚动阻力系数% disp'空气阻力系数Cd=0.3--0.41,迎风面积A=1.7--2.1'Cd=input('空气阻力系数Cd=');%输入0.3A=input('迎风面积/m2,A=');%输入2.3u=0:10:180;f=f0+f1.*(u./100)+f4.*(u./100).^4;Ff=G*f;%计算滚动阻力Fw=Cd*A.*u.^2./21.15;%计算空气阻力F=Ff+Fw;%滚动阻力、空气阻力之和title('驱动力-阻力图(五档速比为3.416 1.894 1.28 0.914 0.757)')plot(u,F,'mo-');grid on%图解法求最高车速for u=50:180;k=5;n=ig(k)*i0.*u./r/0.377;t=54.8179+2.2441.*(n./100)-4.8003.*(n./1000).^2+2.815e-10.*n.^3;Ft=t.*ig(k).*i0*eta/r;f=f0+f1.*(u./100)+f4.*(u./100).^4;Ff=G*f;Fw=Cd*A.*u.^2./21.15;F=Ff+Fw;if abs(Ft-F)<1;umax=u;breakendenddisp('== == =汽车动力性能仿真计算结果== == =')disp('驱动力-行驶阻力平衡图及最高车速')fprintf('汽车理论最高车速(驱动力与行驶阻力曲线交点)Vmax=%3.3f km/h\n',umax)(注:文档可能无法思考全面,请浏览后下载,供参考。
基于MATLAB的轿车动力性和燃油经济性仿真
![基于MATLAB的轿车动力性和燃油经济性仿真](https://img.taocdn.com/s3/m/28a712293169a4517723a3ff.png)
基于Matlab的汽车运动控制系统设计
![基于Matlab的汽车运动控制系统设计](https://img.taocdn.com/s3/m/88345f1aabea998fcc22bcd126fff705cd175c71.png)
基于Matlab的汽车运动控制系统设计
Matlab是一款强大的工具,它可以用于汽车动力学控制系统
的建模、仿真和优化。
下面是基于Matlab的汽车运动控制系
统的设计流程:
1. 汽车运动学建模,包括车辆加速度、速度、位置等基本变量的建模,并建立数学模型。
2. 汽车动力学建模,包括发动机、传动系统、制动系统等的建模,推导出相关的动力学方程。
3. 设计控制器,选择合适的控制算法,并根据模型参数进行控制器设计。
4. 建立仿真模型,将汽车运动学、动力学模型以及控制器整合在一起,建立仿真模型,并进行仿真。
5. 分析仿真结果,通过仿真结果分析系统的性能,包括控制效果、鲁棒性等。
6. 修改设计,对仿真结果进行修改,优化设计,重新进行仿真。
7. 实现控制器,将控制器转换为代码并实现到实际控制系统中。
8. 验证系统性能,进行实车测试,验证系统性能及仿真结果的准确性。
总体而言,基于Matlab的汽车运动控制系统设计可以提高设计效率,减少设计成本,确保系统性能及仿真结果的准确性。
汽车整体动力性MATLAB仿真计算
![汽车整体动力性MATLAB仿真计算](https://img.taocdn.com/s3/m/696e6af8a8114431b80dd840.png)
车各种性能中最基本、最重要的性能。
动力性评价指标
汽车动力性评价指标有最高车速、加速 时间、最大爬坡度等,与之对应的试验内容 有最高车速的测试、汽车起步连续换挡加速 时间与超车加速时间的测试和汽车最大爬坡 度的测试。另外,按照我国标准,动力性评 价试验均在满载情况下进行。
M文件
发动机输出功率计算,具体程序如下:
for k=1:5 u=ugk(k):ukm(k); n=ig(k)*i0*u/r/0.377; pe=polyval(dp,n); figure(4) plot(u,pe) hold on,grid on%保证每次循环的图形都保留显示
end
M文件
发动机阻力功率计算,具体程序如下:
M文件
图解法求解最高车速,具体程序如下:
for u=50:0.1:180; k=5; n=ig(k)*i0*u/r/0.377; t=polyval(dt,n); Ft=t*ig(k)*i0*eta/r; f=f0+f1*(u/100)+f4*(u/100).^4; Ff=G*f; %计算滚动阻力 Fw=Cd*A*u.^2./21.15; %计算空气阻力 F=Ff+Fw; if abs(Ft-F)<1; %当驱动力与行驶阻力差值小于1N时,近似认为为理论最高车速 umax=u;break end
仍然取先前国产某小型轿车进行仿真计算,整车综合性 能参数如前所述。发动机输出功率特性可由台架试验获得, 如下表2所示:
表2 发动机输出功率特性
转矩/(r/min) 1500 2000 2500 3000 3500 4000 4500 5000 5500 输出功率/kW 10.6 13.4 17.6 21.8 25.2 27.5 31.1 35.4 31.6
基于MATLAB的车辆动力性和制动性仿真分析
![基于MATLAB的车辆动力性和制动性仿真分析](https://img.taocdn.com/s3/m/ef5a703a26284b73f242336c1eb91a37f11132eb.png)
基于MATLAB的车辆动力性和制动性仿真分析发布时间:2022-06-22T02:20:51.317Z 来源:《科学与技术》2022年2月4期(下)作者:邹彦冉张竹林* 蒋德飞阮帅房冠霖曹士杰[导读] 动力性和制动性是评价车辆性能的关键指标,在对关键部件进行定参数、零部件选型、匹配优化时需要进行大量计算邹彦冉张竹林* 蒋德飞阮帅房冠霖曹士杰山东交通学院汽车工程学院,山东济南 250357摘要:动力性和制动性是评价车辆性能的关键指标,在对关键部件进行定参数、零部件选型、匹配优化时需要进行大量计算,现在企业多采用EXCEL进行计算,导致效率低下、直观性不强。
本文基于MATLAB软件的App Designer模块,开发了车辆动力性和制动性仿真分析软件,具有良好的人机界面和曲线输出功能,并以某型号汽车的实际参数进行了动力性和制动性仿真验证,证明了软件仿真分析的可行性,能够为汽车设计提供良好的支撑,提高设计效率。
关键词:汽车;MATLAB;仿真分析;App Designer 中图分类号:U462.3 文献标志码:A 0 引言近年来国内外汽车行业发展迅猛,截至2021年7月,全国家用车保有量达3.84亿辆。
我国正由汽车制造大国往汽车制造强国过渡,汽车的正向研发技术越来越受到各汽车设计单位的重视。
车辆的动力性和制动性是评价车辆性能的关键指标之一[1],其性能的好坏影响到车辆的品质和市场。
如今国内外对App Designer在各领域的应用进行了研究[2],韦超毅[3]等采用App Designer对汽车的爬坡能力进行建模与仿真,开发设计了一款软件,测试了试验车的爬坡性能;张晓荣[4]等针对调节阀工作流量特性的畸变问题,设计了工作流量校正算法,并采用App Designer 开发了操作简单、功能完整的操作界面;李晶[5]等基于MATLAB对实际汽车进行动力性仿真,假设节气门开度处于最大情况下,通过仿真分析绘制出该工况下车辆动力性曲线并分析结合实际实验测量数据,验证了该仿真系统的准确性;陈利娜[6]使用MATLAB对汽车制动性能分析,获得了车辆制动力分配曲线,为汽车制动性仿真分析提供了准确的操作方法与可视化数据。
汽车动力性计算matlab程序
![汽车动力性计算matlab程序](https://img.taocdn.com/s3/m/703a27d680eb6294dd886c28.png)
%%此程序可用来画汽车驱动力行驶阻力图,加速度倒数——行驶速度图像,能够求出最大车速,最大爬坡度,和加速时间clear %清空内存clc %清屏幕n_min=600 ; n_max=4000; %发动机最高、最低转速r=0.367;elta_t=0.85;i_0=5.83;m=3880;C_DA=2.77;f=0.013;G=m*9.8;I_w1=1.798;I_w2=3.598;I_f=0.218; %各个常量i_g=[5.56,2.769,1.644,1.00,0.793]; %各档位变速器传动比u=0:0.1:r*2*pi*3.6*n_max/i_g(5)/i_0/60; %自变量u从0到最高按一定间距增加T=size(u);F_t=ones(5,T(2)); %发动机驱动力矩阵for i=1:5for j=1:T(2)if((u(j)>=r*2*pi*3.6*n_min/i_g(i)/i_0/60)&&(u(j)=r*2*pi*3.6*n_max/i_g(i)/i_0/60)) %比较是否在这一档位的转速范围之内F_t(i,j)=ft(u(j),i);%调用函数求出在该档位和转速下的驱动力elseF_t(i,j)=0; %如果转速不再限定范围之内,则赋值为0endendendF_f=f*G; %滚动阻力F_w=C_DA*power(u,2)/21.15; %风阻F_fw=F_f+F_w; %总阻力plot(u,F_t(1,:),u,F_t(2,:),u,F_t(3,:),u,F_t(4,:),u,F_t(5,:),u,F_fw)%画出驱动力-行驶阻力图axis([0 120 0 15000])u=find(abs(F_t(5,:)-F_fw)<1)/10%找到横坐标最大的交点,求出最高速度delta=1+(I_w1+I_w2)/m/r/r+I_f*power(i_g*i_0,2)*elta_t/m/r/r;%δ大小a=ones(5,T(2));for i=1:5a(i,:)=(F_t(i,:)-F_fw)/delta(i)/m;endplot(u,1./a(1,:),u,1./a(2,:),u,1./a(3,:),u,1./a(4,:),u,1./a(5,:)); %画出1/a-u曲线axis([0 120 0 10])u2_min=r*2*pi*3.6*n_min/i_g(2)/i_0/60;u2_max=r*2*pi*3.6*n_max/i_g(2)/i_0/60; %二档最高最低车速u3_max=r*2*pi*3.6*n_max/i_g(3)/i_0/60; %三档最高车速t1=u2_min*1/a(2,round(u2_min*10)+2); %以二档最低车速恒定起步时间t2=aver(round(u2_min*10),round(u2_max*10),1./a(2,:))*(u2_max-u2_min); %二档行驶时间t3=aver(round(u2_max*10),round(u3_max*10),1./a(3,:))*(u3_max-u2_max); %三档行驶时间t4=aver(round(u3_max*10),700,1./a(4,:))*(70-u3_max); %四档行驶时间t=(t1+t2+t3+t4)/3.6 %加速总时间for i=1:5D(i,:)=(F_t(i,:)-F_w)/G; %动力因数endD_max=max(max(D)); %DI_maxalpha=asin((D_max-f*sqrt(1-D_max^2+f^2))/1+f^2); %α_maxi_max=tan(alpha) %最大爬坡度。
汽车动力性计算matlab程序
![汽车动力性计算matlab程序](https://img.taocdn.com/s3/m/f918753fb307e87101f696b1.png)
%% 汽车动力性计算(自己编的动力性计算程序,供大家计算动力性时参考,具体参数大家根据所给程序对应输入,并对坐标轴数值按需要进行修改)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 ongrid 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 ongrid onfor 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 onfor i=1:length(ig);plot(n,ua(i,:),'k');endhold ongrid onxlabel('转速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;endfigure(4)hold onfor i=1:length(ig);plot(ua(i,:), Ft(i,:),'k');plot(ua(i,:), F(i,:),'r');plot(ua(i,:), Ff(i,:),'b');endhold ongrid onxlabel('车速(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,:);endfigure(5)hold onfor i=1:length(ig);plot(ua(i,:), P(i,:),'k');plot(ua(i,:), Pz(i,:),'r');endhold ongrid onxlabel('车速(km/h)');ylabel('发动机功率、阻力功率(kW)');legend('发动机功率P','阻力功率Pz','Location','NorthWest'); title('功率平衡图');%% 动力特性图(动力因数图)for i=1:length(ig);D(i,:)= (Ft(i,:)- Fw(i,:))/M/g;endfigure(6)hold onfor i=1:length(ig);plot(ua(i,:), D(i,:),'k');plot(ua(i,:), f(i,:),'r');endhold ongrid onxlabel('车速(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; endfigure(7)hold onfor i=1:length(ig);if i==1plot(ua(i,:),I(i,:),'r');elseplot(ua(i,:),I(i,:),'k');endendhold ongrid onxlabel('车速(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==5for j=1:length(n)if a(i,j)<0a(i,j)=0;elseendendendendfigure(8)hold onfor i=1:length(ig);if i==1plot(ua(i,:),a(i,:),'r'); elseplot(ua(i,:),a(i,:),'k');endendhold ongrid onxlabel('车速(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);endendfigure(9)hold onfor i=1:length(ig)plot(ua(i,:),b(i,:),'k');endhold ongrid onxlabel('车速(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;endendad1=[ad1 b(i+1,j:length(n))]; ad2=[ad2 ua(i+1,j:length(n))];endfigure(10)hold onplot(ad2,ad1,'k');hold ongrid onxlabel('车速(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:kt(i,j)=abs(ua(i,j)-ua(i,j-1))*(b(i,j)+b(i,j-1))/2;endendfor i=1:length(ig);for j=1:kat(i,j)=sum(t(i,1:j))/3.6;endendtotalat=at(1,:);for i=1:(length(ig)-1);for j=flag(i):ktotalat=[totalat totalat(length(totalat))+t(i+1,j)/3.6];endendfigure(11)hold onplot(totalat,ad2,'k');hold ongrid onxlabel('时间(s)');ylabel('车速(km/h)');legend('加速时间','Location','NorthWest'); title('加速时间曲线图');axis([0 100 0 120])Welcome To Download !!!欢迎您的下载,资料仅供参考!。
基于matlab的纯电动汽车建模及动力特性仿真分析
![基于matlab的纯电动汽车建模及动力特性仿真分析](https://img.taocdn.com/s3/m/8ac1cc7c5acfa1c7aa00cc96.png)
杨三英,等·基于 matlab 的纯电动汽车建模及动力特性仿真分析
图 1 锂离子蓄电池模型
2) 功率限制模块( limit power) : 防止电池负载电流的
功率超出 SOC,等效电路和电动机控制器最小允许电压。
3) 电池负载电流计算模块 ( compute current) : 根据
pack Voc. Rint 模块输出电压及内阻、limit power 模块输出
Simulation and Analysis of Model and Dynamic Characteristics for Electric Vehicle Based on Matlab
YANG San-ying,ZHOU Yong-jun,MA Yuan ( Central South University of Forestry and Technology,Changsha 410004,China)
2 模型的建立
2. 1 蓄电池仿真模型
本文建立的锂离子蓄电池模型如图 1 所示。 该模型以电池的开路电压及电池内阻的特性函数为 基础,以电池荷电状态( state of charge,SOC) 的变化趋势 为依据建立起来的。模型主要包含以下五大模块。 1) 电池开路电压和内阻计算模块( pack Voc. rint) : 根据当前蓄电池的功率需求、电池温度以及实时的 SOC 值来计算单个电池的开路电压和内阻。
图 4 车速变化曲线
电动机的输出转矩是电动汽车动力特性的重要指标。 电动机驱动车轮工作时,转矩为正值; 在汽车制动时,转矩 为负值,有效地回收了制动能量,这对电动汽车节省能量、 增加行驶里程非常有意义。从图中看出,车辆在行驶过程 中,转矩输出 变 化 比 较 稳 定,提 高 了 车 辆 的 行 驶 平 稳 性。 车辆的电动机输出转矩及电动机转矩随转速变化曲线如 图 6 和图 7 所示。
基于MatlabSimulink的电动汽车仿真模型设计与应用
![基于MatlabSimulink的电动汽车仿真模型设计与应用](https://img.taocdn.com/s3/m/423803a06394dd88d0d233d4b14e852459fb3967.png)
基于MatlabSimulink的电动汽车仿真模型设计与应用一、本文概述随着全球能源危机和环境污染问题的日益严重,电动汽车作为一种清洁、高效的交通工具,受到了越来越多的关注和推广。
在电动汽车的研发过程中,仿真模型的建立与应用发挥着至关重要的作用。
本文旨在探讨基于Matlab/Simulink的电动汽车仿真模型设计与应用,旨在为电动汽车的设计、优化和控制提供理论支持和实践指导。
本文将对电动汽车仿真模型的重要性进行阐述,指出其在电动汽车研发过程中的地位和作用。
接着,将详细介绍Matlab/Simulink在电动汽车仿真模型设计中的应用,包括其强大的建模功能、灵活的仿真能力以及高效的算法处理能力等。
在此基础上,本文将重点讨论电动汽车仿真模型的设计方法。
包括电动汽车动力系统的建模、控制系统的建模以及整车模型的集成等。
将结合具体案例,对电动汽车仿真模型在实际应用中的效果进行展示和分析,以验证其有效性和可靠性。
本文还将对电动汽车仿真模型的发展趋势进行展望,探讨其在未来电动汽车研发中的潜在应用前景。
通过本文的研究,希望能够为电动汽车仿真模型的设计与应用提供有益的参考和启示,推动电动汽车技术的不断发展和进步。
二、电动汽车仿真模型设计基础电动汽车(EV)仿真模型的设计是一个涉及多个学科领域的复杂过程,其中包括电力电子、控制理论、车辆动力学以及计算机建模等。
在Matlab/Simulink环境中,电动汽车仿真模型的设计基础主要包括对车辆各子系统的理解和建模,以及如何利用Simulink提供的各种模块和工具箱进行模型的构建和仿真。
电动汽车的主要子系统包括电池管理系统(BMS)、电机控制系统(MCS)、车辆控制系统(VCS)以及车辆动力学模型。
这些子系统都需要根据实际的电动汽车设计和性能参数进行精确的建模。
电池管理系统(BMS)建模:电池是电动汽车的能源来源,因此,BMS建模对于电动汽车的整体性能至关重要。
BMS模型需要包括电池的荷电状态(SOC)估计、电池健康状况(SOH)监测、电池热管理以及电池能量管理等功能。
基于MATLAB编程绘制动力特性图分析汽车动力性
![基于MATLAB编程绘制动力特性图分析汽车动力性](https://img.taocdn.com/s3/m/d150a25a69eae009581bec7f.png)
10.16638/ki.1671-7988.2017.13.020基于MATLAB编程绘制动力特性图分析汽车动力性尹佣博(武汉理工大学汽车工程学院,湖北武汉430070 )摘要:汽车动力性主要由最高车速、加速时间、最大爬坡度三个指标来评价。
汽车动力性试验主要包括最高车速、起步连续换挡加速与超车加速和汽车最大爬坡度三大内容。
上述试验项目需要特定的试验路段,且耗时较长。
基于MA TLAB编程可以绘出发动机外特性曲线图和动力特性图,从动力特性图的角度研究汽车的动力性,不仅可以准确获得最高车速、加速时间和最大爬坡度等指标,还可以通过图像观察相关变化趋势,为进一步研究汽车的动力性提供了参考。
关键词:汽车动力性;MATLAB编程;动力特性图中图分类号:U461.2 文献标识码:A 文章编号:1671-7988 (2017)13-65-04Drawing dynamic characteristic diagram based on MATLAB programming toanalyze automobile powerYin Yongbo( Wuhan University of Technology. School of Automotive Engineering, Hubei Wuhan 430070 )Abstract:Vehicle dynamics mainly by the highest speed, acceleration time, the maximum climbing three indicators to evaluate. Vehicle power test includes the maximum speed, starting continuous shift acceleration and overtaking acceleration and the maximum car climbing three content. The pilot project requires a specific test section, and take a long time. Based on the MA TLAB programming, we can plot the engine characteristic curve and the dynamic characteristic diagram. From the view of the dynamic characteristic diagram, we can study the dynamic performance of the vehicle, not only can get the maximum vehicle speed, acceleration time and maximum climbing index, but also observe the correlation And provides a reference for further research on the dynamics of the vehicle.Keywords: Vehicle dynamics; MATLAB programming; Dynamic characteristics mapCLC NO.: U461.2 Document Code: A Article ID: 1671-7988 (2017)13-65-04前言汽车是高效率的交通工具,在汽车的众多性能中,动力性是汽车最重要的性能。
基于MATLAB的汽车动力性和燃油经济性仿真
![基于MATLAB的汽车动力性和燃油经济性仿真](https://img.taocdn.com/s3/m/d4324dee4afe04a1b071de84.png)
#iptables-t(表名)-L(链名)(如果不加表名默认显示# iptables X Filter表的规则)# iptables -P INPUT DROP
1)表名:filter表,nat表和mangle表。# iptables -P FORWARD DROP
1)整车原始数据:整备质量、迎风面积等[2];
2)发动机的原始特性数据:如发动机不同转速下的输出转矩及燃油消耗率等;
3)传动系各部件的原始特性数据:变速器及主减速器的传动比、传动效率等;
4)行走机构及路面原始特性数据。
1汽车发动机数学模型
发动机数学模型包括外特性数学模型和万有特性数学模型。利用MATLAB中的曲线拟合Polyfit,Polyval,Polyconf等函数可以很好的对发动机的特性曲线进行拟合[3],进而建立发动机性能参数之间的关系。本文以发动机台架实验数据为依据,采用插值法描述发动机万有特性;采用最小二乘法曲线拟合描述发动机外特性。
中图分类号:U4文献标识码:A文章编号:1671-7597(2010)1020187-01
0引言为起步时间;为起步过程结束时汽车最低车速,为道路负荷
汽车的动力性是指汽车在良好的路面上直线行驶时由汽车受到的纵向外力决定的所能达到的平均行驶速度[1]。在进行车辆动力性和燃油经济性计算时,需要以下原始数据:
3.4怠速工况
怠速停车燃油消耗量等于怠速停车时间与怠速燃油消耗的乘积。
3.5多工况循环百公里油耗
对于由等速、等加速、等减速、怠速停车等行驶工况组成的循环,总油耗为组成该循环的各工况油耗量之和,转化为试验循环的百公里油耗量为:
4实例分析
根据上述原理,对某国产轿车进行了动力性和燃油经济性仿真。该轿车采用1.8升发动机,五档机械式变速器,计算中所需的原始数据如下:
基于matlab的车辆工程仿真实例
![基于matlab的车辆工程仿真实例](https://img.taocdn.com/s3/m/f7c008ecac51f01dc281e53a580216fc700a538a.png)
基于matlab的车辆工程仿真实例基于MATLAB的车辆工程仿真实例MATLAB是一种强大的数学计算软件,广泛应用于各种领域,包括车辆工程。
在车辆工程中,MATLAB可以用于模拟和优化车辆的性能,例如加速、制动、悬挂、转向等。
本文将介绍一个基于MATLAB的车辆工程仿真实例,以展示MATLAB在车辆工程中的应用。
本实例是一个简单的车辆加速仿真,目的是评估车辆的加速性能。
仿真模型包括车辆、发动机、变速器和轮胎等组成部分。
车辆模型采用简化的二自由度模型,发动机模型采用简单的动力学方程,变速器模型采用离散化的传动比,轮胎模型采用简单的摩擦力模型。
仿真过程中,输入加速踏板位置信号,输出车辆速度和加速度信号。
下面是仿真的主要步骤:1. 定义车辆模型参数,包括质量、惯性、轮距、轴距、重心高度等。
2. 定义发动机模型参数,包括最大功率、最大扭矩、转速范围等。
3. 定义变速器模型参数,包括传动比、换挡时间等。
4. 定义轮胎模型参数,包括摩擦系数、轮胎半径等。
5. 编写仿真程序,包括车辆动力学方程、变速器控制逻辑、轮胎摩擦力计算等。
6. 运行仿真程序,输入加速踏板位置信号,输出车辆速度和加速度信号。
7. 分析仿真结果,评估车辆的加速性能,例如0-100km/h加速时间、最大加速度等。
通过这个实例,我们可以看到MATLAB在车辆工程中的强大应用。
MATLAB提供了丰富的数学计算和仿真工具,可以帮助工程师快速建立车辆模型、优化车辆性能、评估车辆安全性等。
同时,MATLAB还可以与其他工具和平台集成,例如Simulink、CANape 等,进一步扩展其应用范围。
MATLAB是车辆工程中不可或缺的工具之一,它可以帮助工程师更好地理解和优化车辆性能,提高车辆的安全性、舒适性和环保性。
汽车动力性 matlab程序
![汽车动力性 matlab程序](https://img.taocdn.com/s3/m/f137baf24693daef5ef73d9b.png)
%电动汽车的动力性计算% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%n1=[180:35:2000]n2=[2000:100:7200]im=2.93m=17000A=7.95CD=0.7R=0.475eta=0.92deta=1.29k=0.90i0=6.2E=180etab=0.95ua1=0.377*n1*R/(i0*im)%行驶速度ua2=0.377*n2*R/(i0*im)%行驶速度f1=0.0076+0.000056*ua1f2=0.0076+0.000056*ua2b0=447.52b1=-0.165465b2=3.60772*10^-5b3=-3.61349*10^-9 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% figure(1)Tm1=1146Tm2=b0+b1*(n2-4518.2)+b2*(n2-4518.25).^2+b3*(n2-4518.2).^3;F1=Tm1*im.*i0.*eta/R%驱动力F2=Tm2*im*i0*eta/R%驱动力ua1=0.377*n1*R/(i0*im)%行驶速度ua2=0.377*n2*R/(i0*im)%行驶速度Fw1=CD*A*ua1.^2/21.15Fw2=CD*A*ua2.^2/21.15Ff1=m*9.8*f1%滚动阻力Ff2=m*9.8*f2%滚动阻力Fz1=Ff1+Fw1Fz2=Ff2+Fw2plot(ua1,F1,ua2,F2,ua1,Fz1,ua2,Fz2)title('驱动力-行驶阻力平衡图')xlabel('ua/(km.h)')ylabel('F(N)')grid on %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% figure(2)Pe1=n1.*Tm1/9550;%发动机功率计算公式Pe2=n2.*Tm2/9550;%发动机功率计算公式Pef1=n1.*Fz1/9550;Pef2=n2.*Fz2/9550;plot(ua1,Pe1,ua2,Pe2)title('功率平衡图-驱动力')xlabel('ua/(km.h)')ylabel('P/kW')grid onfigure(3)plot(ua1,Pef1,ua2,Pef2)title('功率平衡图-阻力')xlabel('ua/(km.h)')ylabel('P/kW')grid on %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% figure(4)D1=(F1-Fw1)/(m*9.8)D2=(F2-Fw2)/(m*9.8)j1=sin(D1-f1.*((1+f1.^2-D1.^2)/(1+f1.^2)))j2=sin(D2-f2.*((1+f2.^2-D2.^2)/(1+f2.^2)))q1=asin(j1)q2=asin(j2)i1=tan(q1)%爬坡度i2=tan(q2)%爬坡度%dua/dt=9.8*(D-f)/deta%plot(ua1,j1,ua2,j2)title('爬坡度曲线')xlabel('ua/(km.h)')ylabel('角度')grid on %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% figure(5)aa1=9.8*(D1-f1)/detaaa2=9.8*(D2-f2)/detaplot(ua1,aa1,ua2,aa2)title('加速度曲线')xlabel('ua/(km.h)')ylabel('加速度(m.s^-2)')grid on %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% figure(6)aa1=9.8*(D1-f1)/detaaa2=9.8*(D2-f2)/detabb1=aa1.^-1bb2=aa2.^-1plot(ua1,bb1,ua2,bb2)title('加速度曲线')xlabel('ua/(km.h)')ylabel('加速度的倒数(s^-2。
基于MATLAB的汽车动力性及燃油经济性的计算机仿真
![基于MATLAB的汽车动力性及燃油经济性的计算机仿真](https://img.taocdn.com/s3/m/9f9282c9250c844769eae009581b6bd97e19bc43.png)
SCIENCE &TECHNOLOGY VISION 科技视界0引言动力性和燃油经济性是汽车性能的重要指标,石油价格的飞速上涨,对汽车性能有了更高的要求。
动力性和燃油经济性的计算机仿真能准确、快速、有效的预测性能指标。
节省实车试验中不必要的巨额浪费及实车道路试验中驾驶员、道路环境、气候等因素对汽车使用性能测定的影响,在新车设计中迅速且经济地选择最佳方案。
1发动机数学模型发动机数学模型是整车动力性和燃油经济性仿真计算的重要依据,包括外特性数学模型和万有特性数学模型。
本文以发动机台架实验数据为依据,采用插值法描述发动机万有特性;采用最小二乘法曲线拟合描述发动机外特性。
1.1发动机的外特性在进行动力性估算时,一般仍沿用稳态工况时发动机台架试验所得到的使用外特性中的功率与转矩曲线。
稳定工况时发动机转矩曲线基本呈抛物线形状,并且为转速的一元函数,所以采用最小二乘法曲线拟合法描述。
T tq =a 0+a 1n+a 2n 2+…+a k nk式中n 为发动机转速(r/min);T tq 为稳定工况下发动机转矩(N ·m);系数a 0,a 1,a 2,…,a k 可由最小二乘法来确定;拟合阶数k 随特性曲线而异,一般在2、3、4、5中选取。
1.2发动机万有特性发动机的万有特性是个二元函数,燃油消耗率b 是发动机转速n 和功率p 的函数,国内外多采用试验数据的矩阵描述方法,需要时插值提取;国内也有采用曲面拟合法的,但要小心其系数矩阵可能出现病态。
本文采用插值法比较迅速,精度的高低取决于数据点的疏密程度,可真实的反映万有特性的局部特点。
二元插值公式:b=b (n ,p )=i+2m =i∑i+2k =jb (n j ,p i )[]j =m{其中n k ,p m ,b(n k ,p m )为给定的万有特性上的节点。
发动机转矩、油门开度与转速之间的关系复杂,通过试验测试只能得到部分点值。
为了得到任意工况下的燃油消耗率值,必须仿真出燃油消耗率值与发动机转速和转矩之间的函数关系,建立发动机燃油消耗率模型。
汽车系统动力学Matlab
![汽车系统动力学Matlab](https://img.taocdn.com/s3/m/bc50698f0975f46526d3e12d.png)
汽车系统动力学Matlab作业报告小组成员:一、组内任务分配二、Matlab程序与图形1、不同转向特性车辆在不同车速下的系统特征根m=1000;I=1500;a1=1.15;b1=1.35;Caf=53000;Car=53000;i=1;R=[];for uc=10:5:100;D=(I*(Caf+Car)+m*(a1^2*Caf+b1^2*Car))/(m*I*uc);S=(a1+b1)^2*Caf*Car/(m*I*uc^2)+(b1*Car-a1*Caf)/I;P=[1 D S];r=roots(P);R(i,1)=r(1,1);R(i,2)=r(2,1);i=i+1;endplot(real(R(:,1)),imag(R(:,1)),'bo');holda2=1.25;b2=1.25;t=1;S=[];for uc=10:5:100P=[m 0;0 I];Q=[(Caf+Car)/uc,m*uc+(a2*Caf-b2*Car)/uc;(a2*Caf-b2*Car)/uc,(a2^2*Caf+b 2^2*Car)/uc];R=[Caf;a2*Caf];A=-P^(-1)*Q;d=eig(A);i=imag(d);r=real(d);S(t,1)=r(1);S(t,2)=i(1);t=t+1;endplot(S(:,1),S(:,2),'*')a3=1.35;b3=1.15;for uc=10:5:100P=[m 0;0 I];Q=[(Caf+Car)/uc,m*uc+(a3*Caf-b3*Car)/uc;(a3*Caf-b3*Car)/uc,(a3^2*Caf+b3^2*Car)/uc];R=[Caf;a3*Caf];A=-P^(-1)*Q;d=eig(A);i=imag(d);r=real(d);S(t,1)=r(1);S(t,2)=i(1);t=t+1;endgrid onplot(S(:,1),S(:,2),'d');axis([-14 2 0 3]);xlabel('实轴(Re)');ylabel('虚轴(Im)');text(-8,2.8,'不足转向');text(0,0.2,'过多转向');text(-3,0.2,'中性转向')set(gca,'FontName','Helvetica','FontSize',10)title(['不同转向特性车辆在不同车速下的系统特征根'],'FontSize',12);2.1、具有不同转向特性车辆的横摆角速度幅频和相频响应m=1000;I=1500;a1=1.15;a2=1.25;a3=1.35;b1=1.35;b2=1.25;b3=1.15;Caf=53000;Car=53000;D=[];C=[];M=[];uc=20;i=1;for f=0.1:0.1:10w=2*pi*f;E=[1 0;0 1];P=[m 0;0 I];R1=[Caf;a1*Caf];R2=[Caf;a2*Caf];R3=[Caf;a3*Caf];Q1=[(Caf+Car)/uc m*uc+(a1*Caf-b1*Car)/uc;(a1*Caf-b1*Car)/uc (a1^2*Caf+b1^2*Car)/uc];Q2=[(Caf+Car)/uc m*uc+(a2*Caf-b2*Car)/uc;(a2*Caf-b2*Car)/uc (a2^2*Caf+b2^2*Car)/uc];Q3=[(Caf+Car)/uc m*uc+(a3*Caf-b3*Car)/uc;(a3*Caf-b3*Car)/uc (a3^2*Caf+b3^2*Car)/uc];A1=-inv(P)*Q1;A2=-inv(P)*Q2;A3=-inv(P)*Q3;B1=inv(P)*R1;B2=inv(P)*R2;B3=inv(P)*R3;Hw1=-inv(A1-1i*w*E)*B1;Hw2=-inv(A2-1i*w*E)*B2;Hw3=-inv(A3-1i*w*E)*B3;D(i,1)=angle(Hw1(2))*180/pi;D(i,2)=abs(Hw1(2));C(i,1)=angle(Hw2(2))*180/pi;C(i,2)=abs(Hw2(2));M(i,1)=angle(Hw3(2))*180/pi;M(i,2)=abs(Hw3(2));i=i+1;endsubplot(2,1,1)f=0.1:0.1:10;semilogx(f,D(:,2),'k',f,C(:,2),'r-.',f,M(:,2))grid onset(gca,'Xtick',[0.1,0.3,1.5,3,10])set(gca,'FontName','Helvetica','FontSize',10)legend('不足转向','中性转向','过多转向')title(['具有不同转向特性车辆的横摆角速度幅频响应'],'FontSize',12); xlabel('频率/Hz')ylabel('横摆角速度增益/{(°/s)/(°)}')subplot(2,1,2)f=0.1:0.1:10;semilogx(f,D(:,1),'k',f,C(:,1),'r-.',f,M(:,1))m=1000;I=1500;a1=1.15;a2=1.25;a3=1.35;b1=1.35;b2=1.25;b3=1.15;Caf=53000;Car=53000;D=[];C=[];M=[];uc=20;i=1;for f=0.1:0.1:10w=2*pi*f;E=[1 0;0 1];P=[m 0;0 I];R1=[Caf;a1*Caf];R2=[Caf;a2*Caf];R3=[Caf;a3*Caf];Q1=[(Caf+Car)/uc m*uc+(a1*Caf-b1*Car)/uc;(a1*Caf-b1*Car)/uc (a1^2*Caf+b1^2*Car)/uc];Q2=[(Caf+Car)/uc m*uc+(a2*Caf-b2*Car)/uc;(a2*Caf-b2*Car)/uc (a2^2*Caf+b2^2*Car)/uc];Q3=[(Caf+Car)/uc m*uc+(a3*Caf-b3*Car)/uc;(a3*Caf-b3*Car)/uc (a3^2*Caf+b3^2*Car)/uc];A1=-inv(P)*Q1;A2=-inv(P)*Q2;A3=-inv(P)*Q3;B1=inv(P)*R1;B2=inv(P)*R2;B3=inv(P)*R3;Hw1=-inv(A1-1i*w*E)*B1;Hw2=-inv(A2-1i*w*E)*B2;Hw3=-inv(A3-1i*w*E)*B3;D(i,1)=angle(Hw1(2))*180/pi;D(i,2)=abs(Hw1(2));C(i,1)=angle(Hw2(2))*180/pi;C(i,2)=abs(Hw2(2));M(i,1)=angle(Hw3(2))*180/pi;M(i,2)=abs(Hw3(2));i=i+1;endsubplot(2,1,1)f=0.1:0.1:10;semilogx(f,D(:,2),'k',f,C(:,2),'r-.',f,M(:,2))grid onset(gca,'Xtick',[0.1,0.3,1.5,3,10])set(gca,'FontName','Helvetica','FontSize',10)legend('不足转向','中性转向','过多转向')title(['具有不同转向特性车辆的横摆角速度幅频响应'],'FontSize',12); xlabel('频率/Hz')ylabel('横摆角速度增益/{(°/s)/(°)}')subplot(2,1,2)f=0.1:0.1:10;semilogx(f,D(:,1),'k',f,C(:,1),'r-.',f,M(:,1))grid onset(gca,'Xtick',[0.1,0.3,1.5,3,10])set(gca,'FontName','Helvetica','FontSize',10)legend('不足转向','中性转向','过多转向')title(['具有不同转向特性车辆的横摆角速度相频响应'],'FontSize',12); xlabel('频率/Hz')ylabel('横摆角速度相位(°)')grid onset(gca,'Xtick',[0.1,0.3,1.5,3,10])set(gca,'FontName','Helvetica','FontSize',10)legend('不足转向','中性转向','过多转向')title(['具有不同转向特性车辆的横摆角速度相频响应'],'FontSize',12); xlabel('频率/Hz')ylabel('横摆角速度相位(°)')2.2、具有不同转向特性车辆的侧向加速度和相频响应m=1000;I=1500;a1=1.15;a2=1.25;a3=1.35;b1=1.35;b2=1.25;b3=1.15;Caf=53000;Car=53000;D=[];C=[];M=[];uc=20;L=a1+b1;i=1;for f=0.1:0.1:10w=2*pi*f;E=[1 0;0 1];Vi=w*I*Caf;Rr=L*Caf*Car/uc;Vr1=(L*b1*Caf*Car/uc-m*a1*Caf*uc);Vr2=(L*b2*Caf*Car/uc-m*a2*Caf*uc);Vr3=(L*b3*Caf*Car/uc-m*a3*Caf*uc);Ri1=w*m*a1*Caf;Ri2=w*m*a2*Caf;Ri3=w*m*a3*Caf;Dr1=-w^2*m*I+L^2*Caf*Car/(uc^2)+m*(b1*Car-a1*Caf);Dr2=-w^2*m*I+L^2*Caf*Car/(uc^2)+m*(b2*Car-a2*Caf);Dr3=-w^2*m*I+L^2*Caf*Car/(uc^2)+m*(b3*Car-a3*Caf);Di1=w*(I*(Caf+Car)+m*(a1^2*Caf+b1^2*Car))/uc;Di2=w*(I*(Caf+Car)+m*(a2^2*Caf+b2^2*Car))/uc;Di3=w*(I*(Caf+Car)+m*(a3^2*Caf+b3^2*Car))/uc;Hay1=1i*w*(Vr1+1i*Vi)/(Dr1+1i*Di1)+uc*(Rr+1i*Ri1)/(Dr1+1i*Di1);Hay2=1i*w*(Vr2+1i*Vi)/(Dr2+1i*Di2)+uc*(Rr+1i*Ri2)/(Dr2+1i*Di2);Hay3=1i*w*(Vr3+1i*Vi)/(Dr3+1i*Di3)+uc*(Rr+1i*Ri3)/(Dr3+1i*Di3);D(i,1)=angle(Hay1)*180/pi;D(i,2)=abs(Hay1);C(i,1)=angle(Hay2)*180/pi;C(i,2)=abs(Hay2);M(i,1)=angle(Hay3)*180/pi;M(i,2)=abs(Hay3);i=i+1;endsubplot(2,1,1)f=0.1:0.1:10;semilogx(f,D(:,2)*(pi/(180*9.8)),'k',f,C(:,2)*(pi/(180*9.8)),'r-.',f,M(:,2)*(pi/(18 0*9.8)))grid onset(gca,'XTick',[0.1 0.3 1 3 10])set(gca,'FontName','Helvetica','FontSize',10)legend('不足转向','中性转向','过多转向')title(['具有不同转向特性车辆的侧向加速度幅频响应'],'FontSize',12); xlabel('频率/Hz')ylabel('侧向加速度增益/[g/(°)]')subplot(2,1,2)f=0.1:0.1:10;semilogx(f,D(:,1),'k',f,C(:,1),'r-.',f,M(:,1))grid onlegend('不足转向','中性转向','过多转向')set(gca,'XTick',[0.1 0.3 1 3 10])set(gca,'FontName','Helvetica','FontSize',10)title(['具有不同转向特性车辆的侧向加速度幅频响应'],'FontSize',12);axis([0.1 10 -120 120])xlabel('频率/Hz')ylabel('侧向加速度相位(°)')2.3、 ABS控制器设计w0=120;v0=30;Tb=600;ki=4500;kd=5000;Ts=0.05;Iw=12; rd=0.25;uh=0.8;ug=0.6;s0=0.2;m=300;g=9.8;w=[];v=[];s=[];w(1)=120;v(1)=30;s(1)=0;k=0;i=2;while(v0>0)k=k+1;sb=(v0-rd*w0)/v0;s(i)=sb;if sb<=s0u=uh/s0*sb;else u=(uh-ug*s0)/(1-s0)-rd*sb;endFxb=u*m*g;if sb>0.22Tb=Tb-kd*Ts;elseif sb<0.18Tb=Tb+ki*Ts;else Tb=Tb;endw0=w0+(Fxb*rd-Tb)/Iw*Ts;w(i)=w0;v0=v0-Fxb/m*Ts;v(i)=v0;i=i+1;endt=[0:Ts:Ts*k];subplot(2,1,1)plot(t,v,t,w*rd);grid onlegend('车轮前进速度','车轮线速度');set(gca,'FontName','Helvetica','FontSize',10)title(['车轮前进速度与车轮线速度关系曲线'],'FontSize',12); xlabel('时间/(s)');ylabel('速度/(m/s)');axis([0,Ts*k,0,32]);subplot(2,1,2)plot(t,s);axis([0,Ts*k,0,1]);grid onset(gca,'FontName','Helvetica','FontSize',10)title(['ABS控制的滑移率时域仿真结果'],'FontSize',12); xlabel('时间/(s)');ylabel('滑移率');set(gca,'Ytick',0:0.2:1)3、扭振系统振型图J1=[1.986*10^(-3);1.910*10^(-3);1.931*10^(-3);1.931*10^(-3);1.910*10^(-3);1.924*10^(-3);7.8426*10^(-2);2.258*10^(-3);2.641*10^(-2);2.91*10^(-3);2.51*10^(-3);1.77*10^(-3);7.836*10^(-2);3.238];K1=[7.95*10^4;7.95*10^4;6.95*10^4;7.95*10^4;7.95*10^4;6.90*10^4;8.93*10^3;1.41*10^4;1.02*10^4;4.4*10^3;1.38*10^4;1.616*10^2;2.51*10^2];J=diag(J1);K(1,1)=K1(1);K(1,2)=-K1(1);i=2;for i=2:13;K(i,i-1)=-K1(i-1);K(i,i)=K1(i-1)+K1(i);K(i,i+1)=-K1(i);endK(14,13)=-K1(13);K(14,14)=K1(13);A=inv(J)*K;[G,D]=eig(A);f=sqrt(D)/(2*pi);m=1;while m<=14G(:,m)=G(:,m)/G(1,m)m=m+1endsubplot(3,2,1)plot((G(:,13)))xlabel('质点号');set(gca,'FontName','Helvetica','FontSize',10)grid ontitle(['单节点振型图(4.26Hz)'],'FontSize',12) axis([1 15 -0.2 1.1])subplot(3,2,2)plot(G(:,12))xlabel('质点号');set(gca,'FontName','Helvetica','FontSize',10)grid onaxis([1 15 -5 1.2])title(['双节点振型图(11.99Hz)'],'FontSize',12) subplot(3,2,3)plot(G(:,11))xlabel('质点号');set(gca,'FontName','Helvetica','FontSize',10)grid onaxis([1 15 -7 1.2])title(['三节点振型图(73.9Hz)'],'FontSize',12) subplot(3,2,4)plot(G(:,10))xlabel('质点号');set(gca,'FontName','Helvetica','FontSize',10)grid ontitle(['四节点振型图(147.7Hz)'],'FontSize',12)axis([1 15 -9 37])subplot(3,2,5)plot(G(:,9))xlabel('质点号');set(gca,'FontName','Helvetica','FontSize',10)grid onaxis([1 15 -0.2 1.1])title(['五节点振型图(252Hz)'],'FontSize',12)5、福特Granada轿车后悬架单轮模型频率响应函数和系统相应输入功率谱密度mb=317.5;mw=45.4;ks=22000;kt=192000;cs=1500;Go=5*10^(-6);Uc=20;n=1;B=[];D=[];for f=0:0.01:15w=2*pi*f;Sf=4.47*10^(-4)*power(f,-2.5);A=[i*cs*w+(ks+kt-w^2*mw),-i*cs*w-ks;-i*cs*w-ks,i*cs*w+(ks-mb*w^2)];C=[kt;0];D=-A^(-1)*C;B(1,n)=abs(D(2)-D(1));B(2,n)=abs(-D(2)*w^2);B(3,n)=abs(kt*(D(1)-1));B(4,n)=Sf;B(5,n)=B(2,n)^2*Sf;B(6,n)=B(1,n)^2*Sf;B(7,n)=B(3,n)^2*Sf;n=n+1;endf=0:0.01:15subplot(3,2,1)plot(f,B(1,:));xlabel('频率/Hz')ylabel('悬架动行程增益')grid onsubplot(3,2,2);plot(f,B(2,:));grid onxlabel('频率/Hz')ylabel('不舒适性参数增益/[(m/s^2)/m]') subplot(3,2,3);plot(f,B(3,:));grid onxlabel('频率/Hz')ylabel('轮胎动载荷增益/[N/m]')subplot(3,2,4)plot(f,B(6,:));xlabel('频率/Hz')ylabel('悬架动行程功率谱密度/[m^2/Hz]') grid onsubplot(3,2,5);plot(f,B(5,:));grid onxlabel('频率/Hz')ylabel('不舒适性功率谱密度/[(m/s^2)^2/Hz]')subplot(3,2,6);plot(f,B(7,:));grid onxlabel('频率/Hz')ylabel('轮胎动载荷功率谱密度/[N^2/Hz]')6、魔术公式xdata = [0 0.78 1.88 2.79 3.80 4.82 6.29 7.82 9.31 11.80];ydata = [0 7.99 16.05 20.65 23.82 26.00 27.78 28.87 29.65 30.09]; zdata = [0 1.65 1.61 0.77 -0.21 -1.03 -1.90 -2.59 -2.61 -2.68];a0 = [11 1 0.8 1];b0 = [1 1 0.8 1];a = lsqcurvefit(@fun1, a0, xdata, ydata);b = lsqcurvefit(@fun2, b0, xdata, zdata);yy = fun1(a,xdata);zz = fun2(b,xdata);subplot(2,1,1)hold onscatter(xdata, ydata);grid onplot(xdata, yy);set(gca,'FontName','Helvetica','FontSize',10)title(['MF公式拟合轮胎侧偏力-侧偏角曲线'],'FontSize',12);xlabel('侧偏角α/(°)')ylabel('侧偏力Fy/(N)')subplot(2,1,2)hold on;scatter(xdata,zdata);grid onplot(xdata, zz);set(gca,'FontName','Helvetica','FontSize',10)title(['MF公式拟合轮胎回正力矩-侧偏角曲线'],'FontSize',12); xlabel('侧偏角α/(°)')ylabel('回正力矩Mz/(N·m)')function y = fun1(a,xdata);y=a(1)*sin(a(2)*atan(a(3)*xdata-a(4)*(a(3)*xdata-atan(a(3)*xdata))))function z = fun2(b,xdata);z=b(1)*sin(b(2)*atan(b(3)*xdata-b(4)*(b(3)*xdata-atan(b(3)*xdata))))三、结论通过实际Matlab编程,不仅巩固了课堂知识,并且学以致用,更加深入地了解到了应该如何运用,解决问题。
车辆工程基于MATLAB的动力性仿真分析及优化设计程序
![车辆工程基于MATLAB的动力性仿真分析及优化设计程序](https://img.taocdn.com/s3/m/214c632989eb172dec63b750.png)
n=linspace(600,4000,100);%均分计算指令,600最低转速,4000最高转速,均分为100等分r=0.367;i0=5.83;nt=0.85;G=3880*9.8;f=0.013;CDA=2.77;If=0.218;Iw1=1.798;Iw2=3.598;m=3880;L=3.2;a=1.947;hg=0.9;ig=[6.09,3.09,1.71,1.00];%输入参数ua1=0.377*r*n/i0/ig(1);ua2=0.377*r*n/i0/ig(2);ua3=0.377*r*n/i0/ig(3);ua4=0.377*r*n/i0/ig(4);%各转速各挡位下的速度Tq=-19.313+295.27*(n/1000)-165.44*(n/1000).^2+40.874*(n/1000).^3-3.8445*(n/1000).^4;%从600~4000rpm油拟合公式计算发动机转距Ft1=Tq*i0*ig(1)*nt/r;Ft2=Tq*i0*ig(2)*nt/r;Ft3=Tq*i0*ig(3)*nt/r;Ft4=Tq*i0*ig(4)*nt/r;%从600~4000rpm各挡位的驱动力Ff=G*f;ua=linspace(0,200,100);Fw=CDA*ua.*ua/21.15;%空气阻力plot(ua1,Ft1,ua2,Ft2,ua3,Ft3,ua4,Ft4,ua,Ff+Fw);%画出各挡位的Ua-Ft,及Ua-Ff+Ftxlabel('ua/ km/h');ylabel('F/N');%标注横纵轴title('汽车驱动力-行驶阻力平衡图');%标注图形题目gtext('Ft1'),gtext('Ft2'),gtext('Ft3'),gtext('Ft4'),gtext('Ff+Fw');%给每根线条添加符号legend('Ft1','Ft2','Ft3','Ft4','Ff+Fw');%标注图例umax=max(ua4);disp('汽车最高车速=');disp(umax);disp('km/h');imax=tan(asin(max((Ft1-(Ff+Fw))/G)));%最大爬坡度的公式disp('汽车最大爬坡度=');disp(imax);%输出最高车速,与最大爬坡度的结果n=600:1:4000;%600最低转速,4000最高转速,相邻数组间隔1 r=0.367;i0=5.83;eff=0.85;f=0.013;CdA=2.77;m=3880;g=9.8; %输入参数G=m*g;Ttq=-19.313+295.27*n/1000-165.44*(n/1000).^2+40.874*(n/1000).^3-3.8445*(n/1000).^4; %从600~4000rpm油拟合公式计算发动机转距for ig=[6.09,3.09,1.71,1.00]Ua=0.377*r*n/ig/i0; %各转速各挡位下的速度Pe=Ttq.*n/9550; %各转速下的功率plot(Ua,Pe);hold on; %使当前轴及图形保持而不被刷新,准备承受此后将绘制的图形,多图共存endUa=0:0.1:max(Ua);Pf=G*f*Ua/3600; %滚动阻力Pw=CdA*Ua.^3/76140; %空气阻力plot(Ua,(Pf+Pw)/eff);title('汽车的功率平衡图'),xlabel('Ua/(km/h)'),ylabel('P/kw');%画出汽车的功率平衡图gtext('Ft1'),gtext('Ft2'),gtext('Ft3'),gtext('Ft4'),gtext('(Pf+Pw)/nt');legend('Ⅰ','Ⅱ','Ⅲ','Ⅳ','Pf+Pw/nt');n=600:1:4000;%600最低转速,4000最高转速,相邻数组间隔r=0.367;i0=5.83;nt=0.85;f=0.013;CdA=2.77;m=3880;g=9.8; %输入参数G=m*g;Ttq=-19.313+295.27*n/1000-165.44*(n/1000).^2+40.874*(n/1000).^3-3.8445*(n/1000).^4; %从600~4000rpm油拟合公式计算发动机转距for ig=[6.09,3.09,1.71,1.00]Ua=0.377*r*n/ig/i0;Ft=Ttq*i0*ig*nt/r;Fw=CdA*Ua.^2/21.15;D=(Ft-Fw)/G %汽车动力因子公式plot(Ua,D); %画出汽车动力特性图hold on; %使当前轴及图形保持而不被刷新,准备承受此后将绘制的图形,多图共存endf=0.0076+0.000056*Ua%滚动阻力与速度之间的关系plot(Ua,f); %画出速度与滚动阻力图title('汽车动力特性图'),%给图加题目xlabel('Ua/(km/h)'),ylabel('D');gtext('Ⅰ'),gtext('Ⅱ'),gtext('Ⅲ'),gtext('Ⅳ'),gtext('f');legend('Ⅰ','Ⅱ','Ⅲ','Ⅳ','f');n=600:10:4000; %600最低转速,4000最高转速,相邻数组间隔10m=3880;g=9.8;nmin=600;nmax=4000;G=m*g;ig=[6,09 3.09 1.71 1.00];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;%输入参数Tq=-19.313+295.27*(n/1000)-165.44*(n/1000).^2+40.874*(n/1000).^3-3.8445*(n/1000).^4;%从600~4000rpm油拟合公式计算发动机转距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; %各转速各挡位下的驱动力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; %各挡位各转速下的速度Fw1=CDA*ua1.^2/21.15;Fw2=CDA*ua2.^2/21.15;Fw3=CDA*ua3.^2/21.15;Fw4=CDA*ua4.^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); %不同挡位下的汽车旋转质量换算系数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; %各挡位下的加速度plot(ua1,ad1,ua2,ad2,ua3,ad3,ua4,ad4);title('汽车的加速度倒数曲线');xlabel('ua(km/h)'); ylabel('1/a〕'); %作汽车加速度倒数曲线gtext('1/a1'),gtext('1/a2'),gtext('1/a3'),gtext('1/a4');legend('1/a1','1/a2','1/a3','1/a4');n=600:10:4000;m=3880;g=9.8;nmin=600;nmax=4000;G=m*g;ig=[6.09 3.09 1.71 1.00];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; %输入参数Tq=-19.313+295.27*(n/1000)-165.44*(n/1000).^2+40.874*(n/1000).^3-3.8445*(n/1000).^4; %从600~4000rpm油拟合公式计算发动机转距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;%各转速各挡位下的驱动力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;%各挡位各转速下的速度Fw1=CDA*ua1.^2/21.15;Fw2=CDA*ua2.^2/21.15;Fw3=CDA*ua3.^2/21.15;Fw4=CDA*ua4.^2/21.15;%不同速度下的空气阻力Ff=G*f;i1=asin((Ft1-Ff-Fw1)/G);i2=asin((Ft2-Ff-Fw2)/G);i3=asin((Ft3-Ff-Fw3)/G);i4=asin((Ft4-Ff-Fw4)/G);%不同档位下的坡度plot(ua1,i1,ua2,i2,ua3,i3,ua4,i4);title('汽车的爬坡度图');xlabel('ua/(km*h^-1)');ylabel('i/%');%作汽车的坡度图gtext('Ⅰ'),gtext('Ⅱ'),gtext('Ⅲ'),gtext('Ⅳ');m=3880;g=9.8;r=0.367;nt=0.85;f=0.013;CdA=2.77;i0=5.83;pg=7.1;%汽油的重度取7.1N/Lig=[6.09 3.09 1.71 1];n=600:1:4000;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);%使用三次样条插值,保证曲线的光滑连续ua3=0.377*r*n/ig(3)/i0;ua4=0.377*r*n/ig(4)/i0; %求出发动机转速围对应的3、4档车速Pe3=(m*g*f*ua3/3600+CdA*ua3.^3/76140)/0.85;Pe4=(m*g*f*ua4/3600+CdA*ua4.^3/76140)/0.85; %发动机功率for i=1:1:3401 %用拟合公式求出各个燃油消耗率b3(i)=B0(i)+B1(i)*Pe3(i)+B2(i)*Pe3(i).^2+B3(i)*Pe3(i).^3+B4(i)*Pe3(i).^4;b4(i)=B0(i)+B1(i)*Pe4(i)+B2(i)*Pe4(i).^2+B3(i)*Pe4(i).^3+B4(i)*Pe4(i).^4; %插值得出对应速度的燃油消耗率endQ3=Pe3.*b3./(1.02.*ua3.*pg);Q4=Pe4.*b4./(1.02.*ua4.*pg); %3.4挡等速百公里燃油消耗量plot(ua3,Q3,ua4,Q4);title('最高档与次高档等速百公里油耗曲线'); %画出最高档与次高档等速百公里油耗曲线xlabel('ua(km/h)'); ylabel('百公里油耗〔L/100km〕');gtext('3档'),gtext('4档');。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
clc
n=[1500:500:5500];%转速范围
T=[78.59 83.04 85.01 86.63 87.09 85.87 84.67 82.50 80.54];%对应各转矩
dt=polyfit(n,T,3);%对发动机输出转矩特性进行多项式拟合,阶数取4
n1=1000:100:5500;%????
t=polyval(dt,n1);
figure(1)
title('发动机外特性')
plot(n1,t,n,T,'o'),grid on%图示发动机输出转矩特性
%汽车驱动力计算
G=input('整车重力/N,G=');%输入970*9.8
ig=[3.416 1.894 1.28 0.914 0.757];%变速器速比
k=1:5;%5个前进档
r=0.272;i0=4.388;eta=0.9;
ngk=[800 800 800 800 800];
ngm=[5500 5500 5500 5500 5500];
ugk=0.377.*r.*ngk(k)./(ig(k).*i0);%计算每一档发动机800rpm时的最低行驶速度ugm=0.377.*r.*ngm(k)./(ig(k).*i0);%计算每一档发动机5400rpm最高行驶速度
for k=1:5%依次计算5个档的驱动力
u=ugk(k):ugm(k);
n=ig(k)*i0.*u./r/0.377;
t=54.8179+2.2441.*(n./100)-4.8003.*(n./1000).^2+2.815e-10.*n.^3
Ft=t.*ig(k).*i0*eta/r;
figure(2)
plot(u,Ft)
hold on,grid on %保证K的每次循环的图形都保留显示
end
%行驶阻力计算
f0=0.009;
f1=0.002;
f4=0.0003;%三者都是轿车滚动阻力系数
% disp'空气阻力系数Cd=0.3--0.41,迎风面积A=1.7--2.1'
Cd=input('空气阻力系数Cd=');%输入0.3
A=input('迎风面积/m2,A=');%输入2.3
u=0:10:180;
f=f0+f1.*(u./100)+f4.*(u./100).^4;
Ff=G*f;%计算滚动阻力
Fw=Cd*A.*u.^2./21.15;%计算空气阻力
F=Ff+Fw;%滚动阻力、空气阻力之和
title('驱动力-阻力图(五档速比为3.416 1.894 1.28 0.914 0.757)')
plot(u,F,'mo-');
grid on
%图解法求最高车速
for u=50:180;k=5;
n=ig(k)*i0.*u./r/0.377;
t=54.8179+2.2441.*(n./100)-4.8003.*(n./1000).^2+2.815e-10.*n.^3;
Ft=t.*ig(k).*i0*eta/r;
f=f0+f1.*(u./100)+f4.*(u./100).^4;
Ff=G*f;
Fw=Cd*A.*u.^2./21.15;
F=Ff+Fw;
if abs(Ft-F)<1;
umax=u;break
end
end
disp('== == =汽车动力性能仿真计算结果== == =')
disp('驱动力-行驶阻力平衡图及最高车速')
fprintf('汽车理论最高车速(驱动力与行驶阻力曲线交点)Vmax=%3.3f km/h\n',umax)(注:文档可能无法思考全面,请浏览后下载,供参考。
)。