




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上精选优质文档-倾情为你奉上专心-专注-专业专心-专注-专业精选优质文档-倾情为你奉上专心-专注-专业第9章 控制工程类工具箱介绍MATLAB的工具箱为使用该软件的不同领域内的研究人员提供了捷径。迄今为止,大约有30多种工具箱面世,内容涉及自动控制、信号处理、图象处理等多种领域。这些工具箱可以用来扩充MATLAB的符号计算功能、图形建模仿真功能、文字处理功能以及与硬件实时交互功能,也可以应用于多种学科、多种领域。与这些工具箱函数相关的使用格式可以通过Help命令得到,用户也可以针对具体系统设计自己的工具箱。9.2 系统辨识工具箱系统辨识工具箱的主要功能包括: 参数模型辨
2、识。主要模型有ARX、ARMAX、BJ模型,以及状态空间和输入误差等模型类的辨识。 非参数模型辨识。 模型的验证。对辨识模型的仿真,将真实输出数据与模型预测数据比较,计算相应的残差。 基于递推算法的ARX、ARMAX模型的辨识。 各种模型类的建立和转换函数。 集成多种功能的图形用户界面。该界面以图形的交互方式提供模型类的选择和建立、输入输出数据的加载和预处理,以及模型的估计等。9.2.1 系统辨识原理及辨识模型简介系统辨识的主要内容包括:实验设计,模型结构辨识,模型参数辨识,模型检验。常用的模型类有:参数模型类利用有限的参数来表示对象的模型,在系统辨识工具箱中的参数模型类有:ARX模型、ARM
3、AX模型、BJ(Box-Jenkins)模型、状态空间模型和输入误差模型。通常都限定为以下特殊的情形: ARX模型: (9.8) ARMAX模型: (9.9) BJ模型: (9.10) (9.11) 输入误差模型: (9.12) 状态空间模型: (9.13)其中A,B,C,D为状态空间模型的系数矩阵,v(t)为外界噪声信号。非参数模型类非参数模型主要包括脉冲响应模型和频域描述模型。如图9.3所示,假设待辨识的系统为线性系统,u为输入,y为输出,v为噪声,则可以得出输入输出的关系如下: (9.14)其中: q为时间平移算子,序列g(k)称为对象的脉冲响应模型,v(t)是不可测量的附加干扰噪声。9
4、.2.2 系统辨识工具箱图形界面图9.4 系统辨识工具箱的图形界面图9.5 导入数据的窗口在MATLAB的命令窗口中键入ident进入系统辨识工具箱的图形界面,如图9.4所示。除此之外,MATLAB还提供了以命令和函数的方法提供系统辨识工具。数据视图数据视图主要完成输入输出数据的导入及绘图,位于图9.4的左边(Data Views)。选择import data列表框中的“Time domain data”可以进入数据的导入界面,如图9.5所示。在图9.5所示的对话框中,可以指定输入输出的变量名称即可导入输入输出数据,还可指定采样周期,并为数据命名。导入数据后,可以通过图形界面对这些数据进行处理
5、。操作选择在图形界面的中间部分为数据操作(Operation)部分,包括两个下拉式列表框。图形界面的上方的是预处理(Preprocess)操作,可以对数据进行相关操作,如:消除趋势、滤波、选择输入输出通道等。图形界面的下方是进行估计(Estimate)操作,可以选择模型的类型,并通过相应的对话框输入模型阶次等信息。此外,还可以将视图区的图表拖动至两个下拉列表之间的区域,使该图表所表示的数据成为当前工作的数据,不用的数据可以拖入下方的垃圾桶“Trash”内。模型视图表9.1 图形界面之模型视图的复选框功能一览表Model output模型输出曲线Model resids模型预测残差曲线Trans
6、ient resp暂态响应曲线Frequency resp频率响应曲线Zeros and poles模型零极点图Noise spectrum噪声频谱在图9.4界面右边的区域为Model views区即模型视图区。在此区域可以选择和切换不同的模型,进行模型的验证和特征曲线的绘制等。模型视图的下方有许多复选框,供用户查看辨识输出曲线及其它的特征曲线,功能见表9.1。下面通过MATLAB提供的实例来说明系统辨识工具箱的功能和使用方法。例9.8 以MATLAB的demo系统提供的干发器(dryer)模型为例,输入为电源电压信号,输出为气流的温度。在MATLAB的命令窗口键入:load dryer2系统
7、自动将u2和y2两个变量装载到MATLAB的“workspace”中,u2为输入,y2为输出。在图9.5所示对话框中,分别将u2、y2填入“input”、“output”旁的文本框中,如果MATLAB的“workspace”中已有待辨识模型的输入输出数据向量,也可填入此处用于辨识;在“Sampling interval”中输入采样周期:0.08,并可在“Data name”旁的文本框为数据命名;点击“Import”按钮后数据以图标的形式显示在视图中,如图9.6所示。点击工具箱界面(图9.4)数据视图下方的“Time plot”复选框可以打开随时间变化的曲线,如图9.7所示。如果要消除数据序列中
8、的平均值(constant level)可返回工具箱界面(图9.4)窗口在“Preprocess”下拉列表中选择“Remove means”,此时在数据视图区出现新的数据dyrd,同时新数据随时间变化的曲线也会自动地加入图9.7中,如图9.8所示;双击数据视图中任一图表可以查看其相应的信息。在工具箱界面(图9.4)窗口“Preprocess”下拉列表中选择“Select range”后打开一个新的图形窗口。在此新窗口中可以选择数据的一部分用于模型估计,可以用鼠标拖动选择图9.7 信号随时间的变化曲线图9.6 导入数据后的图形界面图9.9 进行参数估计及其暂态响应曲线图9.8 消除平均值后的图形
9、界面及相应的曲线或者直接键入时间范围,如0-50,选好后点击“Insert”按钮返回,此时在数据视图中生成一个新的数据dryde;将数据dryde拖入工具箱界面(图9.4)中间的“Working data”(工作数据)中,可以对其进行参数估计与分析。在工具箱界面(图9.4)窗口“Estimate”下拉列表中选择“Correlation model”估计模型的暂态响应,在弹出的对话框中可以设置时间范围等参数,默认系统设置不变则点击“Estimate”按钮,则在模型视图中生成一个模型图标lmp,点击“Transient resp”复选框,可以得到其暂态曲线,如图9.9所示;在“Estimate”下
10、拉列表中选择“Spectral model”估计模型的频率响应,默认弹出对话框中的参数设置进行估计,可以在模型视图中生成一个模型spd,点击“Frequency resp”复选框,可以得到其频率响应曲线,如图9.10所示。图9.10 模型频率响应曲线图9.11 生成新参数模型的窗口Parametric models 图9.12 不同模型仿真输出与实际输出的比较曲线图图9.13 ARX模型结构阶次选择接下来进行参数估计,在工具箱界面(图9.4)窗口“Estimate”下拉列表中选择“Parametric models”,弹出对话框如图9.11,输入模型结构信息可以生成新的模型。系统默认的选择为4
11、阶差分方程模型,用此模型估计点击“Estimate”按钮生成新的模型arx441,并将曲线自动添加到各视图中。在图9.11所示对话框中,可以进入“Order editor”改变模型的阶次,选择na=2,nb=2,nk=3即为具有0.24s(3个采样周期)延时的二阶模型,点击“Estimate”生成模型arx223;此时频率响应曲线窗口和暂态响应曲线窗口都有三条曲线分别对应于前面的三个模型,在主窗口点击某一模型图标可以添加或去除在已打开视图中对应的曲线;在工具箱界面(图9.4)窗口选择“Model output”复选框,可以查看模型仿真输出与实际输出之间的比较结果,如图9.12所示,右侧给出了对
12、应不同颜色表示的模型仿真输出与实际输出的相似度。在进行参数估计时,还可以选择其它模型,如状态空间模型(ss、BJ、ARMAX、oe等),阶次同样可选,操作同ARX模型的做法;如果不清楚选择阶次为多少比较合适,可以在图9.11对话框中选择“Order selection”并输入阶次的范围,系统默认为1:10,然后点击“Estimate”按钮后弹出如图9.13的对话框,根据图中提示选择合适的模型并按“Insert”插入所选模型。9.2.3 系统辨识工具箱命令由于系统辨识工具箱可以处理许多不同种类的模型结构,因此这些模型结构可以灵活定义。要创建一个模型进行仿真时,有必要定义模型结构不是黑箱类型而是具
13、有更多细节能反映系统工作原理的内部结构。在系统辨识工具箱中是通过各种类型的模型对象来实现的。此模型对象包含许多特征,对任意模型使用命令get(m)可以得到模型的特征列表;使用set(m)可以看到各特征所分配的值。而且,可以通过类似m.A这样的命令很容易地得到或者赋予某一特征值。(1) 多项式黑箱模型:idpoly模型通用的输入输出形式(如式(9.11)是由五个多项式定义的。这些都可表示为标准的MATLAB多项式格式。多项式的系数按降幂排列储存在一个行向量中。例如,可表示为:A = 1 a1 a2 . an系统中的延时可在多项式B(q)前加零,例如对于如下的ARX模型: (9.15)可以用多项式
14、表示为:A = 1 -1.5 0.7B = 0 0 2.5 0.9式(9.11)的多项式模型可由如下命令生成:m = idpoly(A,B,C,D,F,lam,T)lam是白噪声序列的方差,T为采样周期。后面的参数变量可以缺省为默认值。例如式(9.15)可以表示为:m = idpoly(1 -1.5 0.7,0 0 2.5 0.9)对于式(9.13)多输入的情况,B和F都为矩阵,行号k对应于第k个输入。对于时间序列,B和F都为空矩阵B = ,F = 。(2) 数据表示和非参数模型估计观测到的输入输出信号u(t)、y(t)分别用列向量u、y表示,序数k对应于采样数字k,对于多变量系统,每一个输入
15、(输出)都可以表示为一个列向量,所以向量u就是一个N*nu的矩阵(N为采样观测的序列数,nu为输入通道数)。输入输出数据全部表示在iddata对象的格式中。这是辨识工具箱处理信号的基本对象,在很多的函数中都会使用。构造对象的使用格式:Data = iddata(y,u,Ts)其中,y是一个列向量或N*ny的矩阵,y的列对应于不同的输出通道。类似地,u也是一个列向量或N*nu的矩阵,u的列对应不同的输入通道。Ts为采样间隔。这样的构造对于大部分的应用来说已经足够。可以使用Data.OutputData或Data.y得到输出通道的信号,类似地,要得到输入信号可以使用Data.InputData 或
16、 Data.u。对于时间序列(无输入信号)可以使用Data = iddata(y)或令u = 。同样也可用于单输入系统,只需令y = 。若需要修改采样间隔,可以令Data.Ts = 0.3或使用语句:set(Data,Ts,0.3)(3) 参数模型估计在系统辨识工具箱中包括多种参数模型估计的函数,它们都具有共同的命令结构。m = function(Data,modstruc)m = .function(Data,modstruc,Property1,Value1,PropertyN,ValueN)变量Data是包括输入输出序列的iddata对象,而modstruc说明了被估计模型的特定结构。模
17、型估计的结果返回到变量m中,它是存放了多种信息的模型对象。在大多数情况使用时可以不必考虑对象的细节重要输入模型名称m就可以了。若查看m的简要信息输入present(m),通过get(m)则可以得到更为详细的参数信息,参数值仍然可以采用圆点引用的形式得到,例如m.par返回的就是估计参数。函数调用(.,Property1, Value1,.,PropertyN,ValueN)的参数影响着模型结构及估计算法。(4) ARX模型从ARX多项式建立ARX模型可以使用函数idarx,格式如下:m = idarx(A,B,Ts)m = idarx(A,B,Ts, Property1, Value1,.,P
18、ropertyN,ValueN)对于多输入输出的ARX模型有如下形式: (9.16)其中系数Ak为ny*ny维矩阵,Bk为ny*nu维矩阵(ny为输出参数个数,nu为输入参数个数);输入参数A为ny*ny*(1+na) 的3维矩阵并使得:A(:,:,k+1)=AkA(:,:,1)=eye(ny)输出参数B为ny*nu*(1+nb) 的3维矩阵并使得:B(:,:,k+1)=BkTs为采样周期。对式(9.8)的ARX模型参数ai和bi进行估计可使用函数arx,格式如下:m = arx(Data,na nb nk)arx函数是基于最小二乘法的模型辨识,使用因式分解求解超定线性方程。其中Data是包含
19、输入输出数据的基础iddata对象;na、nb和nk分别对应准确定义ARX模型的阶次和纯时延大小,如果有ny个输出和nu个输入,阶次依次定义为:na是一个ny*ny的矩阵,nb和nk为ny*nu维的矩阵。例9.9 模拟一个具有1输入2输出的二阶ARX模型并使用模拟数据估计该对象。A=zeros(2,2,3);B=zeros(2,1,3); %生成符合输入输出维数的3维空矩阵A(:,:,1)=eye(2); A(:,:,2)=1.5 0.1;-0.2 1.5;A(:,:,3)=0.7 -0.3;0.1 0.7;B(:,:,2)= 1;-1;B(:,:,3)= 0.5;1.2; %为输入输出数据矩
20、阵赋值m0=idarx(A,B,1);u=iddata(,idinput(300);e=iddata(,randn (300,2);y=sim(m0,u,e);m=arx( y,u, 2 2;2 2,2;2,1;1);(5) AR 模型对于单个输出信号,ARX模型的特例就是AR模型arx命令同样可以应用在此特例上:m = arx(y,na),但是对于标量信号,可以通过如下命令可以有更多的选择:m = ar(y,na)通过对参数的设置可以选择参数估计的最小二乘类方法,包括Burg机遇网格的方法、几何网格的方法、Yule-Walker方法以及修正的协方差法。相关格式内容可通过“help ar”命令
21、得到。(6) 通用多项式黑箱模型基于预测误差方法可以建立任意结构的基本模型,对于式(9.11)的模型,可以使用函数:m = pem(Data,nn)nn给出所有的阶次和延时:nn = na nb nc nd nf nk对于模型的非零阶次也可写为“特征名/特征值”的格式:m = pem(Data,na,na,nb,nb,nc,nc,nk,nk)输入参数由传递函数的多项式表达式定义,命令pem涵盖了所有黑箱线性系统的模型,对于常见的几种都可以使用,例如:m = armax(Data,na nb nc nk) m = oe(Data,nb nf nk) m = bj(Data,nb nc nd nf
22、 nk) 它们处理的对应模型结构分别为见式(9.8)(9.9)(9.10)。函数pem可以处理一般的多输入,单输出系统模型: (9.17)这里的nb、nf和nk都是行向量,长度与包含了所有阶次和延时的输入通道的数目相同:nb = nb1 . nbnu;nf = nf1 . nfnu;nk = nk1 . nknu;对于具有初始化条件的模型,可以用idmodel对象mi代替nn参数:m = pem(Data,mi)(7) 过程模型对于过程控制实例,通常采用连续时间采样模型,由静态增益、时间常数和可能存在的停滞时间(时延)。这种模型可以由下列命令进行估计:m = pem(Data,P1D)其中P1
23、D表示一个极点(时间常数)和时延。(8) 状态空间模型 构造状态空间模型:idss模型定义具有如下形式的状态空间模型结构: (9.18)或 (9.19)定义式(9.18)离散模型的语法结构为:m= idss(A,B,C,D,K,X0,Ts,T),若令T=0,则表示连续时间模型(见式9.19)即:m=idss(A,B,C,D,Kt,X0,Ts,0) 黑箱。离散时间参数化的模型:假设对离散时间状态空间模型的内部结构一无所知,如果是线性系统,可以使用下列简单的命名方法,可以对1-10阶的系统进行估计:m = pem(Data)对于某一阶次n的黑箱模型可以使用:m = pem(Data,n)也可以指定
24、一系列不同的阶次nn = n1,n2,.,nN进行辨识并绘图比较来决定所需的阶次:m = pem(Data,nx,nn)所有这些黑箱模型可以由子空间方法进行初始化,可以使用n4sid命令对状态空间模型进行估计:m = n4sid(Data,n) 离散/连续时间系统的参数结构模型:对于给定结构的状态空间模型,主要讨论带自由参数的idss模型。一旦定义了结构为ms,则可以通过如下命令估计它的参数:m = pem(Data,ms)例9.10 估计一个系统的自由参数A=-0.2 0;0 -0.3;B=2;4;C=1 1 ;D=0;m0=idss(A,B,C,D);m0.As=NaN 0;0 NaN;m
25、0.Bs=NaN; NaN;m0.Cs=1 1;m0.Ts=0;u=iddata(,idinput(300,1);e=iddata(,randn(300,1);y=sim(m0,u,e);z=y,u;plot(y)m=pem(z,m0)9.3 模糊逻辑工具箱针对模糊数学的广泛应用,MathWorks公司在其MATLAB中加入了Fuzzy Logic工具箱,该工具箱由长期从事模糊逻辑和模糊控制的专家和技术人员编制,提供了强大的功能。 图形化的系统设计界面。 支持模糊逻辑中的高级技术,如自适应神经-模糊推理系统、用于模式识别的模糊聚类技术和模糊推理方法选择等。 集成的仿真和代码生成功能,实现了MA
26、TLAB模糊逻辑控制工具箱和SIMULINK的无缝连接,还可以通过Real-Time Workshop生成ANSIC原代码有利于实际应用。 用户完成模糊逻辑系统的设计后,可以将设计结果以ASC码的形式保存。模糊工具箱提供了三种类型的工具。 命令行函数。通过调用系统的命令函数或者用户自定义的函数,这些函数通常是以MATLAB的M文件形式来完成模糊逻辑算法; 图形界面工具。通过该工具用户可以在基于图形界面的环境下直观方便地设计、分析和实现模糊推理系统; 仿真模块与实例。提供在Simulink环境下实现高速模糊逻辑推理的设计和使用。9.3.1.模糊逻辑工具箱的图形界面图9.14 FIS编辑器的图形界
27、面用fuzzy命令打开FIS编辑器的图形界面,见图9.14,通过此界面可以定义整个模糊系统。默认的是,界面提供Mamdani法的单输入单输出;OR和AND算子分别由max和min实现,蕴含关系用min,合成规则用max,用重心法(centroid)去模糊化。下面以一个调节一阶过程的模糊控制器来说明模糊工具箱图形界面。考虑传递函数: (9.18)令r(t)为给定信号,y(t)为离散输出。模糊控制器有两个输入:误差e(t)及它的变化e(t),其中: (9.20)图9.15 定义误差变量的隶属度函数编辑器图9.16 模糊规则编辑器这两个输入量分别用变量error和d_error表示,并定义在三个模糊
28、集上,其高斯隶属度函数定义在-10 10区间。(1) 在图9.14所示窗口中,在Edit菜单下选择“Add input”添加一个输入量。用鼠标选中输入输出变量后,可以指定其变量名称或max-min、sum-prod等方法。 SHAPE * MERGEFORMAT (2) 图9.15是定义在-10 10区间上的误差变量,并使用三个高斯隶属函数,分别命名为Negative、Nil和Positive。(3) 定义了全部的输入输出变量后,在菜单View下选择“Rules”打开规则编辑窗口,如图9.16所示,每个规则末尾有一个括号括起来的权重系数。选中相应的规则可以对其进行修改,或者点击右键选择“Add
29、 rule”添加规则。在这个窗口中,还可以选择规则的编写语言种类,并通过菜单View能够打开规则观察窗口和表面视图窗口。在规则视图窗口(见图9.17)中可以用鼠标拖拽或直接输入来调整输入向量并可观察到输出结果的表面图形和它去除离散化后的值。在表面视图窗口可以看到随输入变量变化的输出变量的表面图形。本例的系统可以通过主窗口File菜单下的“Export to Disk”导出至一个FIS模糊调节器扩展文件中,也可以以模糊矩阵的形式导出至工作变量空间(workspace)中。导出的文件能够在集成的调试编辑器中得到模糊控制器的语言描述。使用如下命令进入调试编辑: edit ex_fuzzy.fis图9
30、.17 查看规则视图窗口回车后在编辑器(Editor)显示其对应的fis文本:SystemName=ex_fuzzyType=mamdaniVersion=2.0NumInputs=2NumOutputs=1NumRules=9AndMethod=minOrMethod=maxImpMethod=minAggMethod=maxDefuzzMethod=centroidInput1Name=errorRange=-10 10NumMFs=3MF1=Negative:gaussmf,4.247 -10MF2=Nil:gaussmf,4.247 -1.11e-016MF3=Positive:gau
31、ssmf,4.247 10Input2Name=d_errorRange=-10 10NumMFs=3MF1=Negative:gaussmf,4.247 -10MF2=Nil:gaussmf,4.247 -1.11e-016MF3=Positive:gaussmf,4.247 10Output1Name=shuchuRange=-10 10NumMFs=5MF1=NG:trimf,-15 -10 -5.001MF2=N:trimf,-9.999 -5 -0.MF3=Z:trimf,-4.999 -5.551e-017 4.999MF4=P:trimf,0. 5 9.999MF5=PG:tri
32、mf,5.001 10 15Rules1 1, 5 (1) : 11 2, 4 (1) : 11 3, 3 (1) : 12 1, 4 (1) : 12 2, 3 (1) : 12 3, 1 (1) : 13 1, 3 (1) : 13 2, 1 (1) : 13 3, 2 (1) : 1图9.18 导出模糊结构到工作变量空间图9.19 SIMULINK中的模糊逻辑控制器模块通过主窗口File菜单下的“Export to Worksapce”导出至工作变量空间中,如图9.18所示,并可以为该矩阵变量命名。可以在SIMULINK模型或M文件中应用这个模糊推理系统。9.3.2 在SIMULINK中
33、应用模糊推理系统图9.20 模糊系统模块参数输入窗口MATLAB的模糊逻辑工具箱提供了与SIMULINK的无缝连接,建立了模糊逻辑推理系统后,可以在SIMULINK中对其仿真。SIMULINK中的Fuzzy logic toolbox中有相应的模糊逻辑控制器模块,如图9.19所示。图9.21 在SIMULINK中应用模糊推理系统在前例的图形界面中所设计的模糊推理系统已经导出为一个FIS模糊调节器扩展文件,名为ex_fuzzy.fis,并且以模糊矩阵ex_fuzzy的形式导出至工作变量空间。因此双击SIMULINK创建的模糊逻辑控制器的图标,在空白处输入该模糊矩阵的名称:ex_fuzzy,见图9
34、.20。图9.22 输出信号与目标输出信号曲线仍然以前述一阶过程为例,过程的控制量等于模糊控制器的输出加上前一个采样时刻的控制量。建模如图9.21所示。其中转换单元(Switch)是为了比较不同的模糊增益下控制系统的性能,此处转换时刻取t=300。仿真控制参数设置起止时间为0600,并采用离散变步长算法。图9.23 模糊控制器的输出和应用的控制信号图9.24 目标信号为正弦信号时的输入输出曲线当输入目标信号为方波信号时,仿真过程输出信号与输入信号曲线如图9.22,当t300时即增益为0.8时响应速度较快。scope3中uf对应的是模糊控制器的输出,ut为应用的控制信号,它们的曲线如图9.23。
35、当输入目标更换为正弦信号时,t300时即增益为0.8时稳态误差变小,见图9.24。9.3.3常用模糊工具箱命令说明(1) GUI工具 Anfisedit 打开ANFIS编辑器GUIFuzzy 调用基本FIS编辑器Mfedit 隶属度函数编辑器Ruleedit 规则编辑器和语法解析器Ruleview 规则观察器和模糊推理方框图Surfview 输出曲面观察器(2) 隶属度函数 dsigmf 两个sigmoid型隶属度函数之差组成的隶属度函数gauss2mf 建立两边型高斯隶属度函数gaussmf 建立高斯曲线隶属度函数gbellmf 建立一般钟型隶属度函数pimf 建立型隶属度函数psigmf
36、通过两个sigmoid型隶属度函数的乘积构造隶属度函数smf 建立S-型隶属度函数sigmf 建立Sigmoid型隶属度函数trapmf 建立梯形隶属度函数trimf 建立三角形隶属度函数zmf 建立Z-型隶属度函数(3) FIS数据结构管理addmf 向模糊推理系统(FIS)的语言变量添加隶属度函数addrule 向模糊推理系统(FIS)的语言变量添加规则addvar 向模糊推理系统(FIS)添加语言变量defuzz 对隶属度函数进行反模糊化evalfis 完成模糊推理计算evalmf 通过隶属度函数计算gensurf 生成一个FIS输出曲面getfis 得到模糊系统的属性mf2mf 在两个
37、隶属度函数之间转换参数newfis 创建新的FISparsrule 解析模糊规则plotfis 绘制一个FISplotmf 绘制给定语言变量的所有隶属度函数的曲线readfis 从磁盘装入一个FISrmmf 从FIS中删除某一语言变量的某一隶属度函数 rmvar 从FIS中删除某一语言变量 setfis 设置模糊系统的属性 showfis 以分行的形式显示FIS结构的所有属性 showrule 显示FIS的规则 writefis 保存FIS到磁盘上 (4) 先进技术 anfis Sugeno型模糊推理系统(FIS)的训练程序(只适用于MEX) fcm 模糊C均值聚类 genfis1 不使用数据
38、聚类方法从数据生成FIS结构 genfis2 使用减法聚类方法从数据生成FIS结构 subclust 用减法聚类方法寻找聚类中心 (5) Simulink仿真块 fuzblock Simulink模糊逻辑控制器库 sffis 用于Simulink的模糊推理S-函数 (6) 演示(Demo)defuzzdm 反模糊化方法 fcmdemo FCM聚类显示(二维) fuzdemos 列出所有模糊逻辑工具箱的演示程序 gasdemo 使用子聚类节省燃料的ANFIS演示 juggler 带规则观察器的弹球游戏器 invkine 单机械臂倒立摆运动 irisfcm FCM聚类显示(四维) noisedm
39、自适应消除噪声 slbb 球和棒控制(Simulink) slcp 倒立摆控制(Simulink) sltank 水位控制(Simulink) sltankrule 带规则观察器的水位控制(Simulink) sltbu 卡车入库(只有Simulink方式) 9.4 神经网络工具箱神经网络是上世纪80年代末期发展起来的一种实用的多学科交叉技术,是自动控制领域的前沿学科之一,为解决复杂的非线性、不确定、不确知系统的控制问题开辟了新的途径。这里主要介绍的是神经网络理论与控制理论的相结合。神经网络主要用于解决以下几类问题:模式信息处理与模式识别;最优化问题;复杂控制;信号处理与预测;信息的智能化处理
40、等。现有MATLAB中的神经网络工具箱几乎涉及了现有的神经网络的所有成果,涉及到的模型有: 感知器; 线性网络; BP(误差反向传播)网络; 径向基网络; 自组织网络; 反馈网络。对于以上几种网络模型,神经网络工具箱集成了多种学习算法,为用户使用神经网络实现算法提供了方便,并且还包括了大量生动的示例程序(demo),使用户或初学者更好地理解神经网络各种算法。神经网络用于控制领域,主要是为了解决复杂的非线性、不确定、不确知问题。由于神经网络具有模拟人的部分智能的特性,如学习能力和自适应性,从而使神经网络对变化的环境具有自适应的能力,并且基本上不依赖于模型。到目前为止,神经网络在控制领域内的各种模
41、型都有所应用,核心算法就是利用神经网络的高度非线性来逼近各种难控模型,再通过一定的校正方法来达到控制系统的设计指标。常用的神经网络控制方式有:利用神经网络进行PID控制、直接逆动态控制、模型参考自适应控制、内模控制、前馈反馈控制、预测控制等。9.4.1 图形用户界面简介MATLAB7.x的版本中神经网络工具箱提供了图形用户界面,使用户在图形界面上通过与计算机的交互设置进行神经网络的设计和仿真,这样神经网络的设计和仿真则变得简单易学。 在MATLAB命令窗口输入nntool,就可打开Network/Data Manager(网络/数据管理器)窗口,如图9.25所示。图9.25 神经网络工具箱图形
42、界面图9.25所示窗口共有7个显示区域和2个按钮区域,分别说明如下:(1) 显示区域Input区:显示用户定义的输入向量名称;Target区:显示用户定义的目标向量名称;Input Delay States区:显示用户定义的输入延迟参数变量名称;Networks区:显示用户定义的神经网络名称;Outputs区:显示网络的输出向量名称;Errors区:显示网络的训练误差变量的名称;Layer Delay States区:显示用户指定的网络层延迟参数变量名称。(2) 按钮区域 Networks and Data按钮区New Data:单击此按钮可弹出Create New Data窗口,在新窗口中可
43、以定义各种数据类型的变量名和数据值;New Network:单击此按钮可弹出Create New Network窗口,在新窗口中可以定义神经网络名称、类型以及网络结构;Import:单击此按钮可弹出Import or Load Network/Data manager窗口,可从工作区(Workspace)或磁盘文件导入神经网络或数据;Export:单击此按钮可弹出Export or Save Network/Data manager窗口将目前的Network/Data Manager窗口中的变量导出到工作区(Workspace)或存到磁盘文件中;View:用来查看区域中被选中的变量或网络的具体
44、内容;Delete:用于删除区域中被选中的变量或网络;Help:为用户使用该图形界面提供帮助。 Networks only按钮区Initialize:对网络进行初始化;Simulate:对网络进行仿真;Train:训练网络;Adapt:网络的自适应调整。9.4.2 神经网络工具箱应用示例以一个简单的模式分类问题为例,说明神经网络工具箱图形界面的使用。已知一个训练样本集:设计一个两层的神经网络,第一层有5个神经元,第2层有1个神经元。(1) 在MATLAB命令窗口输入nntool,打开Network/Data Manager(网络/数据管理器)窗口。(2) 单击New Network按钮弹出Cr
45、eate New Network窗口,创建神经网络,如图9.26所示。 输入网络名称(Network Name):Newnn; 选择网络类型(Network Type):Feed-forward backprop; 设定输入范围(Input ranges):-4 1 ;0 2; 选择训练网络的函数(Training function):TRAINLM; 选择自适应调整学习函数 (Adaption learning function):LEARNGDM; 选择误差性能函数(Perfomance function):MSE; 选择网络层数(Number of layers):2; 设定各网络层的属
46、性(Properties for ):Layer1 神经元个数(Number of neurons):5; 传输函数(Transfer Function):LOGSIG;Layer2 Number of neurons:1; Transfer Function:LOGSIG;图9.26创建神经网络窗口 单击View按钮可以查看定义好的网络,如图9.27所示;图9.27 定义的神经网络结构图图9.28 设定数据视图窗口 单击Create按钮,关闭本窗口,回到主窗口,刚刚建立的网络模型名称Newnn显示在Networks区中。(3) 训练网络 设定训练样本的输入向量:单击New Data按钮,弹出
47、Create New Data窗口,如图9.28,选择数据类型为Inputs,输入向量名称为p,值为1 -1 -2 -4;2 1 1 0,单击Create按钮,关闭本窗口,回到主窗口,刚刚建立的输入向量名称p显示在Inputs区中,选中该向量名后单击View按钮可以对其进行查看和修改操作。 设定训练样本的目标向量:与上面输入向量的步骤相同,只是数据类型改选为Targets,目标向量名称为t,值为0.2 0.8 0.8 0.2。 训练网络:在主窗口Network/Data Manager中选中网络名称Newnn后单击Train按钮,弹出Network:Newnn窗口,如图9.29所示。图9.29
48、 训练神经网络页面此窗口有多个选项卡,分别为:Training Info:选择训练数据的输入与目标向量,并定义训练结果的输出变量和误差性能变量。在此例中,选择输入、目标向量分别为p、t,采用系统自动生成的输出变量名newnn_outputs和误差性能变量名newnn_errors;Training Parameters:可设置训练网络的各种参数,本例采用系统默认值;Optional Info:设定在训练网络时是否采用确认样本和测试样本,本例均不采用。图9.30 使用TRAINLM的训练过程设置完成后,单击本窗口页面上的Train Network按钮开始训练,训练过程在新窗口中显示出来,如图9.30。 训练完成后,输出变量名称在主窗口Network/Data Manager中的Outputs区显示,并且误差性能变量名称显示在Errors区。选中变量名称后单击View按钮可查看具体数据。 神经网络的仿真:在Network/Data Manager窗口中选中网络名称Newnn后单击Simulate按钮,弹出Network:Newnn窗口,并显示Simulate页面,如图9.31所示。在此窗口可以选择仿真数据,并设定仿图9.31 神经网络仿真设置页面真结果名称后,单击
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 五金承包合同协议书
- 无偿转让合同协议书
- 2025年文化遗产保护与历史文化名城保护项目资金申请报告:资金投入与名城保护
- 酒店厨柜安装合同协议书
- 暂缓就业合同协议书
- 2025年储能技术多元化在能源行业中的储能设备与系统市场前景分析报告
- 烫伤论述题试题及答案
- 简易食品合同协议书
- 车行代收贷款合同协议
- 车渣土车出售合同协议
- 受限空间作业施工方案
- 工业数字孪生测试要求
- 12.4 识读墩台结构图
- 2025统编版语文六年级下册第二单元解析+任务目标+大单元教学设计
- 灾后救援与重建
- 上海第二工业大学《高等数学B(上)》2023-2024学年第二学期期末试卷
- 2025届上海市(春秋考)高考英语考纲词汇对照表清单
- 医院临床输血工作总结
- AIGC背景下视觉传达专业的教学模式浅谈
- 2025年黑龙江齐齐哈尔市网络舆情中心招聘5人历年高频重点提升(共500题)附带答案详解
- 区域代理方案(3篇)
评论
0/150
提交评论