MATLAB语言及应用.ppt_第1页
MATLAB语言及应用.ppt_第2页
MATLAB语言及应用.ppt_第3页
MATLAB语言及应用.ppt_第4页
MATLAB语言及应用.ppt_第5页
已阅读5页,还剩91页未读 继续免费阅读

下载本文档

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

文档简介

系统建模与仿真,王海英,参考教材:控制系统的MATLAB与仿真,王海英,高等教育出版社系统建模与仿真,张晓华,清华大学出版社,主要内容,MATLAB语言及应用系统建模系统仿真及应用,第一部分,MATLAB语言及应用,1.Matlab操作桌面,命令窗口历史命令窗口当前目录浏览器工作空间浏览器M文件编辑器/调试器帮助导航,2.MATLAB编程基础,变量变量命名规则变量的定义特殊变量,示例,基本数据类型,在MATLAB中共有六种数据类型,每一种类型可以是一维、二维和多维的。基本的数据类型是双精度型复数(double)和字符型(char)。MATLAB以复数矩阵为基本的运算单元。,基本语句,MATLAB最基本的语句是赋值语句,其结构为:变量名列表=表达式其中等号左边的变量名列表为MATLAB语句的返回值,若一次返回多个结果,则变量列表用括起来,各变量间用逗号分隔;等号右边为表达式,可以是矩阵运算或函数调用。,关于程序编辑,语句可以由分号(;)、逗号(,)或者回车结束如果用分号结束,则左边的变量结果不会被显示在命令窗口,否则将显示左侧变量的值。每行可以写多行语句,语句之间用空格、逗号、分号进行分隔用三个黑点表示“续行”,表示下一行是上一行的继续。A=1,2,3;4,5,6;用%表示注释,%开始一直到行末的内容都是注释,示例,3.数据结构及其运算,双精度型(double)、字符型(char)、稀疏型(sparse)、存储型(storage)、细胞型(cell)和结构型(struct)。,数据类型,一维数组,一维数组的创建逐个元素输入法冒号运算符法一维数组的访问一维数组的访问遵循以下约定:用下标方式访问数组元素,下标要用一对圆括号()引起来。下标代表的是元素在数组中的位置序号,从1开始,最大值为数组中元素的个数。下标可以是常量,也可以是变量。可以访问数组中的单个元素,也可以访问数组中的某些元素,即数组的子数组。,示例,例3.1,二维数组,二维数组的建立逐个输入数组元素值如果数组内元素数量少,可以直接从键盘逐个输入元素的值,需要遵循的规则是:整个数组必须用中括号“”括起来数组的行与行之间用分号“;”分隔,或者用回车符分隔每行之间的元素必须用逗号“,”或者空格分隔利用M文件如果数组元素很多,或者元素值要经常改变,我们可以采用M文件来输入和保存数组。,例3.2,例3.3(mydata.m),二维数组的访问,二维数组的访问遵循以下约定:用下标方式访问数组元素,下标要用一对圆形括号()引起来。可以用双下标方式访问数组元素,格式为(r,c),其中r为二维数组的行下标,c为二维数组的列下标,下标之间用逗号分隔。可以用单下标方式访问二维数组,二维数组的单下标是按照列优先规则排序的,即二维数组被看作是从第一列开始从左到右依次将各列首位连接而成的一维数组,单下标表示元素在这个一维数组中的位置。单下标和双下标具有对应关系可以访问二维数组的某个元素及其子数组,可以对元素和子数组赋值。,例3.4,数组操作,标准数组的生成数组操作,数组运算,数组运算符数组运算函数,矩阵运算,矩阵运算符矩阵函数,例3.5例3.6,例3.8,ones功能:生成全1数组,即数组中的元素都为1。格式:Y=ones(n)%生成nn的全1矩阵Y=ones(m1,m2,mk)%生成m1m2mk的全1数组Y=ones(size(A)%生成和数组A同样尺寸的全1数组zeros功能:生成全0数组,即数组中的元素都为0。格式:同ones函数rand功能:生成均匀分布随机数组。格式:Y=sand(state,v)%设置随机发生器的初始状态为v,其他同ones函数randn功能:产生正态分布随机数组。格式:同rand函数,常用的标准数组,magic功能:产生魔方矩阵,不适用于高维数组。格式:M=magic(n)说明:产生nn的魔方矩阵eye功能:产生单位矩阵,即主对角线元素都为1而其他元素都为0的二维数组格式:Y=eye(n),Y=eye(n,m),Y=eys(size(A)Diag功能:产生对角阵,即矩阵的某个对角线元素不全为0,其他元素为0。格式:X=diag(v,k)说明:v为行向量,表示对角线元素。,返回,常用的数组运算符,A+B数组加法运算A-B数组减法运算A.*B数组相乘,A和B相同位置元素的乘积A./B数组相除,A和B相同位置元素相除A.p数组各元素求p次幂A#BA、B数组对应元素间进行关系运算ABA、B数组对应元素间进行逻辑运算A.数组转置,非共轭转置sA标量s与数组A运算,返回,常用的数组运算函数,三角函数sin,cos,asin,asinh,asec,sect,tan,atan指数对数函数:exp指数函数log自然对数函数log10以10为底的对数函数log2以2为底的对数函数pow22的幂函数sqrt平方根函数复数函数abs绝对值,模angle相角(弧度)imag复数的虚部real复数的实部conj复数的共轭取整函数ceil向+方向取整fix向0方向取整floor向-方向取整round向最近的整数取整,常用的矩阵运算,A+B矩阵加法A-B矩阵减法A*B矩阵乘法A/B矩阵右除,求xB=A的最小二乘解AB矩阵左除,求Bx=A的最小二乘解Ap矩阵乘方s*A标量s与矩阵A相乘expm(A)矩阵的指数函数logm(A)矩阵的对数函数sqrtm(A)矩阵的平方根函数inv(A)矩阵的逆矩阵,返回,多项式,多项式的创建多项式的运算,运算符,关系运算符逻辑运算符逻辑函数算术运算符,关系运算符大于=大于等于=等于!=不等于,逻辑运算符%调用初始化子函数case1,sys=mdlDerivatives(t,x,u);%调用计算导数子函数case2,sys=mdlUpdate(t,x,u);%调用离散状态变量更新子函数case3,sys=mdlOutputs(t,x,u);%计算输出子函数case4,sys=mdlGetTimeNextVarHit(t,x,u);%计算下一仿真时刻子函数case9,sys=mdlTerminate(t,x,u);%终止仿真子函数otherwiseerror(Unhandledflag=,num2str(flag);%flags为其他值提示错误信息end,1、初始化子函数functionsys,x0,str,ts=mdlInitializeSizessizes=simsizes;sizes.NumContStates=0;%设置连续状态变量个数,默认值为0sizes.NumDiscStates=0;%设置离散状态变量个数,默认值为0sizes.NumOutputs=0;%设置输出变量的个数,默认值为0sizes.NumInputs=0;%设置输入变量的个数,默认值为0sizes.DirFeedthrough=1;%输入信号是否直接在输出端出现,取值为0或1sizes.NumSampleTimes=1;%设置采样周期的个数,默认值为1sys=simsizes(sizes);x0=;%设定初始值,默认值为str=;ts=00;%00用于连续系统,-10表示继承其前的采样时间设置2、计算导数子函数functionsys=mdlDerivatives(t,x,u)sys=;%计算结果由sys变量返回3、离散状态变量更新子函数functionsys=mdlUpdate(t,x,u)sys=;%更新后的离散状态变量由sys变量返回,4、计算输出子函数functionsys=mdlOutputs(t,x,u)sys=;%计算的输出向量由sys变量返回5、计算下一仿真时刻子函数functionsys=mdlGetTimeOfNextVarHit(t,x,u)sampleTime=1;%设置本函数的调用时间s

温馨提示

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

评论

0/150

提交评论