[工学]MATLAB教程.ppt_第1页
[工学]MATLAB教程.ppt_第2页
[工学]MATLAB教程.ppt_第3页
[工学]MATLAB教程.ppt_第4页
[工学]MATLAB教程.ppt_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

武汉理工大学汽车工程学院,利用MATLAB解决汽车理论问题 主讲:王计广,学习目的和目标,学习目的: 能够独立运用MATLAB完成课后习题作业 学习目标: 能够深入学习MATLAB,在工作中熟练运用MATLAB,MATLAB的发展,70年代后期,Cleve Moler担任美国墨西哥大学计算机系系主任,为了让学生方便的调用EISPACK和LINPACK,设计了接口程序,取名MATLAB (MATrix LABoratory),即Matrix和Laboratory的组合。 MATLAB的发展历程 1984年推出的是3.0的DOS版本 1992年MathWorks 公司于推出了4.0版本,1994年的4.2版本扩充了4.0版本的功能,尤其在图形界面设计方面更提供了新的方法。 1997年推出的5.0版允许了更多的数据结构,如单元数据、多维矩阵、对象与类等,使其成为一种更方便编程的语言。 1999年推出的 MATLAB 5.3版在很多方面又进一步改进了 MATLAB 语言的功能。 2000年10月底推出了其全新的 MATLAB 6.0正式版(Release 12),在核心数值算法、界面设计、外部接口、应用桌面等诸多方面有了极大的改进。现在MATLAB支持各种操作系统,它可以运行在十几个操作平台上,其中比较常见的有基于Windows 9X/NT、OS/2、Macintosh、Sun、Unix、Linux等平台的系统。现在的MATLAB再也不是一个简单的矩阵实验室了,它已经演变成为一种具有广泛应用前景的全新的计算机高级编程语言了。其功能也越来越强大,会不断根据科研需求提出新的解决方法。,MATLAB简介,MATLAB 的名称源自 Matrix Laboratory ,它是一种科学计算软件,专门以矩阵的形式处理数据。 MATLAB 将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作,利用 MATLAB 产品的开放式结构,可以非常容易地对 MATLAB 的功能进行扩充,从而在不断深化对问题认识的同时,不断完善 MATLAB 产品以提高产品自身的竞争能力。现在主要应用于科学计算、机械动力、化工、计算机通讯、汽车、金融等领域。,MATLAB基本功能,数学运算功能 2D和3D图形显示功能 交互式的高级编程语言-M语言编程功能 编译功能 Simulink仿真功能 Stateflow交互式设计功能 自动代码生成功能 工具箱函数功能,MATLAB用途,数值分析 数值和符号计算 工程与科学绘图 控制系统的设计与方针 数字图像处理 数字信号处理 通讯系统设计与仿真 财务与金融工程,MATLAB的操作界面环境,指令窗 该窗是进行各种MATLAB操作的最主要窗口。在该窗内,可键入各种送给MATLAB运作的指令、函数、表达式;显示除图形外的所有运算结果;运行错误时,给出相关的出错提示。 历史指令窗 该窗记录已经运作过的指令、函数、表达式,及它们运行的日期、时间。该窗中的所有指令、文字都允许复制、重运行及用于产生M文件。 当前目录浏览器 在该浏览器中,展示着子目录、M文件、MAT文件和MDL文件等。对该界面上的M文件,可直接进行复制、编辑和运行;界面上的MAT数据文件,可直接送入MATLAB工作内存。此外,对该界面上的子目录,可进行Windows平台的各种标准操作。 工作空间浏览器 该浏览器默认地位于当前目录浏览器的后台。该窗口罗列出MATLAB工作空间中所有的变量名、大小、字节数;在该窗中,可对变量进行观察、图示、编辑、提取和保存。,MATLAB数值、变量和表达式,Matlab语言最基本的赋值号的表达式为:变量名列表表达式 例1: 【说明】 指令行“头首”的“ ”是“指令输入提示符”,它是自动生成的。 MATLAB的运算符(如+、- 等)都是各种计算程序中常见的习惯符号。 一条指令输入结束后,必须按 Enter 键,那指令才被执行。 由于本例输入指令是“不含赋值号的表达式”,所以计算结果被赋给MATLAB的一个默认变量“ans”。它是英文“answer”的缩写。,变量命名规则,变量名、函数名是对字母大小写敏感的。如变量myvar和MyVar表示两个不同的变量。sin是MATLAB定义的正弦函数名,但SIN,Sin等都不是。 变量名的第一个字符必须是英文字母,最多可包含63个字符(英文、数字和下连符)。如myvar201是合法的变量名。 变量名中不得包含空格、标点、运算符,但可以包含下连符。如变量名my_var_201是合法的,且读起来更方便。而my,var201由于逗号的分隔,表示的就不是一个变量名。,MATLAB默认的预定义变量,1.MATLAB数值计算-向量,向量的创建 a = 1 2 3 4 5 6 9 8 7 b=0:20; 向量的加减 设a,b为同维向量,则c=a+b 或c=a-b得到两个向量相加减的结果。 向量的乘除 点积运算的运算符为 .*, 其意义为两个向量的对应元素进行乘法运算。 例如 a=1 2, b=3 4 则c=a.*b=3 8 为向量的乘方运算 例如 c=a.2=1 4,分号的作用, 有无均可,2.MATLAB数值计算矩阵,输入矩阵时每一行元素有分号或者回车键分隔。 例如: B = 1 2 3 4;5 6 7 8;9 10 11 12 B = 1 2 3 4 5 6 7 8 9 10 11 12,矩阵运算,矩阵转置运算 C=B 矩阵乘法 D = B * C D = 30 70 110 70 174 278 110 278 446 矩阵点乘 D=B.*C 矩阵乘方 D=B2 矩阵点乘 D=B.2,注意区分: A.点乘是两矩阵对应元素相乘 B.矩阵乘法遵循线性代数的乘法法则,注意区分: A.点乘是矩阵相应元素的幂 B.矩阵乘方是n个相同的矩阵相乘,3.MATLAB代数表达式,函数多项式如何写? 例如: y=x*exp(-x) f(t)=t2*cos(t) y=sin(abs(x*y),注意: 在MATLAB中对于一些符号有特定的表达形式,如下例: 绝对值|a|-abs(a) 圆周率-pi 开根号-sqrt(a) 等等,发动机转矩表达式,Tq=-19.313+295.27*(n/1000)-165.44*(n/1000).2+40.874*(n/1000).3-3.8445*(n/1000).4; 注意:MATLAB和C语言一样,首先要对表达式里面的变量进行定义。如上述表达式应先定义转速n,4.MATLAB绘图,plot 最基本的二维图形指令。其主要功能: 如果已经存在一个图形窗口,plot命令则清除当前图形,绘制新图形 可单窗口单曲线绘图;可单窗口多曲线绘图;可单窗口多曲线分图绘图;可多窗口绘图 可任意设定曲线颜色和线型 可给图形加坐标网线和图形加注功能,plot的调用格式,plot(x) 缺省自变量绘图格式,x为向量, 以x元素值为纵坐标,以相应元素下标为横坐标绘图 plot(x,y) 基本格式,以y(x)的函数关系作出直角坐标图,如果y为nm的矩阵,则以x 为自变量,作出m条曲线 plot(x1,y1,x2,y2) 多条曲线绘图格式 plot(x,y,s) 开关格式,开关量字符串s设定曲线颜色和绘图方式,使用颜色字符串的前13个字母,如yellowyel表示等。 或plot(x1,y1,s1,x2,y2,s2,),曲线颜色和线型,S的标准设定值如下: 字母 颜色 标点 线型 y 黄色 点线 m 粉红 圈线 c 亮蓝 线 r 大红 字线 g 绿色 实线 b 蓝色 星形线 w 白色 : 虚线 k 黑色 (-) 点划线,单窗口多曲线绘图,t=0:pi/100:2*pi; y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5); plot(t,y,t,y1,t,y2),同样可以使用hold on 但相对比较麻烦,单窗口多曲线分图绘图,subplot 子图分割命令 调用格式:subplot(m,n,p) 例如:t=0:pi/20:2*pi; y1=sin(t) y3=tan(t) y2=cos(t),图形加注功能,title 给图形加标题 xlable 给x轴加标注 ylable 给y轴加标注 gtext 给曲线标注,在MATLAB中求最大值、最小值函数,极大值:max 极小值:min 例如:A=1 2 3;4 5 6;7 8 9; Amax=max(max(A); Amin=min(min(A);,注意:矩阵在寻找 最大值/最小值时 以列向量为一个 单元查找,MATLAB编程M文件,MATLAB中各种命令可以完成许多单一的任务,对于某些较为复杂的问题,仅靠现有的命令或函数来解决,往往是难以达到目的 。为此,要运用MATLAB编程语言编制程序,形成M-文件。 程序是使计算机完成各项运算的命令集,运行一个编制好的程序,计算机会从第一条命令行开始,一行接一行地执行相应的命令,直到终止。 程序一般包含:数据输入,数据处理和结果输出三部分,其中数据处理是核心。程序编写调试完成后,需要存盘,形成永久性文件,可以随时对它进行调用或修改。文件名以字母开头,但不能用专用变量名,如pi等。 MATLAB中每一个命令都是一个M-文件。,M文件的建立与编辑,1.建立新的M文件 (1)菜单操作:MATLAB命令窗口的File菜单 New菜单项 M-file命令。 (2)命令操作:在MATLAB命令窗口输入命令edit。 (3)命令按钮操作:单击MATLAB命令窗口工具栏上的“新建”命令按钮。,2. 编辑M文件,M文件的分类,分类: 命令文件(Script File)和函数文件(Function File)。 主要区别: (1)命令文件没有输入参数,也不返回输出参数;函数文件可以带输入参数,也可返回输出参数。 (2)命令文件对工作空间中的变量进行操作,执行结果完全返回工作空间;函数文件中定义的变量属局部变量。 (3)命令文件可以直接执行;函数文件要以函数调用的方式使用。,数据的输入输出,输入:input函数 调用格式为: A=input(提示信息,选项); 输出:disp函数 调用格式为 disp(输出项),求一元二次方程ax2 +bx+c=0的根。,程序如下: a=input(a=?); b=input(b=?); c=input(c=?); d=b*b-4*a*c; x=(-b+sqrt(d)/(2*a),(-b-sqrt(d)/(2*a); disp(x1=,num2str(x(1),x2=,num2str(x(2);,MATLAB控制流,if-else-end条件控制 switch-case控制结构 for循环和while循环 break:导致包含该指令的while、for 循环终止,或在if - end, switch - case, try catch中导致中断。 continue:跳过位于它之后的循环体中其他指令,而执行循环的下一个迭代. return:结束return指令所在函数的执行,而把控制转至主调函数或者指令窗。否则,只有待整个被调函数执行完后,才会转出。,if-else-end条件控制,例:建立符号函数sign(x) x=input(x=); if x0 sn=1; elseif x=0 sn=0; else sn=-1; end,输入一个字符,若为大写字母,则输出其对应的小写字母;若为小写字母,则输出其对应的大写字母;若为数字字符则输出其对应的数值,若为其他字符则原样输出。 c=input(请输入一个字符,s); if c=A end,switch-case控制结构,例:某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price来表示): price200 没有折扣 200price500 3%折扣 500price1000 5%折扣 1000price2500 8%折扣 2500price5000 10%折扣 5000price 14%折扣 输入所售商品的价格,求其实际销售价格。,switch-case控制结构,price=input(请输入商品价格); switch fix(price/100) case 0,1 %价格小于200 rate=0; case 2,3,4 %价格大于等于200但小于500 rate=3/100; case num2cell(5:9) %价格大于等于500但小于1000 rate=5/100; case num2cell(10:24) %价格大于等于1000但小于2500 rate=8/100; case num2cell(25:49) %价格大于等于2500但小于5000 rate=10/100; otherwise %价格大于等于5000 rate=14/100; end price=price*(1-rate) %输出商品实际销售价格,for循环,例:求和:s=1+2+n n=input(请输入 n=); s=0; for i=1:n s=s+i; end,while循环,例:求和:s=1+2+n3000 s=0;k=1; while s3000 s=s+k; k=k+1; end,两种方法解答,直接在command window输入 创建M文件,绘制汽油发动机使用外特性曲线,发动机的最低转速:n=600r/min; 发动机的最低转速:n=4000r/min; 发动机转矩:Tq=-19.313+295.27*(n/1000)-165.44*(n/1000).2+40.874*(n/1000).3-3.8445*(n/1000).4; 在MATLAB中可以使用plot(n,Tq)做出外特性曲线,选择变速器的挡数,主减速器 i0=5.83 四挡 ig1=6.09; ig2=3.09; ig3=1.71; ig4=1.00 五挡 ig1=5.56; ig2=2.769; ig3=1.644; ig4=1.00; ig5=0.793;,轻型货车的参数,质量(kg):m1=2000;m2=1800;m3=3880; 半径(m):r=0.367 传动效率:b=0.85 滚动阻力系数:f=0.013 空气阻力系数X迎风面积:CA=2.77 飞轮转动惯量:If=0.218 二前轮转动惯量:I1=1.798 四后轮转动惯量:I2=3.598,驱动力、车速、行驶阻力计算,驱动力公式:Ft=Tq*ig*i0*b/r Ft1=Tq*ig1*i0*b/r;以此类推 滚动阻力:Ff=G*f Ff=m3*g*f 车轮速度计算:u=0.377*r*n/(i0*ig) 空气阻力计算:Fw=CA*u2/21.15;,做出驱动力与行驶阻力曲线,利用plot做出驱动力与行驶阻力曲线,即plot(u,F) 注意: 标注坐标的XY轴-xlabel/ylabel 对驱动力和行驶阻力进行标注-gtext(),求汽车的加速曲线,加速阻力的汽车旋转质量换算系数: a=1+(1.798+3.598)/(0.3672*3880)+(0.218*ig.2*5.832*0.85)/(0.3672*3880); 可以得到du/dt=(1/(a*m3)*(Ft-(Ff+Fw) 即可做出加速度曲线:plot(u,du/dt),求最大爬坡度,最大爬坡度公式: I=tan(asin(Ft-Fwf)/(3880*9.8) 利用plot(u,I)得到最大爬坡度曲线图,求解最高车速、最大爬坡度和相应的附着率,最高车速:Uma

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论