《机电系统与仿真技术》课件7 MatLab基础.ppt
《《机电系统与仿真技术》课件7 MatLab基础.ppt》由会员分享,可在线阅读,更多相关《《机电系统与仿真技术》课件7 MatLab基础.ppt(52页珍藏版)》请在文字多文库上搜索。
1、第1讲 Matlab基础,2023/5/13,1系统建模与仿真,应用领域:航空、航天、造船、兵器、工业制造、生物医学、汽车、电子产品、虚拟仪器、石油化工。,计算机仿真是基于所建立的系统仿真模型,利用计算机对系统进行分析与研究的技术与方法。也就说,根据所究的问题按照物理和数学关系建立数学模型,以描述系统当前或未来的行为,并可以用计算机程序或图形表示出来。,主要用于工程领域的产品研究、设计、开发、测试、生产、培训、使用、维护等各个环节。,2023/5/13,1.1计算机仿真概念与步骤,仿真概念仿真又称为模拟,指利用模型实现实际系统中发生的本质过程,并通过对系统模型的实验来研究存在的或设计中的系统。
2、仿真的重要工具就是计算机及相关仿真软件,如MatLab,Pro/E,SolidWorks等等。仿真技术与数值计算、求解方法的重要区别就是:仿真技术是一种实验技术。仿真过程包括:仿真模型的建立和进行仿真实验两个主要步骤。,仿真不存在一个通用的方法,下面给出基本步骤(仅供参考)1)对于待仿真的系统,需要正确理解系统的工作过程;2)明确研究目标和条件,理解目标与现有条件的关系;3)规范系统模型,取舍适当的细节层次,建立满足研究目的仿真模型;4)利用计算机语言和仿真软件实现仿真模型;5)通过可能的输入验证仿真输出结果是否真实描述了系统的发生;6)判断模型的输入分布与输出性能指标与实际考察结果或实际情况
3、是否一致;7)根据仿真目的,进行仿真实验;8)应用相关分析方法分析仿真结果;9)建立仿真文档,以便后续继续进行其他相关仿真研究。,2023/5/13,1.2发展阶段与工程应用的意义,第一阶段 20世纪50年代末到60年,为仿真技术的诞生期(只有大企业用);第二阶段 20世纪70年代末到80年,为仿真技术的成长期(开始出现研究人员专门研究仿真技术);第三阶段 20世纪90年代至今,为仿真技术的成熟期(大量仿真软件出现并开始应用于科研和工程,如MultiSim,Protel,Tanner,MatLab,SolidWorks等)。,1)在经济方面,可以降低成本,而且设备可以重复使用,尤其是对于大型、
4、复杂系统而言;2)一些危险的装置如核电站等通常是不允许进行实验的,因此采用仿真技术可以降低危险程度,对系统研究起到保障作用;3)提高设计效率,如电路设计、模型设计、控制系统设计等等;4)具有优化设计和预测性能的特殊功能。,发展阶段,工程应用的意义,2023/5/13,1.3Matlab的特点,1)编程效率高,因为其编程接近于人们通常进行计算的思维方式;2)计算功能强,因为有非常丰富的库函数,矩阵、数组和向量的计算功能特别强,适用于科学与工程计算;3)使用方便,MatLab将编绎、链接、执行融为一体,可以在同一窗口上排除书写、语法错误,加快了用户编写、修改和调试程序的速度;4)易于扩充,MatL
5、ab可以C、C+、Fortran混合编程。,2023/5/13,2.2Matlab帮助,1)help命令,help function FUNCTION Add new function.New functions may be added to MATLABs vocabulary if they are expressed in terms of other existing functions.The commands and functions that comprise the new function must be put in a file whose name defines
6、the name of the new function,with a filename extension of.m.At the top of the file must be a line that contains the syntax definition for the new function.,2)lookfor命令,Lookfor命令可以查找所有的MatLab help标题以及MatLab搜索路径中M文件的第一行,返回结果为包含所指定的关键词的项。,3)从【help】菜单获得帮助,2023/5/13,2.2Matlab的帮助,4)who命令,a=2,b=3,c=6 whoYo
7、ur variables are:a b c,5)whos命令,whos Name Size Bytes Class Attributes a 1x1 8 double b 1x1 8 double c 1x1 8 double,6)Clear命令,a=1a=1 clear a?Undefined function or variable a.,7)Length命令(给出向量长度),8)Format命令(定义输出格式),2023/5/13,3.1Matlab数值计算算术运算,1)加法 a=1 2 3;4 5 6;b=7 8 9;10 11 12;c=1;a+bans=8 10 12 14 16
8、 18,2)减法 a=1 2 3;4 5 6;b=7 8 9;10 11 12;b-aans=6 6 6 6 6 6,3)乘法 a=1 2 3;4 5 6;b=1 2;7 8;10 11;a*bans=45 51 99 114,4)除法 1/3(左除)ans=1/3 13(右除)ans=3,算术运算,2023/5/13,3.1Matlab数值计算关系运算,1)大于和小于 1 15ans=0,a=1 2 3;4 5 6;b=5 6 7;8 1 10;a abans=0 0 0 0 1 0,2)大于等于和小于等于 a=1 2 3;4 5 6;b=1 2 7;8 2 6;a a=bans=1 1 0
9、 0 1 1,3)等于或不等于 a=1 2 3;4 5 6;b=1 2 7;8 2 6;a=bans=1 1 0 0 0 1 a=bans=0 0 1 1 1 0,关系运算,2023/5/13,3.1Matlab数值计算逻辑运算,1)逻辑与、非运算符 a=1 2 3;4 5 6;b=1 2 7;8 2 6;a&bans=1 1 1 1 1 1,a=1 2 3;4 5 6;aans=0 0 0 0 0 0,2)逻辑或、异或运算符 a=1 2 0;4 5 6;b=0 2 0;8 2 6;a|bans=1 1 0 1 1 1,a=1 2 0;4 5 6;b=0 2 0;8 2 6;xor(a,b)a
10、ns=1 0 0 0 0 0,逻辑运算,2023/5/13,3.1Matlab数值计算特殊符号说明,冒号符说明(:):1)创建数组,2)访问特定的行、列。,句点运算符(.)说明:1)用在十进制的小数点2)表示数组运算,2023/5/13,3.1Matlab数值计算数组运算,数组加减法与算术运算加减法的规则是相同的。,标量乘法:,向量乘法:,a=0:12;a*3ans=Columns 1 through 5 0 3 6 9 12 Columns 6 through 10 15 18 21 24 27 Columns 11 through 13 30 33 36,a.*bans=6 14 24 3
11、6 50,向量除法:,a=1:5;b=6:10;(左除示例)a./bans=1/6 2/7 3/8 4/9 1/2 a.bans=6 7/2 8/3 9/4 2,数组运算,2023/5/13,3.1Matlab数值计算矩阵运算,矩阵乘法:,a=1:3;b=4;5;6;a*bans=32,矩阵分解:,Cholesky(乔里斯基)正定分解:把一个对称正定的矩阵表示成一个下三角矩阵L和其转置的乘积的分解。,A=magic(3);%产生魔方矩阵,它的每行、列以及对角线的数之和相等。R,p=chol(A)R=2.8284 0.3536 0 2.2079p=3L,U,P=lu(A)L=1 0 0 0.50
12、00 1 0 0.3750 0.5441 1 U=8 1 6 0 8.5000-1.0000 0 0 5.2941 P是置换矩阵,LU分解:将一个矩阵分解为一个单位下三角矩阵和一个上三角矩阵的乘积(有时是它们和一个置换矩阵的乘积)。,矩阵运算,2023/5/13,3.1Matlab数值计算矩阵运算,QR分解:将矩阵分解成一个正规正交矩阵Q与上三角形矩阵R。,A=2-1 1;3 2-3;1 3-2;Q,R,E=qr(A)Q=-929/1738 753/1220 780/1351-809/1009-649/4206-780/1351-929/3476-753/976 780/1351 R=-347
13、6/929-1738/929 1169/486 0-2103/649 1246/475 0 0 1351/1170 E 是置换矩阵,矩阵运算,2023/5/13,3.1Matlab数值计算矩阵运算,特征值与特征向量A*V=V*D:,A=1 2 3;2 3 4;3 4 5;V,D=eig(A)V=0.8277 0.4082 0.3851 0.1424-0.8165 0.5595-0.5428 0.4082 0.7339D=-0.6235 0 0 0-0.0000 0 0 0 9.6235,矩阵运算,2023/5/13,3.1Matlab数值计算数据分析,x=1 2 3 4 5 6;%给定x阵列
14、max(x)%找出x阵列的最大值ans=6 min(x)%找出x阵列的最小值ans=1 sum(x)%求出x阵列值的总和ans=21 prod(x)%求出x阵列值的做连乘ans=720 cumsum(x)%求出x阵列值的累计后做总和ans=1 3 6 10 15 21 cumprod(x)%求出x阵列值的累计后做连乘ans=1 2 6 24 120 720 primes(5)%求出所有小于5素数ans=2 3 5 sortrows(x)%将x阵列按升序排列ans=1 2 3 4 5 6,数据分析,2023/5/13,3.1Matlab数值计算函数绘图,fplot(humps,0 2)%在0 2
15、之间计算函数humps,并显示该函数的图形,结果如下图所示。,函数绘图,2023/5/13,humps是matlab里演示用的函数。这个函数有个显著的特点就是在0.3和0.9处有很强的值变化,在相对较短的区间内展现出平滑和陡峭的曲线。,3.1Matlab数值计算函数绘图,在0,8之间绘制函数,产生如图1-13所示的图形。f=2*exp(-x).*cos(x);fplot(f,0,8),函数绘图,xzero=fzero(f,0)xzero=-1.5708,2023/5/13,3.1Matlab数值计算函数绘图,x=1:5;diff(x)%得到数组x相邻元素之间的差值ans=1 1 1 1 dif
16、f(x,2)%得到数组x的二阶差分ans=0 0 0,差分运算,梯度运算,v=-2:0.4:2;x,y=meshgrid(v);z=x.*exp(-x.2-y.2);px,py=gradient(z,0.4,0.4);quiver(px,py),2023/5/13,meshgrid是用于生成网格采样点的函数。quiver是绘制二维矢量场的函数,使用该函数可以将矢量用二维箭头绘制出来。,3.1Matlab数值分析多项式运算,a=1 2 3 4 5;poly(a)ans=1-15 85-225 274-120,注意:创建多项式时,必须包括具有零系数的项。,创建多项式,2023/5/13,3.1Ma
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机电系统与仿真技术 机电系统与仿真技术课件7 MatLab基础 机电 系统 仿真技术 课件 MatLab 基础
