MATLAB软件在汽车理论教学中的应用
汽车理论课程设计:基于Matlab的汽车动力性的仿真

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在 汽车理论 中的简单应用 汽车理论 可以使用MATLAB作为科学计算工具的课程㊂本文档的目的在于向之前没有接触过MATLAB的同学介绍其在 汽车理论 中的简单应用,更多关于MATLAB的知识需要大家结合其他课程,通过进一步的学习和研究来掌握㊂需要说明的是:1)本文档默认读者已掌握C语言和线性代数基本知识㊂2)红色字体的语句可以直接复制到MATLAB中进行运算㊂语句中用到的符号(引号内部分除外)均为英文状态下输入㊂本文档所有语句均已在MATLAB7.8.0(R2009a)版本下调试过㊂3)例程编写样式纯属个人习惯,大家不必拘泥㊂4)如对本文档及‘汽车理论“第6版中的附录C㊀一个学生的 汽车理论 课程MATLAB习题编程思路有任何问题,欢迎发送邮件一起讨论㊂邮件地址:wang-d07@ ㊂1.MATLAB使用指南打开MATLAB后出现的是软件的主界面㊂几个窗口中最重要的是Command Window,用户可以在里面输入程序,编写的函数的结果也在这里显示㊂首先对MATLAB进行配置㊂如果是在自己的计算机上编程,建议先建一个属于自己的workspace,用来保留用户的工作环境㊂选择 file Save Workspace As ,在合适的目录下保存用户自己的workspace(.mat文件)㊂这样,以后用户编程的环境就默认为这个workspace了㊂虽然可以直接在Command Window里编写程序,但这样的程序无法被保存和发布㊂选择 file New Blank M File ,可以新建空白的MATLAB函数文件(.m文件),在这里编写的程序可以被保存和发布㊂编写好的程序要经过编译之后才能执行㊂选择 Tools Save File and Run (也可以直接按<F5>键),进行程序的编译和执行,结果显示在Command Window中㊂如果程序有错误,MATLAB也会提示程序运行到哪一行命令终止了,并指出可能的错误类型,然后用户就开始了漫长的debug㊂如果编写了子程序和主程序,那么需要先对子程序进行编译(此时不会产生任何结果),只有编译通过后再对主程序进行编译,才会显示结果㊂当然,也可以选择新建 Function M File ,它直接提供一个函数模板㊂(个人感觉没有太大意义)明白该如何操作MATLAB后,接下来介绍MATLAB中与C语言不同的变量单位 矩阵㊂2.矩阵及其运算MATLAB全称是Matrix Laboratory(矩阵实验室),因此矩阵是MATLAB中最基本的运算单位,熟练掌握矩阵的知识对于灵活运用MATLAB有很大帮助㊂1在MATLAB中,一个已知的矩阵可以定义如下:A=[1-20;3.54.8666pi]其中A是这个矩阵的名字,在MATLAB中,一个变量必须以字母开头,以数字㊁下划线等开头都是违法的(但可以用在变量名中间);A的值是一个矩阵,其元素分别为:a11=1,a12=-2,a13=0,a21=3.5,a22=4.8666,a23=3.1415由上述可知,同一行的元素用(一个或多个)空格隔开,不同行的元素用分号(英文状态下的,下同)隔开㊂其中, pi 是MATLAB中已经定义好的常数,可以直接引用㊂可以看出MATLAB与C语言在定义上有所差别,即如果变量是已知的,MATLAB无须事先定义对象类型(整数㊁浮点数㊁无符号数等),通过正常运算得出的变量也无须对其事先定义类型㊂此外,还可以定义向量,如:B=[123]C=[0;0.5;-1]其中,B是一个行向量,C是一个列向量㊂ᶄ 表示矩阵的转置,即列向量C也可以表示为:C=[00.5-1]ᶄ如果想表示矩阵中的某个元素,其方法如下:a=A(2,1)可以得到:a=3.5其中 () 内的语句部分表示元素的位置, , 前为行, , 后为列,即a等于矩阵A中第2行第1列的元素㊂对于一个向量,由于某一方向维度为1,因此上述语句可以简化为:b=B(3)c=C(2)可以得到:b=3c=0.5如果想取矩阵中的某一部分,其方法如下:D=[23783;01956;46215;40391]E=D(1:3:4,1:2:5)F=D(1:3,1:2)G=D(2,:)可以得到:E=[273;431]F=[23;01;46]G=[01956]其中, : 表示步进,如1:2:5表示从1开始步进为2直到5,即1㊁3㊁5,因此E 为矩阵D的第1㊁4行(步进为3)和第1㊁3㊁5列(步进为2)交叉处的元素组成的矩阵; 2如果步进为1,则可以省略不写,如1:3表示1㊁2㊁3,则F为矩阵D的第1~3行和1~2列交叉处元素组成的矩阵;单独使用的 : 表示所有行(列),即G为矩阵D第2行所有列的元素组成的矩阵㊂MATLAB也允许对矩阵进行扩充,但一定要注意维数的正确性㊂例如:H=[31;52]K=[H;60]L=[01;Hᶄ]ᶄ可以得到:K=[31;52;60]L=[031;152]矩阵间可以进行加㊁减㊁乘㊁除等矩阵运算,但同样需要注意维数的正确性㊂例如: M=[10;21]N=[31;10]那么有:M+N=[41;31]M∗N=[31;72]如果用一个常数与矩阵进行四则运算,结果是这个常数分别与矩阵中的元素进行四则运算,如:3+M=[43;54]2∗M=[20;42]此外,MATLAB还提供了有别于正常的矩阵运算的点乘(除㊁次方)运算,即在运算符号前加 . ,表示矩阵中对应位置的元素进行代数运算㊂例如:M.∗N=[30;20](对应位置元素相乘)M.^2=[10;41](对应位置元素平方)点乘(除㊁次方)运算在数据处理中很常用㊂例如,一个20维向量中记录的是汽车通过的20个测试路段的长度,另一个20维向量中记录的是汽车通过每个测试路段所用的时间,两个向量做点除运算,得到一个20维向量,即为汽车通过每个路段的平均速度㊂需要注意的是,由于矩阵加减本身就是相应位置元素的代数运算,因此没有点加(减)运算㊂在MATLAB中已定义好了一些特殊的矩阵,用户可以方便地使用,包括零矩阵(元素全为0)zeros㊁一矩阵(元素全为1)ones㊁单位矩阵(对角线元素均为1㊁其余位置元素均为0的方阵,即 I )eyes,用户用时只需定义矩阵的维数即可㊂例如:P=zeros(2,3)Q=ones(5,1)R=eyes(2)分别表示P为一个2行3列的零矩阵,Q为一个5维的一矩阵,R是一个2维单位矩阵㊂需要注意的是:1)如果zeros和ones只给了一个维度的定义,默认为方阵,如zeros(3)是一个3∗33的零方阵㊂2)eyes只能有一个维度的定义(本身即为方阵),定义为eyes(2,3)和eyes(2,2)都是错误的㊂3)零矩阵多用在初始化㊂例如执行某个循环语句来反复为一个矩阵增加元素(这种情况在数据处理时很常见,经常需要不断地将处理过的结果放到一个向量中区),矩阵的大小在每次循环中都会发生变化,MATLAB需要事先为这个矩阵分配相应大小的内存空间㊂此时可以先将该矩阵定义为零矩阵(数据的个数即为维度),这样在循环过程中得到的数据会将原有的0覆盖㊂4)灵活使用一矩阵会使运算简化㊂例如M=[1234],需要求出所有元素之和㊂可以定义N=ones(4,1),利用矩阵乘法M∗N就可以得到M中所有元素之和㊂这种情况多用于矩阵M中存放的是每个试验点的数据(如在每个工况下汽车的油耗),需要求出在试验过程中总的结果(如在六工况试验时测量汽车的总油耗),此时用一矩阵可以代替循环加法㊂其实,在工程应用中最常用到的是向量,对向量进行处理㊁计算和表达是接下来介绍的重点㊂3.常用函数简介MATLAB中有许许多多的函数,但常用的可能只有几十个㊂使用MATLAB中的函数需要知道函数名㊁参数个数及类型㊁返回量个数及类型,但没有必要完全记住这些,用到时只需在help菜单里查找就行了(MATLAB的help菜单十分强大)㊂当然,前提是要知道MAT-LAB提供了一个这样的函数㊂MATLAB中函数的格式通常为:[y1,y2, ]=function(x1,x2, );方括号内的是返回值,多个返回值用 , 隔开,如果只有一个返回值则不必写 [] ;function是函数名;小括号内是参数,多个参数用 , 隔开,小括号不可省略;函数语句结尾一般用 ; 表示结束㊂下面介绍常用的函数㊂如果是处理试验数据,首先要做的就是导入数据㊂程序如下:data=importdata( 1.txt );其中,data是一个存放数据的矩阵,importdata是导入数据函数,其参数为字符串类型的文件名(如1.txt),文件名要写在 ᵡᵡ 内㊂通常,一个数据文件中包含许多类型的数据,一般需要再将它们分别提取出来,即在后面加上如下语句:vel=data(:,1);该语句的含义为将data中第1列的速度数据提取出来放入vel向量中㊂面对海量的数据,需要一些函数来帮助我们处理㊂这里只介绍find()和length()函数㊂find()函数用来查找向量或矩阵中符合条件的元素的位置㊂其常用形式如下: pos=find(expression)其中,expression是人为设定的条件,pos是由符合条件的所有元素位置组成的向量㊂find()函数运行时,从第一个元素开始查找,并将使参数expression为真的元素位置写入4向量pos中㊂例如:X=[10-45.502-1];pos1=find(X>0&X<3)pos2=find(X)执行程序后可以得到:pos1=[16]pos2=[13467]即pos1用于查找向量X中所有大于0且小于3的元素的位置,pos2用于查找向量X中所有不为0的元素的位置(MATLAB与C语言相同,逻辑语句值为0表示FALSE,不为0表示TRUE)㊂在MATLAB中也有逻辑运算符,分别是与 & ㊁或 | ㊁非 ~ ㊂length()函数可用来求一个向量的长度㊂需要精确判断存储了海量数据的向量究竟有几个元素时,可以采用length()函数,如下:len=length(X)对向量中的数据,除了可以进行矩阵运算之外,还可以直接进行其他数学运算㊂例如输入以下语句即可画出一条正弦曲线:X=0:0.01:2∗pi;Y=sin(X);plot(X,Y);这里的X是从0开始,步进0.01直到2π的向量( : 的用法同上),Y是对X中每个元素求正弦后的值组成的向量,X和Y的元素个数应该是相同的;plot是画图函数,接下来会介绍㊂常用的数学函数包括:三角函数sin()㊁cos()㊁tan()等;反三角函数asin()㊁acos()㊁atan()等;平方根sqrt();向上取整ceil()㊁向下取整floor()㊁向0取整fix()㊁四舍五入取整round()等㊂由于经常需要进行插值运算,MATLAB中提供了许多插值函数,这里仅介绍一种一维(线性)插值函数interp1()㊂例如:X=1:10;Y=X.^2+3∗X+2;y1=interp1(X,Y,4.5)可以得到:y1=36这段语句中有几点需要说明㊂1)interp1()函数的常用形式是:y1=interp1(X,Y,x1)参数依次为:向量X㊁向量Y㊁向量X范围内的某个值x1(不一定是X中的元素,如x1=4.5就不是X中的元素);返回值y1是向量Y对应的线性插值㊂Interp1()函数首先将向量X和Y的对应值进行拟合,然后根据x1的位置线性插值出y1的大小㊂由上例可以看出,如果按照单纯的公式计算,y1应该等于35.75,但线性插值的结果是,y1等于36㊂(可以自行验证)52)最后一行的末尾没有写分号㊂分号的作用是表示一行语句的结束,但如果这行语句的结果需要显示出来(如y1的值需要在Command Window中显示),那么结尾的分号就需要去掉㊂也就是说,执行结尾有分号的语句,不显示运算结果,反之会显示运算结果㊂(其实在介绍矩阵部分时所有代码结尾都没有写分号,是一样的道理)如果想显示某个变量的值,可以直接输入名称㊂例如刚才的函数最后一行改为:y1=interp1(X,Y,4.5);y1执行程序后也是可以显示y1的值的㊂如果显示的运算结果没有被放到一个变量中,MATLAB默认将其放到一个名叫ans的变量中㊂例如刚才的函数最后一行改为:interp1(X,Y,4.5)那么会显示ans=36需要注意的是,由于只有一个ans变量,因此每次使用ans变量都会覆盖掉前一次的值㊂3)注意到第二行语句中的点乘运算了吗?有时候需要对数据进行多项式拟合,这时会用到函数polyfit()和polyval()㊂例如: X=[11.52.233.6];Y=[68.813.52025.8];A=polyfit(X,Y,2)X1=3:5;Y1=polyval(A,X1)可以得到A=[0.98443.07431.9556]Y1=[20.038430.003841.9380]polyfit()函数是多项式系数拟合函数,其常用形式如下:A=polyfit(X,Y,n)其中X是自变量,Y是因变量,n是拟合的多项式的系数(最高次方)㊂向量A中存放的是拟合的多项式系数(依次为n阶系数,n-1阶系数 1阶系数,常数项)㊂上例中A= polyfit(X,Y,2)就是将X和Y进行了2阶多项式拟合,结果为:Y=0.9844∗X.^2+3.0743∗X+1.9556polyval()函数是多项式求值函数,其常用形式如下:Y=polyval(A,X)其中,A是多项式的系数(由高阶到低阶),X是自变量,Y是因变量㊂上例中Y1= polyval(A,X1)就是利用polyfit()函数拟合出的系数对一组新的自变量进行了求值㊂积分运算是很常见的㊂MATLAB中提供了许多积分函数,这里仅介绍最常用㊁最简单的梯形积分函数trapz()㊂例如:X=0:0.01:pi;Y=sin(X);6I=trapz(X,Y)可以得到:I=2trapz()函数的参数分别是自变量X(隐含了积分起点和终点)和因变量Y,函数利用微积分中的梯形积分方法计算积分值㊂数据处理完后就该表达了㊂MATLAB中提供了丰富的绘图函数,最常用的就是二维绘图函数plot(),其应用例子可以参考前述绘制正弦曲线的部分㊂这里介绍一下常用的plot()函数参数以及其配套函数㊂首先用figure()函数选择图纸㊂例如:figure(1);表示打开1号图纸(MATLAB中用数字编号图纸)㊂也可以不选择图纸,MATLAB会根据作图的顺序依次在1㊁2㊁3 号图纸上绘图㊂figure()函数的作用是,允许用户选择图纸画图,这在同时绘制多张图而需要选定某张图时十分有用㊂接下来可以绘图了㊂plot()函数的常用形式为:plot(X,Y,Linestyle)X和Y就是绘制的横轴参数和纵轴参数;Linestyle是表示线型性的字符串类型参数,需要用 ᵡ 加注,可以省略㊂常用的Linestyle参数见下表,更多参数见help文档㊂线型对应字符线色对应字符数据点对应字符实线(默认)-蓝色(默认)b无(默认)(空白)虚线--红色r加号+点线:黄色y圆圈o点画线-.绿色g叉x青色c星号∗洋红色m方块s黑色k菱形d线型引用例子如下:plot(X,Y,ᶄ-.roᶄ);表示绘制的线型为红色点画线㊁数据点用圆圈表示㊂除了线型外,图上的任意标注都可以用函数进行修改㊂例如:plot(X,Y);xlabel( time ),ylabel( velocity ),title( v-t ),axis([0,120,0,50]),grid on, legend( TEST1 );执行该语句,可以绘制一幅横坐标表示时间㊁范围为0~120,纵坐标表示速度㊁范围为0~50,题目为 v-t ,图例为 TEST1 ,有网格线的图表㊂其中xlable()和ylable()函数表示图上横轴和纵轴的注释,参数为相应的字符串;title()函数表示图表的题目; axis()函数表示横纵坐标轴的范围,因为有时候MATLAB默认的坐标范围不是我们想要的,需要进行修正,axis()函数的参数是一个向量(有中括号),其元素依次为横轴最小值㊁横轴最大值㊁纵轴最小值㊁纵轴最大值;grid on函数表示有网格线;legend()函数是图例7函数,表示图上所画的曲线是什么意思,如果有多条曲线,legend()可以有多个参数,按照绘制顺序依次表示每条曲线㊂这些函数可根据需要进行取舍㊂另外,我的习惯是将这些函数用 , 隔开㊂另外,介绍一种绘图函数subplot(),其功能是将图纸分割成许多小部分,供你选择其中某一部分进行绘图,例如:subplot(2,4,2);plot(X,Y);subplot(2,2,4);plot(X,Z);subplot()函数的前两个参数表示将图纸分割成几行几列;第三个参数表示在第几个小图上绘图,其顺序为从左至右㊁从上至下㊂上例中,执行第一行命令后,将图纸分割成2行4列共8个小图纸,在第2个(第一行第二列)小图纸上绘制X-Y曲线;执行第二行命令后,将图纸分割成2行2列共4个小图纸,在第4个(第二行第二列)小图纸上绘制X-Z 曲线㊂需要注意的是,可以将一张图纸按照几种方式分割(如上例中就是2种分割方式),但如果图幅发生冲突,后绘制的图会覆盖先绘制的图㊂也就是说,如果第二行命令改为sub-plot(2,2,1),那第二次绘图会将第一次绘制的图覆盖掉㊂最后,介绍hold on函数㊂其用法如下:X=0:0.01:2∗pi;Y=sin(X);Z=cos(X);plot(X,Y),hold on;plot(X,Z);如果没有hold on语句,那么X-Y曲线会画在第一张图上,而X-Z曲线会画在另一张图上㊂hold on语句能保持当前的图纸不关闭,接下来的图仍然绘制在该图纸上㊂因此上述命令可以在同一张图纸上绘制正弦和余弦曲线㊂相应地有hold off命令㊂一般来说,掌握上述函数基本就可以应对大三学年课程对MATLAB的要求了㊂当然,有时候你也需要编一些自己的程序来更好地满足不同的要求㊂接下来,介绍如何编写自己的程序,即M文件㊂4.程序结构你可能已经掌握了如何在Command Window中用函数来进行一些计算,但如果你的函数很大或者需要保存和发布,还是需要把函数写到一个M文件中㊂MATLAB没有C语言那样的函数库,也不需要编写头文件(这些工作都定义在workspace中了),一个M文件就是你编写的一个函数(当然其中可以包括许多其他子函数),因此对于一个M文件(也是个函数)来说,就有相应的输入量㊁输出量和函数体㊂一般地,如果我们编写MATLAB程序只是为了处理数据㊁绘制图表,不需要传送数据给其他函数,这时M文件就不需要声明函数格式㊂如果这个M文件是其他M文件的一个子函数,有数据需要上传,那么在M文件的开头就需要函数声明㊂函数声明的格式如下: function[y1,y2, ]=func(x1,x2, )其中,y1㊁y2等就是M文件输出变量值,用中括号括起;x1㊁x2等是M文件的输入变量,用小括号括起;func是函数的名字,注意函数名字与M文件的名字一定要相同,不然会出现编译错误㊂MATLAB函数声明与C语言的不同之处是,开头要写function声明这是个8函数;输入变量和输出变量都不需要定义类型,因为输入变量的类型在上一级函数中已给定,而输出变量的类型在M文件中会定义,但输入变量和输出变量的名字都应该是这个函数中用到的实际变量的名称㊂除了函数声明之外,M文件的编写都是一样的了㊂下面介绍MATLAB中的条件语句和循环语句,其定义和功能与C语言相同,这里仅介绍格式上的区别㊂if条件语句格式如下:ifexpression1㊀㊀statements1elseifexpression2㊀㊀statements2else㊀㊀statements3end其中,elseif和else语句不是必需的㊂switch条件语句格式如下:switch x㊀㊀case x1㊀㊀㊀㊀statements1㊀㊀case x2㊀㊀㊀㊀statements2㊀㊀otherwise㊀㊀㊀㊀statementsnendfor循环语句格式如下:for x=x1:step:x2㊀㊀statementsend其中,for循环的条件是用 : 表示的步进㊂while循环语句格式如下:while expression㊀㊀statementsend需要注意的是:1)MATLAB中条件和循环语句statements不必用大括号括起来,但必须用end表示结束㊂多重条件或循环时要注意end的数量㊂2)在表示条件的expression中也可以包含与㊁或㊁非等逻辑命令,但应该写作:等于 == ㊁不等于 ~= ㊁与 && ㊁或 || ㊁非 ~ ㊂在程序编写过程中,很多时候需要添加注释㊂在MATLAB中,用 % 来引导一行注释语句, % 后的本行语句(可以有中文)在编译时均忽略㊂如果有多行语句需要注释,9除了可以在每行开头添加 % 外,还可以采用如下形式来进行注释:%{㊀㊀statements%}到此为止,你已经了解了MATLAB的一些基本知识㊂尝试用MATLAB解决一些问题吧!祝各位MATLAB学习顺利!感谢孟艳提供了参考用的MATLAB作业!01。
MATLAB软件在汽车理论教学中的应用

