第三章模糊控制模糊控制的MATLAB仿真课件.ppt
《第三章模糊控制模糊控制的MATLAB仿真课件.ppt》由会员分享,可在线阅读,更多相关《第三章模糊控制模糊控制的MATLAB仿真课件.ppt(80页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章模糊控制模糊控制的MATLAB仿真第1页,此课件共80页哦一、MATLAB命令窗口v计算机安装好MATLAB之后,双击MATLAB图标启动后,产生默认的MATLAB桌面-MATLAB Desktop进入MATLAB Command Window指令视窗,它是用户键入指令的地方,也是MATLAB计算结果显示之处。功能选单一共有File,Edit,Options,Windows,Help五个主要功能。5.1 MATLAB的窗口环境第2页,此课件共80页哦二.基本功能基本功能 v1.MATLAB语句形式通过例题计算归纳一些MATLAB最基本的规则和语法结构变量表达式;通过等于符号将表达式的值赋
2、予变量。当键入回车键时,该语句被执行。语句执行之后,窗口自动显示出语句执行的结果。如果希望结果不被显示,则只要在语句之后加上一个分号(;)即可。此时尽管结果没有显示,但它依然被赋值并在MATLAB工作空间中分配了内存。第3页,此课件共80页哦 2.MATLAB提供基本的算术运算:加(+)、减(-)、乘(*)、除(/)、幂次方(),范例为:5+3,5-3,5*3,5/3,53 其它在计算常用的功能我们用一个算式来说明。例:要计算面积Area=,半径r=2,则可键入r=2;area=pi*r2;area=12.5664第4页,此课件共80页哦求(12+2*(7-4)/3(12+2*(7-4)/32
3、 2的算术运算结果。(1)用键盘在MATLAB指令窗中输入以下内容(12+2*(7-4)/32(2)在上述表达式输入完成后,按【Enter】键,该指令被执行。(3)在指令执行后,MATLAB指令窗中将显示以下结果。ans=2 第5页,此课件共80页哦我们也可以将上述指令打在同一行,以,或是;分开,例如 r=2,area=pi*r2 r=2;area=pi*r2;请注意上述二式的差异,前者有计算值显示,而后者则无。第6页,此课件共80页哦 另外一个符号注解是由%起头,也就是说在%之后的任何文字都被视为程式的注解。注解的功能是简要的说明程式的内容。任何可能产生混淆的地方都应该加注解,适量的注解可在
4、以后想了解程式时能节省一些不必要的时间。例如:r=2;%键入半径 area=pi*r2;%计算面积 第7页,此课件共80页哦三、变量和数值显示格式1、变量(1)变量名称MATLAB对使用变量名称的规定:1.变量名称的英文大小写是有区别的(apple,Apple,AppLe,三个变量不同)。2.变量的长度上限为 31 个字元。3.变量名的第一个字必须是一英文字,随后可以掺杂英文字、数字或是底线。变量中不能包含有标点符号。第8页,此课件共80页哦(2)一些特殊的变量以下列出MATLAB所定义的特别变量及其意义ans:用于结果的缺省变量名 i或j:虚数单位pi:内建的值 nargin:函数的输入变量
5、个数eps:MATLAB定义的正的极小值=2.2204e-16 nargout:函数的输出变量个数inf:值,无穷大 realmin:最小正实数realmax:最大正实数 nan:无法定义一个数目,不定量第9页,此课件共80页哦(3)变量操作v在命令窗口中,同时存储着输入的命令和创建的所有变量值,它们可以在任何需要的时候被调用。如要察看变量a的值,只需要在命令窗口中输入变量的名称即可:a2、数值显示格式v任何MATLAB的语句的执行结果都可以在屏幕上显示,同时赋值给指定的变量,没有指定变量时,赋值给一个特殊的变量ans,数据的显示格式由format命令控制。vformat只是影响结果的显示,不
6、影响其计算与存储;MATLAB总是以双字长浮点数(双精度)来执行所有的运算。第10页,此课件共80页哦 MATLAB可以将计算结果以不同的精确度的数字格式显示,我们可以直接在指令视窗键入以下的各个数字显示格式的指令,以值为例:pi ans=3.1416 format long pi ans=3.14159265358979 format short e pi ans=3.1416e+000第11页,此课件共80页哦如果结果为整数,则显示没有小数;如果结果不是整数,则输出形式有:第12页,此课件共80页哦四、简单的数学运算(例exp02_01.m)1、常用的数学运算符v,-,*(乘),/(左除)
7、,(右除),(幂)v在运算式中,MATLAB通常不需要考虑空格;多条命令可以放在一行中,它们之间需要用分号隔开;逗号告诉MATLAB显示结果,而分号则禁止结果显示。2、常用数学函数abs,sin,cos,tan,sqrt,exp,imag,real,sign,log,log10,conj,inv等 abs取x的绝对值,例如:x=-4;y=abs(x)y=4第13页,此课件共80页哦sin取x的正弦值cos 取x的余弦值tan 取x的正切值sqrt 对x开平方exp 取x的自然指数log自然对数ln(x)log10log10(x)x+yi或x+yj 复数imag 复数的虚部real 复数的实部a
8、ngle复数的相角conj 共扼复数min(x)向量的最小值max(x)向量的最大值mean(x)向量的平均值sum(x)向量的总和sort(x)向量的排序median(x)每个列向量的中位数inv 矩阵的逆第14页,此课件共80页哦五、MATLAB的工作空间 MATLAB的工作空间包含了一组可以在命令窗口中调整(调用)的参数vclear:清除工作空间中所有的变量vclear 变量名:清除指定的变量vclc:清除MATLAB命令窗口中所有的信息vquit 或 exit:退出工作空间第15页,此课件共80页哦六、使用帮助1、help命令,在命令窗口中显示help线上说明 MATLAB的所有函数都
9、是以逻辑群组方式进行组织的,而MATLAB的目录结构就是以这些群组方式来编排的。vhelp matfun:矩阵函数数值线性代数vhelp general:通用命令vhelp graphics:通用图形函数vhelp elfun:基本的数学函数vhelp elmat:基本矩阵和矩阵操作vhelp datafun:数据分析和傅立叶变换函数vhelp ops:操作符和特殊字符第16页,此课件共80页哦vhelp polyfun:多项式和内插函数vhelp lang:语言结构和调试vhelp strfun:字符串函数vhelp control:控制系统工具箱函数2、helpwin:帮助窗口3、help
10、desk:帮助桌面,浏览器模式4、lookfor命令:返回包含指定关键词的那些项5、demo:打开示例窗口第17页,此课件共80页哦七七.其它功能其它功能1.用二个游标键可以将所下过的指令叫回来重覆使用。按下则前一次指令重新出现,之后再按Enter键,即再执行前一次的指令。而键的功用则是往后执行指令。2.在键盘上的几个键如,Delete等等,其功能则显而易见,试用即知无须多加说明。第18页,此课件共80页哦3.Ctrl-C(即同时按Ctrl及C二个键)可以用来中止执行中的MATLAB的工作。4.命令窗口的分页输出 more off:不允许分页 more on:允许分页 more(n):指定每页
11、输出的行数回车键前进一行空格键显示下一页q键结束当前显示第19页,此课件共80页哦vMATLAB的运算事实上是以阵列(array)及矩阵(matrix)方式在做运算,而这二者在MATLAB的基本运算性质不同,阵列强调元素对元素的运算,而矩阵则采用线性代数的运算方式。v宣告一变数为阵列或是矩阵时,如果是要个别键入元素,须用中括号 将元素置于其中。阵列为一维元素所构成,而矩阵为多维元素所组成,例如:一、简易阵列5.2 MATLAB阵列与矩阵 x=1 2 3%一维 1x3 阵列 x=1 2 3;4 5 6%二维 2x3 矩阵,以;区隔各行的元素 x=1 2 3%二维 2x3 矩阵,各行的元素分二行键
12、入 4 5 6第20页,此课件共80页哦假设要计算 y=sin(x),x=0,0.2,0.4,.,,即可用阵列方式运算,例如 x=0 0.2*pi 0.4*pi 0.6*pi 0.8*pi pi%注意阵列内也可作运算 x=0 0.6283 1.2566 1.8850 2.5133 3.1416 y=sin(x)y=0 0.5878 0.9511 0.9511 0.5878 0.0000第21页,此课件共80页哦v要找出阵列的某个元素或数个元素,可参考以下的例子 x(3)%第三个x的元素 ans=1.2566 y(5)%第五个y的元素 ans=0.5878 x(1:5)%列出第一到第五个x的元素
13、 ans=0 0.6283 1.2566 1.8850 2.5133 第22页,此课件共80页哦 y(3:-1:1)%列出第三到第一个y的元素,3为起始值,1为终止值,-1为增量 ans=0.9511 0.5878 0 x(2:2:6)%列出第二到第六个x的元素,2为起始值,6为终止值,2为增量 ans=0.6283 1.8850 3.1416 y(4 2 5 1)%列出y元素,排列元素依序为原来y阵列的4,2,5,1个 ans=0.9511 0.5878 0.5878 0第23页,此课件共80页哦1.建立阵列建立阵列 前一节提到阵列产生的方式须个别键入其元素,这方法只适用于阵列元素很少时。如
14、果要建立的阵列的元素多达数百个,则须采用以下几种方式 x=(0:0.02:1)%以:区隔起始值=0、增量值=0.02、终止值=1 x=linspace(0,1,51)%利用linspace,以区隔起始值=0终止值=1之间的元素数目=51 x=(0:0.01:1)*pi%注意阵列外也可作运算 第24页,此课件共80页哦 a=1:5,b=1:2:9%这二种方式更直接 a=1 2 3 4 5 b=1 3 5 7 9 c=b a%可利用先前建立的阵列 a 及阵列 b,组成新阵列 c=1 3 5 7 9 1 2 3 4 5 d=b(1:2:5)1 0 1%由阵列 b 的三个元素再加上三个元素组成 d=1
15、 5 9 1 0 1 第25页,此课件共80页哦2.阵列运算阵列运算 以下将阵列的运算符号及其意义列出,除了加减符号外其余的阵列运算符号均须多加.符号。阵列运算功能+加-减.*乘./左除.次方.转置 第26页,此课件共80页哦 a=1:5;a-2%从阵列a减2 ans=-1 0 1 2 3 2*a-1%以2乘阵列a再减1 ans=1 3 5 7 9 b=1:2:9;a+b%阵列a加阵列b ans=2 5 8 11 14 a.*b%阵列a及b中的元素与元素相乘 ans=1 6 15 28 45 第27页,此课件共80页哦 a./b%阵列a及b中的元素与元素相除 ans=1.0000 0.6666
16、7 0.6000 0.5714 0.5556 a.2%阵列中的各个元素作二次方 ans=1 4 9 16 25 2.a%以2为底,以阵列中的各个元素为次方 ans=2 4 8 16 32 b.a%以阵列b中的各个元素为底,以阵列a中的各个元素为次方 ans=1 9 125 2401 59049 第28页,此课件共80页哦 b=a%阵列b是阵列a的转置结果 b=1 2 3 4 5第29页,此课件共80页哦3.阵列运算的特色MATLAB在许多运算皆是以阵列为对象,即是以阵列的元素为对象。因此除了“+”,“-”这二个运算外,其余的运算符号(乘、除、次方)皆须加上“.”来强调阵列之间的运算。以下几个例
17、子可以说明阵列运算的特色。如果a,b各代表二个不同的阵列,a与b 之间的运算是元素对元素的方式,例如:a=a1,a2,anb=b1,b2,bna.*b=a1*b1,a2*b2,an*bna/b.=a1/b1,a2/b2,an/bn几个例子如下:第30页,此课件共80页哦 x=1.5;%x 是纯量 y=exp(x2);%exp(x2)是纯量运算 y1=x/y%x/y 是纯量运算 x=1:0.1:2;%x 是阵列 y=exp(x.2);%exp(x.2)是阵列运算 y1=x./y%x./y 是阵列运算须注意纯量与阵列运算的差别,例如第31页,此课件共80页哦 x=2.0%x 是一纯量 num=x3
18、-2*x2+x-6.3;den=x2+0.05*x-3.14;f=num/den x=1:5;%注意 x 是一阵列 num=x.3-2*x.2+x-6.3;den=x.2+0.05*x-3.14;f=num./den第32页,此课件共80页哦1、转置:对于实矩阵用()符号或(.)求转置结果是一样的;然而对于含复数的矩阵,则()将同时对复数进行共轭处理,而(.)则只是将其排列形式进行转置。a=123;456a=142536a=123;456.a=142536b=1+2i2-7ib=1.0000-2.0000i2.0000+7.0000ib=1+2i2-7i.b=1.0000+2.0000i2.0
19、000-7.0000i二、矩阵的运算第33页,此课件共80页哦+;-;*;和/;.*;.;./;.如:a=1 2;3 4;b=3 5;5 9c=a+b d=a-bc=d=4 7 -2 -3 8 13 -2 -5a*b=13 23;29 51a/b=-0.50 0.50;3.50 1.50%左除ab=-1-1;2 3%右除a3=37 54;81 118a.*b=3 10;15 36a./b=0.33 0.40;0.60 0.44a.b=3.00 2.50;1.67 2.25a.3=1 8;27 642、四则运算与幂运算只有维数相同的矩阵才能进行加减运算。注意只有当两个矩阵中前一个矩阵的列数和后一
20、个矩阵的行数相同时,才可以进行乘法运算。ab运算等效于求a*x=b的解;而a/b等效于求x*b=a的解。只有方阵才可以求幂。点运算是两个维数相同矩阵对应元素之间的运算,在有的教材中也定义为数组运算。第34页,此课件共80页哦3、逆矩阵与行列式计算求逆:inv(A);求行列式:det(A)要求矩阵必须为方阵4、矩阵超越函数在MATLAB中exp、sqrt等命令也可以作用到矩阵上,但这种运算是定义在矩阵的单个元素上的,即分别对矩阵的每一个元素进行计算。超越数学函数可以在函数后加上m而成为矩阵的超越函数,例如:expm,sqrtm。矩阵的超越函数要求运算矩阵为方阵。a=123;456;235;b=i
21、nv(a)b=-2.33330.33331.00002.66670.3333-2.0000-0.6667-0.33331.0000det(a)ans=-3第35页,此课件共80页哦A(m,n):提取第m行,第n列元素A(:,n):提取第n列元素A(m,:):提取第m行元素A(m1:m2,n1:n2):提取第m1行到第m2行和第n1列到第n2列的所有元素(提取子块)。A(:):得到一个长列矢量,该矢量的元素按矩阵的列进行排列。矩阵扩展:如果在原矩阵中一个不存在的地址位置上设定一个数(赋值),则该矩阵会自动扩展行列数,并在该位置上添加这个数,而且在其他没有指定的位置补零。消除子块:如果将矩阵的子块
22、赋值为空矩阵,则相当于消除了相应的矩阵子块。三、矩阵的操作1、矩阵下标:MATLAB通过确认矩阵下标,可以对矩阵进行插入子块,提取子块和重排子块的操作。例如:第36页,此课件共80页哦2、矩阵的大小m,n=size(A):返回矩阵的行列数m与nlength(A)=max(size(A):返回行数或列数的最大值。rank(A):求矩阵的秩a=123;345;m,n=size(a)m=2n=3length(a)ans=3max(size(a)ans=3rank(a)ans=2第37页,此课件共80页哦3.一些常用的特殊矩阵 单位矩阵:eye(m,n);eye(m)零矩阵:zeros(m,n);ze
23、ros(m)一矩阵:ones(m,n);ones(m)对角矩阵:对角元素向量 V=a1,a2,an A=diag(V)随机矩阵:rand(m,n)产生一个mn的均匀分布的随机矩阵第38页,此课件共80页哦eye(2,3)ans=1 0 0 0 1 0zeros(2,3)ans=0 0 0 0 0 0ones(2,3)ans=1 1 1 1 1 1V=5 7 2;A=diag(V)A=5 0 0 0 7 0 0 0 2eye(2)ans=1 0 0 1zeros(2)ans=0 0 0 0ones(2)ans=1 1 1 1如果已知A为方阵,则V=diag(A)可以提取A的对角元素构成向量V。第
24、39页,此课件共80页哦在在MATLAB里里,多多项项式式由由一一个个行行向向量量表表示示,它它的的系系数数是是按按降降序排列序排列。例如,多项式x412x30 x225x116表示为:p=1-12 0 25 116注意:必须包括具有零系数的项。除非特别地辨认,否则MATLAB无法知道哪一项为零。四、多项式处理1.多项式的建立与表示方法第40页,此课件共80页哦2.多项式的运算(1)根找出多项式的根,即多项式为零的值,可能是许多学科共同的问题。MATLAB用函数rootsroots找出一个多项式的根,并提供其它的多项式操作工具。r=roots(p)r=11.7473 2.7028 -1.225
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三 模糊 控制 MATLAB 仿真 课件
限制150内