MATLAB软件在汽车理论教学中的应用
黄兵锋
【期刊名称】《科技信息》
【年(卷),期】2010(000)008
【摘要】鉴于<汽车理论>内容抽象和枯燥的教学现状,本文介绍了将MATEAB软件应用于<汽车理论>的教学实践.事实证明,MATLAB软件强大的计算和分析功能以及方便的可视化手段,有助于清晰地阐释概念,并能极大地提高学生学习的兴趣和积极性,从而有效地改善了教学效果.
【总页数】2页(P510,512)
【作者】黄兵锋
【作者单位】湖北汽车工业学院汽车工程系
【正文语种】中文
【相关文献】
1.《汽车理论》教学中的有效教学理论应用的研究
2.有效教学理论在《汽车理论》教学中的应用研究
3.理论与实践相结合模式在《汽车理论》教学中的应用
4.MATLAB软件在生物统计理论教学中的应用
——以抽样分布为例5.基于MATLAB软件分析汽车理论课程基本问题的应用探讨因版权原因,仅展示原文概要,查看原文内容请购买。
MATLAB_Simulink_Simdriveline在汽车理论教学中的应用

MATLAB 提供了大量的数值计算函数和符号计算函数,通过调用MA TLAB 提供的函数和其附带的模块工具进行分析和计算,不但可以准确地画出图形,计算出相应的性能指标,大大提高工作效率,而且能有效地调动学生的积极性。
对于汽车工程领域中的计算问题,主要包括多项式和矩阵运算、数值微分和积分以及符号微积分、方程求解等,使用MA TLAB 能使学生能跳出繁琐的数学计算,集中精力于专业知识的学习。
MATLAB 的模拟仿真模块为试验模拟提供了优秀的工作平台,使得实验可以在无硬件支持的条件下实施,并且可以实时反映数据变化,这是传统实验不具备的。
Simulink 是MAT-LAB 提供的进行动态系统建模、仿真和综合分析的集成软件包。
它支持线性和非线性系统,Simulink提供的图形用户界面GUI 上,用户只要对所需系统模块进行鼠标的简单拖拉操作,就可构造出复杂的仿真和分析模型,可以大大提高仿真的效率和可靠性;它具有高度的开放性,用户可以根据自己的需要开发模型,并通过封装后添加到模型库中,以后就如同调用Simulink 自身提供的模型库一样直接调用即可。
利用这种特性,可在课堂上开设的仿真实验,以加深学生对理论的理解与接受。
数据分析模块为数据分析和处理提供了方便,使数据处理不再是困扰学生的最大难题;MATLAB 强大的图形处理和数值计算功能在汽车设计和综合控制上显示出其不可替代的优越性,使设计过程简单化,MATLAB 的优化工具箱为工程优化提供了最简单高效的工具。
Simulink 工具箱中的Simdriveline 模块是专门为车辆动力传动系统建模仿真设计的。
与传统的数学模型不同,Sim-driveline 采用基本元素法,即按照实际物理结构来搭建,可以直接选用转动惯量、离合器、变速器、车轮和自定义模块。
Sim-driveline 模型接口以机械力矩传递为主,数据信号传递为辅,具有双向性,动态特性很好。
同时,由于Simulink 与Simdriv-eline 强大的交互性,利用该软件设计的CAI ,学生可改变相关计算参数,就可实时看到计算及仿真结果。
基于MATLAB的车辆动力性和制动性仿真分析

基于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

第四章1)求利用附着系数曲线的程序:m1=4080;hg1=0.845;L1=3.950;a1=2.100;bt1=0.38;m2=9290;hg2=1.170;L2=3.950;a2=2.950;bt2=0.38;%利用附着系数与制动强度的关系曲线z=0:0.01:0.8;y=z;b1=L1-a1;b2=L2-a2;yf1=bt1*L1.*z./(b1+hg1.*z);yf2=bt2*L2.*z./(b2+hg2.*z);yr1=(1-bt1)*L1.*z./(a1-hg1.*z);yr2=(1-bt2)*L2.*z./(a2-hg2.*z);%ECE法规要求曲线yECE2=(z+0.07)./0.85;z1=0.30:0.01:0.80;yECE1=(z1-0.02)./0.74;z2=0.15:0.01:0.30;yECE3=z2+0.08;yECE4=z2-0.08;plot(z,yf1,'y',z,yf2,'g',z,yr1,'b',z,yr2,'c',z,y,'r--',z,yECE2,'k',z1,yECE1,'k',z2,yECE3,'k',z2,yE CE4,'k')axis([0 0.8 0 0.8]);xlabel('制动强度z/g');ylabel('利用附着系数y');title('利用附着系数与制动强度的关系曲线');gtext('yf1(空车)');gtext('yf2(满载)');gtext('yr1(空车)');gtext('yr2(满载)');gtext('y=z');gtext('ECE法规要求界限')以下是利用附着系数曲线和ECE法规要求曲线界限由利用附着系数曲线和ECE法规要求曲线界限曲线可知该车的制动系统满足法规的要求求制动效率曲线的程序:m1=4080;hg1=0.845;L1=3.950;a1=2.100;bt1=0.38;m2=9290;hg2=1.170;L2=3.950;a2=2.950;bt2=0.38;b1=L1-a1;b2=L2-a2;%求制动效率曲线Y=(0:0.01:1); %Y为地面附着系数Ef1=b1./(bt1*L1-Y*hg1)*100; %空车Ef2=b2./(bt2*L2-Y*hg2)*100; %满载Er1=a1./((1-bt1)*L1+Y*hg1)*100;Er2=a2./((1-bt2)*L2+Y*hg2)*100;plot(Y,Ef1,'y',Y,Ef2,'b',Y,Er1,'k',Y,Er2,'r')axis([0 1.0 0 100]);xlabel('附着系数Y');ylabel('制动效率(%)');title('制动效率曲线')gtext('Ef2(满载)'),gtext('Er1(空车)'),gtext('Ef2(满载)');以下是制动效率曲线:2),3)问的计算程序:m1=4080;hg1=0.845;L1=3.950;a1=2.100;bt1=0.38; m2=9290;hg2=1.170;L2=3.950;a2=2.950;bt2=0.38; b1=L1-a1;b2=L2-a2;%求制动效率曲线Y=(0:0.01:1); %Y为地面附着系数Ef1=b1./(bt1*L1-Y*hg1)*100; %空车Ef2=b2./(bt2*L2-Y*hg2)*100; %满载Er1=a1./((1-bt1)*L1+Y*hg1)*100;Er2=a2./((1-bt2)*L2+Y*hg2)*100;%求制动距离t1=0.02;t2=0.2;ua0=30;Y1=0.8;g=9.8;abmax1=Y1*g*Er1(81)/100;abmax2=Y1*g*Er2(81)/100;disp('空载时汽车不抱死的制动距离')s1=1/3.6*(t1+t2/2)*ua0+ua0^2/(25.92*abmax1) disp('满载时汽车不抱死的制动距离')s2=1/3.6*(t1+t2/2)*ua0+ua0^2/(25.92*abmax2)%当汽车制动系后部管路破损时的制动距离Fxb11=Y1*m1*g*b1/(L1-Y1*hg1); %当后轮的制动力为0,空车时前轮的地面制动力Fxb12=Y1*m2*g*b2/(L2-Y1*hg2); %当后轮的制动力为0,满载时前轮的地面制动力a11=Fxb11/m1;a12=Fxb12/m2;disp('当汽车制动系后部管路破损时空车的制动距离')s11=1/3.6*(t1+t2/2)*ua0+ua0^2/(25.92*a11)disp('当汽车制动系后部管路破损时满载的制动距离')s12=1/3.6*(t1+t2/2)*ua0+ua0^2/(25.92*a12)%当汽车制动系前部管路破损时的制动距离Fxb21=Y1*m1*g*a1/(L1+Y1*hg1); %当前轮的制动力为0,空车时后轮的地面制动力Fxb22=Y1*m2*g*a2/(L1+Y1*hg2); %当前轮的制动力为0,满载时后轮的地面制动力a21=Fxb21/m1;a22=Fxb22/m2;disp('当汽车制动系前部管路破损时空车的制动距离')s21=1/3.6*(t1+t2/2)*ua0+ua0^2/(25.92*a21)disp('当汽车制动系前部管路破损时满载的制动距离')s22=1/3.6*(t1+t2/2)*ua0+ua0^2/(25.92*a22)运行结果为:空载时汽车不抱死的制动距离s1 =7.5906满载时汽车不抱死的制动距离s2 =6.0819当汽车制动系后部管路破损时空车的制动距离s11 =8.8379当汽车制动系后部管路破损时满载的制动距离s12 =14.3486当汽车制动系前部管路破损时空车的制动距离s21 =10.7561当汽车制动系前部管路破损时满载的制动距离s22 =8.3354。
matlab在汽车中的应用

matlab在汽车中的应用随着现代汽车电子化的趋势越来越明显,使用计算机技术来实现汽车控制、监测、校准等功能成为了汽车行业的趋势,而Matlab正是其中的重要工具之一。
Matlab可以对汽车设计、测试、校准等方面起到重要作用。
下面分别从以下几个方面具体阐述。
1. 汽车设计Matlab的强大之处在于它所拥有的各种工具箱。
例如,在汽车的设计阶段,可以利用Matlab进行SSI(可靠性、的性能和锋利度)评估,不仅可以提高汽车的品质、效率和性能,还可以减少设计的误差。
此外,通过利用Simulink工具箱可以模拟并优化汽车控制算法,使得汽车部件的控制更加精准,方便设计师们在设计过程中寻找问题并修正错误。
2. 汽车测试在汽车的测试阶段,Matlab可以帮助测试人员更好地收集和分析测试数据,提高测试数据的精度和可靠性。
利用Matlab,可以将测试数据进行可视化处理,并且可以对测试数据的统计学特征进行分析。
此外,利用其机器学习算法,可以对测试数据进行分析和预测,从而为汽车的性能和安全提供更好的监测。
3. 汽车校准Matlab可用于自动化校准,将自动化校准算法应用于汽车电子控制单元(ECU)中,可以提高校准的结果精度和速度。
Matlab可以帮助提高汽车解决问题的速度和准确性。
在车辆发动前,MEEM估计了电子控制单元(ECU)所需的扭矩。
通过在Matlab中运行ECU的算法,可以更轻松地改变校准值并运行程序。
综上所述,Matlab在汽车中的应用是广泛的,不仅可以提高汽车的设计精度、测试可靠性和校准准确性,还可以增强汽车的智能化水平。
同时,也为未来更科学、高效和安全的智能汽车发展奠定了基础。
试析MATLAB在汽车振动分析及控制中的运用

试析MATLAB在汽车振动分析及控制中的运用摘要:随着汽车振动会对汽车造成一定的危害,影响汽车的正常运行,因此要对汽车振动的原因进行分析,并提出合理的解决对策。
而MATLAB在汽车有巨大的作用,既能够应用与汽车的振动分析和控制中,还能够预测到汽车的反映,在实际中有较高的使用价值。
关键词:汽车振动;MATLAB;控制;应用在实际中汽车振动具有巨大的危害,因此一方面为了减少振动对汽车的零部件和使用性能造成的损害,另一方面还要针对汽车振动进行研究,尽量把汽车振动运用到汽车设计的服务中来,同时还要尽量利用振动的原理来制造推动机,减少汽车部件工作的强度,从而来提高工作效率。
1.汽车振动产生的原因分析机械的振动实际上是一种形式特殊的运动,构成振动系统的主要因素有阻尼、弹性、质量以及激励。
汽车本身就是具有阻尼、弹簧以及质量的系统,在汽车内部各部分具有不同的频率,因而汽车在平时的行驶中就往往会因为路面不平坦、运动方向以及车速的改变、发动机车轮与传送系统不平衡、汽车齿轮之间的冲击等各种内部与外部的激振作用造成汽车的局部或者是整体发生强烈的振动。
这种振动现象就会使汽车在运动时由于动力性能没有得到充分的发挥就容易出现一些问题。
另外,振动还会对汽车操作的平顺性与稳定性以及汽车的通过性造成不利的影响,还会使乘员在乘坐时产生不舒服的感觉,严重情况下还会对汽车的零部件造成损坏,缩短汽车正常的使用寿命。
2. 汽车振动的理论分析2.1.汽车振动的模型在实际中当一个振动系统比较复杂的时候,而建立的相应的模型也比较复杂,就越接近于真实的情况,相应的模拟情况就越真实,但是这却增加了对系统分析的难度,所以在建立振动的力学模型时就需要在逼真模拟与系统分析之间找出一个平衡点。
在进行汽车振动分析时需要把握的一个关键因素就是在实际中要根据研究的要求和研究内容,把研究的对象和外界的作用力进行简化,同时还要保证简化的模型能够与原来的系统模型在动态分析方面进行等效对比。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.前言《汽车理论》是汽车类专业的一门必修专业课,其特点是理论性强,计算和分析工作多,教和学两方面都感觉难度较大。
现有的实验和实习效果有限,为学生提供的主要是感性的认识和对书本知识的验证,对抽象概念和复杂公式无能为力。
MATLAB是一个可视化的计算软件,功能强大、使用简单,被广泛地应用于科学和工程计算领域,包括汽车的设计和分析。
各大汽车公司、零部件企业的研究院或技术中心,在研究和分析工作中大量应用MATLAB实现。
在《汽车理论》教学中使用MATLAB为工具,利用其强大的计算功能和图形功能,可以方便地完成各种性能的计算;同时,利用MATLAB 的数值计算函数和Simulink软件,可以对《汽车理论》中复杂的过程进行仿真分析和求解。
这些计算和分析的结果都可以通过MATLAB提供的可视化手段呈现给学生,有助于清晰地阐释抽象的概念,并系统地仿真复杂的分析过程。
2.易学易用的计算工具MATLAB被称为“演草纸”式的计算机语言,在一般的科学计算中完全可以替代传统的计算机语言如C、Fortran、Basic等,矩阵运算更是MATLAB的拿手好戏。
MATLAB语法简单、界面友好、使用方便,既不用苦于指针等晦涩概念的掌握,也不必与难以操作的DOS环境打交道。
《汽车理论》前四章介绍了汽车动力性、经济性以及制动性的计算和校核,工作量较大,有时候还要不断的调整参数并反复计算。
这些性能的计算对于任何一种车型的设计和开发都是必不可少且极为重要的。
利用MATLAB编制程序,其简单的语法,能够使设计人员将精力集中于核心工作。
3.方便实用的图形功能《汽车理论》课程中需要绘制的曲线图形非常多,“驱动力-行驶阻力图”、“功率平衡图”、“动力因素图”、“百公里油耗曲线”、“C曲线”、“制动效率曲线”等等,数不胜数。
传统的程序设计语言如C、Fortran、Basic等,绘图功能的使用极为不便,程序员需要了解计算机的图形模式等复杂的软件知识,在绘图前还要做大量的设置和转换工作。
而所谓的可视化程序设计语言,如Vi-sual C++、Visual Basic、Delphi等,其绘图控件中默认坐标与人们常识不同,使用者同样需要进行坐标变换(包括坐标的移动、缩放、改变坐标轴的方向等),于工科非计算机专业的同学而言,殊为不易。
而MATLAB针对工程上常见的曲线图,提供了强大的绘图功能;无论二维图形还是三维图形,无论是曲线还是曲面,都可轻松处理;而且还有自动缩放坐标、添加标签和标题、更改线型、设置标记、添加图例等辅助功能,完全能满足科学和工程计算的一切需要。
这些功能的语法简单,易于掌握。
利用MATLAB的图形功能可以很方便地分析《汽车理论》中关于各种阻力随车速u a的变化关系。
滚动阻力F f、空气阻力F w的计算公式为:F f=WfF w=sign(u a-u w)CDAu2r若装备SR级轮胎、C D A=0.6m2的某汽车在水平路面匀速行驶,利用MATLAB绘制滚动阻力和空气阻力随车速的变化关系。
相关代码如下:m=1600;CdA=0.6;u=0:5:180;f=0.01+0.002*(u/100).^2+0.001*(u/100).^4;Ff=m*9.8*f;Fw=CdA*u.^2/21.15;plot(u,Ff,':b',u,Fw,'--r');legend('u-Ff','ua-Fw','Location','NorthWest');title('汽车空气阻力');xlabel('ua/(km/h)');ylabel('F/(N)');图1某轿车滚动阻力和空气阻力结果如图1所示。
由图可知,当车速较高时,空气阻力是汽车行驶阻力的主要组成部分;而且,修改滚动阻力系数的表达式,可以动态计算不同类型的轮胎,其滚动阻力随车速的变化关系。
4.为数众多的数值函数《汽车理论》中涉及到诸多的数值计算,例如发动机功率/转矩的拟合、滚动阻力系数的插值、动力学微分方程/方程组的求解等。
虽然本科阶段学生的学习重在掌握《汽车理论》的分析方法,但一旦毕业,他们在工作岗位上很可能将面临这些棘手的问题。
然而《数值分析》并不是本科课程内容。
很显然,让学生运用通用的程序设计语言编制这些难度较大的数值方法的子程序是不可取的。
事实上,MATLAB早已为我们解决了这一难题。
MATLAB强大的数值计算功能是它区别于MAPLE、Mathematic等其他数学软件的一大优势,它提供了大量经过优化的数值函数,使用者无须关心其实现过程和细节,可以在M ATLAB及其他语言中直接调用。
下面的代码是对北京内燃机总厂生产的492Q发动机全油门开度下转速-功率/转矩的拟合和计算程序。
n0=[1000:500:3500,3800,4000];Te0=[135.33,147.10,152.98,156.91,147.10,138.27,133.37,125.53];n=1000:10:4000;Te=polyval(polyfit(n0,Te0,5),n);Pe=n.*Te/9550;plotyy(n,Pe,n,Te);上述代码可以拟合给定范围内(1000≤n≤4000)任意转速所对应的发动机功率/转矩。
这里还利用绘图功能将发动机转速-功率/转矩曲线(即转速特性曲线)绘制在同一坐标系中,结果更为直观清晰。
5.使用工具箱,借鉴专家的智慧图2利用Curve Fitting Tool工具箱拟合数据MATLAB提供有数量庞大且功能丰富的各种工具箱,这些工具箱分为两类:功能性工具箱和学科性工具箱。
功能性工具箱主要用来扩充其功能,可用于多种学科。
学科性工具箱是专业的,如(control、signal processing、communication)toolbox等。
这些工具箱都是由该领域内学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序。
仍以前述北京内燃机总厂生产的492Q发动机MATLAB软件在汽车理论教学中的应用湖北汽车工业学院汽车工程系黄兵锋[摘要]鉴于《汽车理论》内容抽象和枯燥的教学现状,本文介绍了将MATLAB软件应用于《汽车理论》的教学实践。
事实证明,MATLAB软件强大的计算和分析功能以及方便的可视化手段,有助于清晰地阐释概念,并能极大地提高学生学习的兴趣和积极性,从而有效地改善了教学效果。
[关键词]汽车理论MATLAB Simulink仿真(下转第116页)故障停炉总是有的。
如果按锅炉因漏风、漏灰造成每年一次爆管事故计算,那么,年损失在10万元左右。
(1)漏风、漏灰造成一次爆管事故的直接经济损失锅炉因漏风、漏灰造成一次爆管事故的直接经济损失主要包括:开炉一次油耗费用、发电量经济损失、维修的材料及人工费用等。
按每开炉一次消耗柴油量为0.2~0.5吨、柴油的市场价格3.2元/公斤计算,约0.64~1.6万元。
按锅炉每天运行24小时、每小时发电量3000Kwh 、上网电价为0.09元/Kwh 、外购电价均价0.37元/Kwh ,全部自用,抢修天数为1天计算,约2万元,维修材料及人工费用约0.2~0.5万元。
合计2.84~4.1万元。
(2)每年因锅炉漏风、漏灰造成的热效益损失按锅炉每年运行7200小时;平均负荷率为90%;烟气流量为4.9×105kg/h ;锅炉周围环境温度为25℃;烟气温度为200℃;200℃时烟气比热为0.26kcal/(kg.℃)[1];炉顶及烟道等的漏风量为5%;标煤发热量为7000kcal/kg [2];煤的市场价格为0.6元/公斤。
则每年因锅炉漏风、漏灰造成热效益损失约6.8万元。
7.结论(1)公司通过采用均匀覆膜密封修复技术,对锅炉漏风、漏灰部位进行密封修复,有效地控制了炉顶、炉拱、折焰角等部位的漏风、漏灰;有效地减少了含硫较高的高温烟气对人体健康的刺激和伤害、减少了含硫较高的高温烟气对炉顶保温材料的腐蚀;杜绝了因炉顶漏风造成顶棚过热器或炉内穿墙管的爆管事故。
(2)采用丹麦Hasle Isomax 公司的均匀覆膜密封修复技术对锅炉漏风、漏灰部位进行密封修复能为公司减少经济损失、保证锅炉等设备的安全可靠运行、改善工作环境。
(3)均匀覆膜密封修复技术对锅炉漏风、漏灰部位进行密封修复,能够普遍推广应用。
参考文献[1]程上琬.热工学理论基础.北京:水利电力出版社,1992.280页[2]曾纬西.锅炉设备及运行.北京:水利电力出版社,1992.19页1.(上接第113页)全油门开度下转速-功率/转矩的拟合为例,如图2所示,利用toolbox 中的Curve Fitting Tool ,甚至连一句代码都不用写就可以完成拟和工作,对那些不擅编程的人无疑是一个极佳的选择。
6.在Simulink 中仿真分析复杂系统图3二自由度汽车的Simulink 仿真模型图《汽车理论》第五章“操纵稳定性”,教材以力学的方式分析了汽车运行时的状态,涉及到了大量的复杂公式和图表,授课教师难以清晰地阐释其原理,学生也常常晕头转向。
利用Simulink 对这些系统或模型进行可视化的仿真分析,比较不同参数时输出的变量的变化,则有助于学生加深对理论知识的理解,并提高学习兴趣。
下面的例子是笔者在教学时曾使用过的。
根据汽车二自由度简化模型(k 1+k 2)β+1(ak 1-bk 2)ωr -k 1=m(v+u ωr )(ak 1-bk 2)β+1(a 2k 1+b 2k 2)ωr -ak 1δ=I z ωr所建立的Simulink 模型如图3所示。
只要更改k 1、k 2等参数,运行仿真,就可以通过示波器Scope 观察不同参数下前轮角阶跃输入下的汽车稳态响应曲线。
这种方法对于加深学生对所学内容的理解,提高学习兴趣是很有帮助的。
7.结束语在《汽车理论》的课堂教学中使用MATLAB 软件作为辅助工具,有助于加深学生对各种概念和汽车性能的理解。
同时,如果让学生能通过习题或课程设计的方式亲自动手尝试完成上述示例,能巩固对MAT-LAB 软件的学习;因为学习软件或程序设计语言,最好的途径就是结合具体问题的实践。
此外,《汽车理论》上的各种性能的分析,无疑会出现在学生将来的工作任务之中,当前的学习方法已经为未来的项目提供了部分的解决方案。
有“一石三鸟”的功效,我们何乐而不为呢?参考文献[1]余志生.汽车理论(第三版).北京:机械工业出版社,2000.10[2]邹政耀,陈茹雯.MATLAB 在汽车理论教学中的应用[J ].科技信息,2008年第25期,p186-187[3]湖北汽车工业学院汽车工程系电测与汽车数字应用中心.《MAT-LAB 及应用》实验指导书[M ].十堰:湖北汽车工业学院,2008[4]黄兵锋.MATLAB 教学中的几个关键问题探索[J ].湖北汽车工业学院学报(第23卷),2009年增刊,2009.8,p186-187(上接第114页)合格的基础上,使全网的网损最小。