当前位置:文档之家› 4步学会使用matlab模糊控制工具箱

4步学会使用matlab模糊控制工具箱

4步学会使用matlab模糊控制工具箱
4步学会使用matlab模糊控制工具箱

有关错误解决办法

MATLAB功能强大,很多同学用其做控制算法的仿真

但是其中的fuzzy logic controller刚开始用常常容易出错

常见报错:

1、MinMax blocks do not accept 'boolean' signals. The input signal(s) of block 'mkkzq1/Subsystem/Fuzzy Logic Controller with Ruleviewer/Fuzzy Logic Controller/FIS Wizard/Defuzzification1/Max (COA)' must be one of the MATLAB 'uint8', 'uint16', 'uint32', 'int8', 'int16', 'int32',

'single', or 'double' data types

2、An error occurred while propagating data type 'boolean' from block 'mkkzq1/Subsystem/Fuzzy Logic Controller with Ruleviewer/Fuzzy Logic Controller/FIS

Wizard/Defuzzification1/Zero Strength (COA)', output port 1。

以下是解决方案:

1、fis编辑器(MATLAB的command window中键入fuzzy打开)中,建立好规则后,file-export-to workspace

2、对于7.0版本,simulink模型窗口菜单中,

Simulation-Configuration Parameters-Implement logic signals as boolean data前面默认的勾选去掉

3.而对于6.5及以前版本,则是在SIMULATION -SIMULATION PARAMETERS-ADVANCED中将boolean logic signals选为off,强烈推荐用这个

用FIS(Mamdani)设计完模糊控制器之后,连接到控制系统中进行仿真,每次总出现这两个错误:

1)Block error Max(coa): MinMax blocks do not

accept'boolean'signals.

2)block error Zero strength(coa):An error occurred while propagating data type'boolean'from block'....',outport 1

解决方案:

在simulink parameter中,找到advance选项卡,把第一二个选项设为off。

4步教你学会使用matlab模糊控制工具箱

Matlab模糊控制工具箱为模糊控制器的设计提供了一种非常便捷的途径,通过它我们不需要进行复杂的模糊化、模糊推理及反模糊化运算,只需要设定相应参数,就可以很快得到我们所需要的控制器,而且修改也非常方便。下面将根据模糊控制器设计步骤,一步步利用Matlab工具箱设计模糊控制器。

首先我们在Matlab的命令窗口(command window)中输入fuzzy,回车就会出来这样一个窗口。

下面我们都是在这样一个窗口中进行模糊控制器的设计。1.确定模糊控制器结构:即根据具体的系统确定输入、输出量。

这里我们可以选取标准的二维控制结构,即输入为误差e和误差变化ec,输出为控制量u。注意这里的变量还都是精确量。相应的模糊量为E,EC和U,我们可以选择增加输入(Add Variable)来实现双入单出控制结构。

2.输入输出变量的模糊化:即把输入输出的精确量转化为对应语言变量的模糊集合。

首先我们要确定描述输入输出变量语言值的模糊子集,如{NB,NM,NS,ZO,PS,PM,PB},并设置输入输出变量的论域,例如我们可以设置误差E(此时为模糊量)、误差变化EC、控制量U的论域均为{-3,-2,-1,0,1,2,3};然后我们为模糊语言变量选取相应的隶属度函数。

在模糊控制工具箱中,我们在Member Function Edit中即可完成这些步骤。首先我们打开Member Function Edit窗口.

然后分别对输入输出变量定义论域范围,添加隶属函数,以E为例,设置论域范围为[-3 3],添加隶属函数的个数为7.

然后根据设计要求分别对这些隶属函数进行修改,包括对应的语言变量,隶属函数类型。

3.模糊推理决策算法设计:即根据模糊控制规则进行模糊推理,并决策出模糊输出量。

首先要确定模糊规则,即专家经验。对于我们这个二维控制结构以及相应的输入模糊集,我们可以制定49条模糊控制规则(一般来说,这些规则都是现成的,很多教科书上都有),如图。

制定完之后,会形成一个模糊控制规则矩阵,然后根据模糊输入量按照相应的模糊推理算法完成计算,并决策出模糊输出量。4.对输出模糊量的解模糊:模糊控制器的输出量是一个模糊集合,通过反模糊化方法判决出一个确切的精确量,凡模糊化方法很多,我们这里选取重心法。

5.然后Export to disk,即可得到一个.fis文件,这就是你所设计的模糊控制器。

matlab/simulink模糊控制器应用实例

前面我们已经利用模糊控制工具箱设计好了一个模糊控制器(假定我们存为fuzzy1.fis),下面我们检验一下,看看我们的控制器到底怎么样。以一个简单的电机控制为例,我们在Simulink中建立了它的模糊控制系统如下:

在用这个控制器之前,需要用readfis指令将fuzzy1.fis加载到matlab的工作空间,比如我们用这样的指令:myFLC=readfis (‘fuzzy1.fis’);就创建了一个叫myFLC的结构体到工作空间,

并在fuzzy logic controller中参数设为:myFLC。

可以看到,在模糊控制器的输入和输出均有一个比例系数,我们叫它量化因子,它反映的是模糊论域范围与实际范围之间的比例关系,例如,模糊控制器输入输出的论域范围均为[-3,3],而实际误差的范围是[-10,10],误差变化率范围是[-100,100],控制量的范围是[-24,24],那么我们就可以算出量化因子分别为0.3,0.03,8。量化因子的选取对于模糊控制器的控制效果有很大的影响,因此要根据实际情况认真选取哦。

好,现在我们可以设定仿真步长,比如定步长的10ms,就可以运行了。

运行后,产生这样一个错误:

MinMax blocks do not accept 'boolean' signals. The input signal(s) of block 'test_fuzzy/Fuzzy Logic Controller/FIS Wizard/Defuzzification1/Max (COA)' must be one of the MATLAB 'uint8', 'uint16', 'uint32', 'int8', 'int16', 'int32',

'single', or 'double' data types

我想很多朋友做模糊控制的时候都会遇到这个情况。没关系,这里提供两个解决办法:

1.直接在Defuzzification1这个模块中的那个比较环节后加入

数据类型转换模块,将boolean转化为double型,或者双击那个比较模块,选中show additional parameters,将输出数据类型改为specify via dialog,然后选uint(8)即可;但是在仿真之后,又会发现很多地方都存在这个问题,因此你不得不一个一个去修改,如果你不怕累的话。

2.第二个方法是最简单的,直接在simulation

parameters->advanced将boolean logic signals选为off,强烈推荐你用这个。

好了,这些都解决了,我们就可以仿真了,例如给个方波信号,可以得到仿真曲线如下

matlab工具箱如何安装

matlab工具箱如何安装 在matlab的file下面的set path把它加上,把路径加进去后在: file→Preferences→General的Toolbox Path Caching里点击update Toolbox Path Cache更新一下。 以下是我在别的地方看到的,转过来你参考一下吧。 首先说说添加到matlab搜索路径好处:1 对n——你只需要存储一个副本,就可以在其他地方使用。具体来说,假设你在数据盘D上新建了两个目录abc和def,这两个工程(每个目录下的所有程序相应地称为一个工程)都需要调用同一个(些)函数(简称工具箱),这时候,如果你没有把该工具箱添加到matlab 的搜索路径下,则需要分别把工具箱中所有用到的文件都复制到目录abc和def下才能正确运行。这显然浪费空间,所以,matlab提供了一个搜索路径(默认在matlab安装目录下的toolbox中),只要把工具箱对应的整个文件夹复制到搜索路径对应的目录下,并且通知matlab一声(把该路径正确添加到搜索路径中),就可以在abc和def中使用这个工具箱了(即无论你的工程文件在哪个目录(有效的目录)下都可以访问这个工具箱中的函数)。下面就以matlab安装目录下的toolbox目录作为默认的添加路径进行详细说明。 1. 如何添加工具箱? 以下是添加工具箱的方法: 如果是Matlab安装光盘上的工具箱,重新执行安装程序,选中即可。如果是单独下载的工具箱,则需要把新的工具箱(以下假设工具箱名字为svm)解压到toolbox目录下,然后用addpath或者pathtool 把该工具箱的路径添加到matlab的搜索路径中,最后用which newtoolbox_command.m来检验是否可以访问。如果能够显示新设置的路径,则表明该工具箱可以使用了。具体请看工具箱自己代的README 文件。 1.1 举例: 要添加的工具箱为svm,则解压后,里边有一个目录svm,假设matlab安装在D:\MATLAB6p5,将svm目录拷贝至D:\MATLAB6p5\toolbox,然后运行matlab,在命令窗口输入addpath D:\MATLAB6p5\toolbox\svm回车,来添加路径。然后在svm目录下,任意找一个m文件,以svcinfo.m 为例,在命令窗口中输入which svcinfo.m。如果显示出该文件路径,如D:\MATLAB6p5\toolbox\svm\svcinfo.m,则安装成功,当然也可以在命令窗口输入path来查看。 上面的说明和例子基本上介绍了在matlab中如何添加工具箱,下面是其他补充: 1.2 添加方式总结: 事实上,有两种添加工具箱到matlab搜索路径的方法:其一是用代码,其二是用界面。其实无论用哪种方法,都是修改pathdef.m这个文件,阁下如果是高手,可以直接打开该文件修改,呵呵,对此这里不作讨论。 1.2.1 代码方式: 适用于添加下载的工具箱(别人的): 在命令窗口输入addpath D:\MATLAB6p5\toolbox\svm 或者addpath(‘D:\MATLAB6p5\toolbox\svm’); 但是这种方法只能添加svm目录,如果该目录下有其他子文件夹,并且运行时候“隐式”调用到这些子文件夹(例如假设svm目录下存在子文件夹matdata,该子文件夹下有logo.mat这个文件,且在m文件代码中使用了诸如load logo 这样的句子,即没有显式给出logo.mat的具体路径,则称为“隐式”),则不能正确访问。因此,有必要在添加时使用以下语句把svm目录下所有文件夹都添加到搜索路径中:500){this.resized=true;;}"> 程序代码 addpath(genpath(D:\MATLAB6p5\toolbox\svm)); 另外,如果只使用以上代码,则退出matlab后,新添加的路径不会被保存下来,下次重新启动matlab

matlab工具箱

至于工具箱的安装说明参见: https://www.doczj.com/doc/ad5505997.html,/viewthread.php?tid=120&page=1&fromuid=4481#p id123 Maplesoft《Maple Toolbox for MATLAB》 https://www.doczj.com/doc/ad5505997.html,/thread-236-1-1.html Sergiy Iglin《Graph Theory Toolbox》(图论工具 箱)https://www.doczj.com/doc/ad5505997.html,/thread-295-1-1.html Koert Kuipers《Branch And Bound toolbox 2.0》(BNB20分支定界工具 箱)https://www.doczj.com/doc/ad5505997.html,/thread-226-1-1.html Howard Wilson《Numerical Integration Toolbox》(NIT数值积分工具 箱)https://www.doczj.com/doc/ad5505997.html,/thread-225-1-1.html Anton Zaicenco《FEM toolbox for solid mechanics》(固体力学有限元工具箱)https://www.doczj.com/doc/ad5505997.html,/thread-219-1-1.html Nicholas J. Higham《The Matrix Computation Toolbox》(矩阵计算工具箱) https://www.doczj.com/doc/ad5505997.html,/thread-422-1-1.html Paolo Di Prodi《robotic toolbox》(机器人工具 箱)https://www.doczj.com/doc/ad5505997.html,/thread-274-1-1.html Moein Mehrtash《GPS Navigation Toolbox 》(GPS导航工具箱) https://www.doczj.com/doc/ad5505997.html,/thread-228-1-1.html J.Divahar 《Airfoil_Analyzer_toolbox》(翼型分析工具箱) https://www.doczj.com/doc/ad5505997.html,/thread-218-1-1.html Rasmus Anthin《Multivariable Calculus Toolbox 》(多变量微积分工具 箱)https://www.doczj.com/doc/ad5505997.html,/thread-251-1-1.html 《Time frequency analysis toolbox》(时频分析工具 箱)https://www.doczj.com/doc/ad5505997.html,/thread-439-1-1.html

基于模糊控制的速度跟踪控制问题(C语言以及MATLAB仿真实现)

基于模糊控制的速度控制 ——地面智能移动车辆速度控制系统问题描述 利用模糊控制的方法解决速度跟踪问题,即已知期望速度(desire speed),控制油门(throttle output)和刹车(brake output)来跟踪该速度。已知输入:车速和发动机转速(值可观测)。欲控制刹车和油门电压(同一时刻只有一个量起作用)。 算法思想 模糊控制器是一语言控制器,使得操作人员易于使用自然语言进行人机对话。模糊控制器是一种容易控制、掌握的较理想的非线性控制器,具有较佳的适应性及强健性(Robustness)、较佳的容错性(Fault Tolerance)。利用控制法则来描述系统变量间的关系。不用数值而用语言式的模糊变量来描述系统,模糊控制器不必对被控制对象建立完整的数学模式。 Figure 1模糊控制器的结构图 模糊控制的优点: (1)模糊控制是一种基于规则的控制,它直接采用语言型控制规则,出发点是现场操作人员的控制经验或相关专家的知识,在设计中不需要建立被控对象的精确的数学模型,因而使得控制机理和策略易于接受与理解,设计简单,便于应用。 (2)由工业过程的定性认识出发,比较容易建立语言控制规则,因而模糊控制对那些数学模型难以获取,动态特性不易掌握或变化非常显著的对象非常适用。 (3)基于模型的控制算法及系统设计方法,由于出发点和性能指标的不同,容易导致较大差异;但一个系统语言控制规则却具有相对的独立性,利用这些控制规律间的模糊连接,容易找到折中的选择,使控制效果优于常规控制器。 (4)模糊控制是基于启发性的知识及语言决策规则设计的,这有利于模拟人工控制的过程和方法,增强控制系统的适应能力,使之具有一定的智能水平。 简化系统设计的复杂性,特别适用于非线性、时变、模型不完全的系统上。 模糊控制的缺点

Matlab 的 Fuzzy 工具箱实现模糊控制

Matlab的 Fuzzy 工具箱实现模糊控制(rulelist的确定) 用Matlab的 Fuzzy 工具箱实现模糊控制- - 用Matlab中的 Fuzzy 工具箱做一个简单的模糊控制,流程如下: 1、创建一个 FIS (Fuzzy Inference System ) 对象, a = newfis(fisName,fisType,andMethod,orMethod,impMethod, aggMethod,defuzzMethod) 一般只用提供第一个参数即可,后面均用默认值。 2、增加模糊语言变量 a = addvar(a,'varType','varName',varBounds) 模糊变量有两类:input 和 output。在每增加模糊变量,都会按顺序分配一个 index,后面要通过该index 来使用该变量。 3、增加模糊语言名称,即模糊集合。 a = addmf(a,'varType',varIndex,'mfName','mfType',mfParams) 每个模糊语言名称从属于一个模糊语言。Fuzzy 工具箱中没有找到离散模糊集合的隶属度表示方法,暂且用插值后的连续函数代替。 参数mfType即隶属度函数(Membership Functions),它可以是Gaussmf、trimf、trapmf等,也可以是自定义的函数。 每一个语言名称也会有一个 index,按加入的先后顺序得到,从 1 开始。 4、增加控制规则,即模糊推理的规则。 a = addrule(a,ruleList) 其中ruleList是一个矩阵,每一行为一条规则,他们之间是 ALSO 的关系。 假定该 FIS 有 N 个输入和 M 个输出,则每行有 N+M+2 个元素,前 N 个数分别表示 N 个输入变量的某一个语言名称的 index,没有的话用 0 表示,后面的 M 个数也类似,最后两个分别表示该条规则的权重和个条件的关系,1 表示 AND,2 表示 OR。 例如,当“输入1” 为“名称1” 和“输入2” 为“名称3” 时,输出为“ 输出1” 的“状态2”,则写为: [1 3 2 1 1] 5、给定输入,得到输出,即进行模糊推理。 output = evalfis(input,fismat) 其中fismat为前面建立的那个 FIS 对象。 一个完整的例子如下: clear all; a = newfis('myfis'); a = addvar(a,'input','E',[0 7]); a = addmf(a,'input',1,'small','trimf',[0 1 4.333]); a = addmf(a,'input',1,'big','trimf',[1.6667 6 7]); a = addvar(a,'output','U',[0 7]); a = addmf(a,'output',1,'small','trimf',[0 1 4.333]);

matlab工具箱的安装方法 ROBOT工具箱精解

robotic toolbox for matlab工具箱下载地址: https://www.doczj.com/doc/ad5505997.html,/source/940770 1. PUMA560的MATLAB仿真 要建立PUMA560的机器人对象,首先我们要了解PUMA560的D-H参数,之后我们可以利用Robotics Toolbox工具箱中的link和robot函数来建立 PUMA560的机器人对象。 其中link函数的调用格式: L = LINK([alpha A theta D]) L =LINK([alpha A theta D sigma]) L =LINK([alpha A theta D sigma offset]) L =LINK([alpha A theta D], CONVENTION) L =LINK([alpha A theta D sigma], CONVENTION) L =LINK([alpha A theta D sigma offset], CONVENTION) 参数CONVENTION可以取‘standard’和‘modified’,其中‘standard’代表采用标准的D-H参数,‘modified’代表采用改进的D-H参数。参数‘alpha’代表扭转角,参数‘A’代表杆件长度,参数‘theta’代表关节角,参数‘D’代表横距,参数‘sigma’代表关节类型:0代表旋转关节,非0代表移动关节。另外LINK还有一些数据域: LINK.alpha %返回扭转角 LINK.A %返回杆件长度 LINK.theta %返回关节角 LINK.D %返回横距 LINK.sigma %返回关节类型 LINK.RP %返回‘R’(旋转)或‘P’(移动) LINK.mdh %若为标准D-H参数返回0,否则返回1 LINK.offset %返回关节变量偏移 LINK.qlim %返回关节变量的上下限[min max] LINK.islimit(q) %如果关节变量超限,返回-1, 0, +1 LINK.I %返回一个3×3 对称惯性矩阵

最新matlab优化工具箱介绍

m a t l a b优化工具箱介 绍

matlab优化工具箱介绍 分类: Matlab2007-11-03 20:27 6405人阅读评论(0) 收藏举报在生活和工作中,人们对于同一个问题往往会提出多个解决方案,并通过各方面的论证从中提取最佳方案。最优化方法就是专门研究如何从多个方案中科学合理地提取出最佳方案的科学。由于优化问题无所不在,目前最优化方法的应用和研究已经深入到了生产和科研的各个领域,如土木工程、机械工程、化学工程、运输调度、生产控制、经济规划、经济管理等,并取得了显著的经济效益和社会效益。 用最优化方法解决最优化问题的技术称为最优化技术,它包含两个方面的内容: 1)建立数学模型即用数学语言来描述最优化问题。模型中的数学关系式反映了最优化问题所要达到的目标和各种约束条件。 2)数学求解数学模型建好以后,选择合理的最优化方法进行求解。 最优化方法的发展很快,现在已经包含有多个分支,如线性规划、整数规划、非线性规划、动态规划、多目标规划等。 9.1 概述 利用Matlab的优化工具箱,可以求解线性规划、非线性规划和多目标规划问题。具体而言,包括线性、非线性最小化,最大最小化,二次规划,半无限问题,线性、非线性方程(组)的求解,线性、非线性的最小二乘问题。另外,该工具箱还提供了线性、非线性最小化,方程求解,曲线拟合,二次规划等问

5.大型方法的演示函数

9.1.3 参数设置 利用optimset函数,可以创建和编辑参数结构;利用optimget函数,可以获得options优化参数。 ● optimget函数 功能:获得options优化参数。 语法: val = optimget(options,'param') val = optimget(options,'param',default) 描述: val = optimget(options,'param') 返回优化参数options中指定的参数的 值。只需要用参数开头的字母来定义参数就行了。 val = optimget(options,'param',default) 若options结构参数中没有定义 指定参数,则返回缺省值。注意,这种形式的函数主要用于其它优化 函数。 举例:

(完整版)matlab模糊控制工具箱的使用

matlab模糊控制工具箱的使用 本学期选修了周川老师的智能控制及应用这门课程,大三时候曾上过周老师的英文版的控制工程基础这门课程,比较喜欢周老师上课的风格,智能控制这门课也收获不小,模糊控制是课程中讲到的第一个智能控制算法。 模糊不是真的模糊,模糊是为了精确。模糊控制中涉及到一个隶属度的概念,通常我们认为一个事物属于一个概念与否是确定的,比如数字电路的0与1,但是实际情况或者人们的思维习惯却不是这样的。比如规定18到30岁为青年,那么还差一天到18岁的人算不算青年呢?照规定看不算,但是如果我们加入概率的概念,比如说这个人90%属于青年人,可能更符合人们的思维习惯。 L.A.Zadeh在其《不相容原理》所述:“随着系统的复杂程度不断提高,人们对其精确而有意义地描述的能力不断的降低,以致在达到某一个阈值之后,系统的精确性和复杂性之间呈现出几乎是相互完全排斥的性质”。我们通常所用的控制算法一般是建立在模型比较确定的情况下,而模糊控制不依赖于对象的模型就可以进行控制决策,而且对系统参数变化具有较强的适应性。 对于模糊控制的原理,我不是很清楚,也没有这个心情去搞清楚,感觉知道大概怎么用就可以了。Matlab中集成了模糊控制工具箱,可以使用图像界面进行模糊控制器的设计,极大的简化了设计过程。下面介绍利用模糊工具箱进行控制系统设计的过程。 在matlab的主窗口中输入fuzzy即可调出模糊工具箱界面,退出界面的时候会提示保存,保存格式为fis,如果我们将文件保存为njust.fis,那么下次使用这个文件的时候在主窗口中输入fuzzy njust即可。 模糊控制器的建立过程如下:(1)设定误差E、误差变化率EC和控制量U的论域为,一般为[-6 6]。(2)设定E、EC、U的模糊集。一般可设为{NB、NM、NS、ZO、PS、PM、PB}。(3)设定隶属度函数。有高斯型隶属度函数、三角型隶属度函数等。(4)设定模糊控制规则。常用的模糊控制规则如图1所示,当然可以根据特定的控制对象和要求进行相应的调整。

不错的Matlab神经网络工具箱实用指南

Matlab的神经网络工具箱实用指南 文章摘要:第一章是神经网络的基本介绍,第二章包括了由工具箱指定的有关网络结构和符号的基本材料以及建立神经网络的一些基本函数,例如new、init、adapt和train。第三章以反向传播网络为例讲解了反向传播网络的原理和应用的基本过程。 第一章介绍 1.神经网络 神经网络是单个并行处理元素的集合,我们从生物学神经系统得到启发。在自然界,网络功能主要由神经节决定,我们可以通过改变连接点的权重来训练神经网络完成特定的功能。 一般的神经网络都是可调节的,或者说可训练的,这样一个特定的输入便可得到要求的输出。如下图所示。这里,网络根据输出和目标的比较而调整,直到网络输出和目标匹配。作为典型,许多输入/目标对应的方法已被用在有监督模式中来训练神经网络。 神经网络已经在各个领域中应用,以实现各种复杂的功能。这些领域包括:模式识别、鉴定、分类、语音、翻译和控制系统。 如今神经网络能够用来解决常规计算机和人难以解决的问题。我们主要通过这个工具箱来建立示范的神经网络系统,并应用到工程、金融和其他实际项目中去。 一般普遍使用有监督训练方法,但是也能够通过无监督的训练方法或者直接设计得到其他的神经网络。无监督网络可以被应用在数据组的辨别上。一些线形网络和Hopfield网络是直接设计的。总的来说,有各种各样的设计和学习方法来增强用户的选择。 神经网络领域已经有50年的历史了,但是实际的应用却是在最近15年里,如今神经网络仍快速发展着。因此,它显然不同与控制系统和最优化系统领域,它们的术语、数学理论和设计过程都已牢固的建立和应用了好多年。我们没有把神经网络工具箱仅看作一个能正常运行的建好的处理轮廓。我们宁愿希望它能成为一个有用的工业、教育和研究工具,一个能够帮助用户找到什么能够做什么不能做的工具,一个能够帮助发展和拓宽神经网络领域的工具。因为这个领域和它的材料是如此新,这个工具箱将给我们解释处理过程,讲述怎样运用它们,并且举例说明它们的成功和失败。我们相信要成功和满意的使用这个工具箱,对范例

基于matlab的模糊控制器的设计与仿真

基于MATLAB的模糊控制器的设计与仿真 摘要:本文对模糊控制器进行了主要介绍。提出了一种模糊控制器的设计与仿真的实现方法,该方法利用MA TLB模糊控制工具箱中模糊控制器的控制规则和隶属度函数,建立模型,并进行模糊控制器设计与仿真。 关键词:模糊控制,隶属度函数,仿真,MA TLAB 1 引言 模糊控制是一种特别适用于模拟专家对数学模型未知的较复杂系统的控制,是一种对模型要求不高但又有良好控制效果的控制新策略。与经典控制和现代控制相比,模糊控制器的主要优点是它不需要建立精确的数学模型。因此,对一些无法建立数学模型或难以建立精确数学模型的被控对象,采用模糊控制方法,往往能获得较满意的控制效果。 模糊控制器的设计比一般的经典控制器如PID控制器要复杂,但如果借助MATLAB则系统动态特性良好并有较高的稳态控制精度,可提高模糊控制器的设计效率。本文在MATLAB环境下针对某个控制环节对模糊控制系统进行了设计与仿真。 2 模糊控制器简介 模糊控制器是一种以模糊集合论,模糊语言变量以及模糊推理为数学基础的新型计算机控制方法。显然,模糊控制的基础是模糊数学,模糊控制的实现手段是计算机。本章着重介绍模糊控制的基本思想,模糊控制的基本原理,模糊控制器的基本设计原理和模糊控制系统的性能分析。 随着科学技术的飞速发展,在那些复杂的,多因素影响的严重非线性、不确定性、多变性的大系统中,传统的控制理论和控制方法越来越显示出局限性。长期以来,人们期望以人类思维的控制方案为基础,创造出一种能反映人类经验的控制过程知识,并可以达到控制目的,能够利用某种形式表现出来。而且这种形式既能够取代那种精密、反复、有错误倾向的模型建造过程,又能避免精密的估计模型方程中各种方程的过程。同时还很容易被实现的,简单而灵活的控制方式。于是模糊控制理论极其技术应运而生。 3 模糊控制的特点 模糊控制是以模仿人类人工控制特点而提出的,虽然带有一定的模糊性和主观性,但往往是简单易行,而且是行之有效的。模糊控制的任务正是要用计算机来模拟这种人的思维和决策方式,对这些复杂的生产过程进行控制和操作。所以,模糊控制有以下特点: 1)模糊控制的计算方法虽然是运用模糊集理论进行的模糊算法,但最后得到的控制规律是确定

matlab工具箱安装教程

1.1 如果是Matlab安装光盘上的工具箱,重新执行安装程序,选中即可; 1.2 如果是单独下载的工具箱,一般情况下仅需要把新的工具箱解压到某个目录。 2 在matlab的file下面的set path把它加上。 3 把路径加进去后在file→Preferences→General的Toolbox Path Caching里点击update Toolbox Path Cache更新一下。 4 用which newtoolbox_command.m来检验是否可以访问。如果能够显示新设置的路径,则表明该工具箱可以使用了。 把你的工具箱文件夹放到安装目录中“toolbox”文件夹中,然后单击“file”菜单中的“setpath”命令,打开“setpath”对话框,单击左边的“ADDFolder”命令,然后选择你的那个文件夹,最后单击“SAVE”命令就OK了。 MATLAB Toolboxes ============================================

https://www.doczj.com/doc/ad5505997.html,/zsmcode.html Binaural-modeling software for MATLAB/Windows https://www.doczj.com/doc/ad5505997.html,/home/Michael_Akeroyd/download2.html Statistical Parametric Mapping (SPM) https://www.doczj.com/doc/ad5505997.html,/spm/ext/ BOOTSTRAP MATLAB TOOLBOX https://www.doczj.com/doc/ad5505997.html,.au/downloads/bootstrap_toolbox.html The DSS package for MATLAB DSS Matlab package contains algorithms for performing linear, deflation and symmetric DSS. http://www.cis.hut.fi/projects/dss/package/ Psychtoolbox https://www.doczj.com/doc/ad5505997.html,/download.html Multisurface Method Tree with MATLAB https://www.doczj.com/doc/ad5505997.html,/~olvi/uwmp/msmt.html A Matlab Toolbox for every single topic ! https://www.doczj.com/doc/ad5505997.html,/~baum/toolboxes.html eg. BrainStorm - MEG and EEG data visualization and processing CLAWPACK is a software package designed to compute numerical solutions to hyperbolic partial differential equations using a wave propagation approach https://www.doczj.com/doc/ad5505997.html,/~claw/ DIPimage - Image Processing Toolbox PRTools - Pattern Recognition Toolbox (+ Neural Networks) NetLab - Neural Network Toolbox FSTB - Fuzzy Systems Toolbox Fusetool - Image Fusion Toolbox http://www.metapix.de/toolbox.htm

通过算例熟悉MATLAB模糊控制工具箱

通过算例熟悉MATLAB模糊控制工具箱 设计一个二维模糊控制器控制一个一阶被控对象 1 () 1 G s Ts = + ,然后改变控制对象参 数的大小,观察模糊控制的鲁棒性。 1、模糊推理的五个步骤 1)输入变量的模糊化 这是模糊推理的第一步,是获取输入变量,并确定它们的隶属函数,从而确定属于每个模糊集合的隶属度。 2) 应用模糊算子 完成了输入模糊化,就知道了对于每个模糊规则,前提中每一个部分被满足的程度。如果一个给定规则的前提有多个部分,则要应用模糊算子来获得一个数值,这个数值表示前提对于该规则的满足程度。 3) 应用推理方法 推理的类型有mamdani和sugeno 推理。Mamdani推理法是一种在模糊控制中普遍使用的方法,它本质上仍然是一种合成推理方法,只不过对模糊蕴涵关系取不同的形式而已。Mamdani型推理,从每个规则的结果中得到的模糊集通过聚类运算后得到结果模糊集,被反模糊化后得到系统输出。Sugeon型推理:其中每个规则的结果是输入的线性组合,而输出是结果的加权线性组合。 4) 输出的聚类 由于决策是在对模糊推理系统中所有规则进行综合考虑的基础上做出的,因此必须以某种方式将规则结合起来以做出决策。聚类就是这样一个过程,它将表示每个规则输出的模糊集结合成一个单独的模糊集。聚类方法有max,probor(概率乘),sum。其中,sum执行的是各规则输出集的简单相加。 5) 解模糊化 解模糊化过程也叫反模糊化过程,它的输入是一个模糊集,既上一步的聚类输出模糊集,其输出为一个单值。模糊集的聚类中包含很多输出值,因此必须进行反模糊化,以从集合中解析出一个单输出值。 2、模糊逻辑工具箱的介绍 模糊逻辑工具箱提供的图形用户界面(GUI)工具有五个:模糊推理系统(FIS)编辑器;隶属函数编辑器;模糊规则编辑器;模糊规则观察器;输出曲面观察器。 1)FIS编辑器: Matlab的FIS界面如图1所示。FIS处理系统有多少个输入变量,输出变量,名称是什么,模糊算子“与”(min,prod乘积,custom自定义),“或”(max大,probor 概率统计方法,custom),推理方法(min,prod,custom),聚类方法(max,probor,sum,custom),解模糊的方法(centroid质心法,bisector中位线法,middle of maximum,largest of maximum,smallest of maximum)。

MATLAB中常用的工具箱

6.1.1MA TLAB中常用的工具箱 MA TLAB中常用的工具箱有: Matlab main toolbox——matlab主工具箱 Control system toolbox——控制系统工具箱Communication toolbox——通信工具箱 Financial toolbox——财政金融工具箱 System identification toolbox——系统辨识工具箱 Fuzzy logic toolbox ——模糊逻辑工具箱 Higher-order spectral analysis toolbox——高阶谱分析工具箱Image processing toolbox——图像处理工具箱 Lmi contral toolbox——线性矩阵不等式工具箱 Model predictive contral toolbox——模型预测控制工具箱 U-Analysis ang sysnthesis toolbox——u分析工具箱 Neural network toolbox——神经网络工具箱 Optimization toolbox——优化工具箱 Partial differential toolbox——偏微分奉承工具箱 Robust contral toolbox——鲁棒控制工具箱 Spline toolbox——样条工具箱 Signal processing toolbox——信号处理工具箱 Statisticst toolbox——符号数学工具箱 Symulink toolbox——动态仿真工具箱 System identification toolbox——系统辨识工具箱 Wavele toolbox——小波工具箱 6.2优化工具箱中的函数 1、最小化函数 2、最小二乘问题 3、方程求解函数

MATLAB工具箱函数

表Ⅰ-11 线性模型函数 函数描述 anova1 单因子方差分析 anova2 双因子方差分析 anovan 多因子方差分析 aoctool 协方差分析交互工具 dummyvar 拟变量编码 friedman Friedman检验 glmfit 一般线性模型拟合 kruskalwallis Kruskalwallis检验 leverage 中心化杠杆值 lscov 已知协方差矩阵的最小二乘估计manova1 单因素多元方差分析manovacluster 多元聚类并用冰柱图表示multcompare 多元比较 多项式评价及误差区间估计 polyfit 最小二乘多项式拟合 polyval 多项式函数的预测值 polyconf 残差个案次序图 regress 多元线性回归 regstats 回归统计量诊断 续表 函数描述 Ridge 岭回归 rstool 多维响应面可视化 robustfit 稳健回归模型拟合 stepwise 逐步回归 x2fx 用于设计矩阵的因子设置矩阵 表Ⅰ-12 非线性回归函数 函数描述 nlinfit 非线性最小二乘数据拟合(牛顿法)nlintool 非线性模型拟合的交互式图形工具nlparci 参数的置信区间 nlpredci 预测值的置信区间 nnls 非负最小二乘 表Ⅰ-13 试验设计函数 函数描述 cordexch D-优化设计(列交换算法)daugment 递增D-优化设计 dcovary 固定协方差的D-优化设计ff2n 二水平完全析因设计 fracfact 二水平部分析因设计 fullfact 混合水平的完全析因设计hadamard Hadamard矩阵(正交数组)rowexch D-优化设计(行交换算法) 表Ⅰ-14 主成分分析函数 函数描述 barttest Barttest检验 pcacov 源于协方差矩阵的主成分pcares 源于主成分的方差 princomp 根据原始数据进行主成分分析 表Ⅰ-15 多元统计函数 函数描述 classify 聚类分析 mahal 马氏距离 manova1 单因素多元方差分析manovacluster 多元聚类分析 表Ⅰ-16 假设检验函数 函数描述 ranksum 秩和检验 signrank 符号秩检验 signtest 符号检验 ttest 单样本t检验 ttest2 双样本t检验 ztest z检验 表Ⅰ-17 分布检验函数 函数描述 jbtest 正态性的Jarque-Bera检验kstest 单样本Kolmogorov-Smirnov检验kstest2 双样本Kolmogorov-Smirnov检验lillietest 正态性的Lilliefors检验 表Ⅰ-18 非参数函数 函数描述 friedman Friedman检验 kruskalwallis Kruskalwallis检验ranksum 秩和检验 signrank 符号秩检验 signtest 符号检验

MATLAB模糊逻辑工具箱及函数调用方法

4 MATLAB模糊工具箱介绍 Fuzzy Logic工具箱功能非常强大,利用它人们可以方便地建立模糊逻辑推理系统,并对其进行测试。这里我们主要介绍它提供的5个图形化的系统设计工具。 4.1模糊推理系统编辑器 启动模糊推理系统编辑器(FISE, Fuzzy Inference SystemEditer)的方法有两种,在MATLAB的命令窗口中输入“fuzzy”命令或者依次点击MATLAB软件左下角的“Start”,“Toolboxes”,“Fuzzy Logic”也可打开FISE,然后双击FIS Editor Viewer项。FISE的图形界面如下图14示。 图1FISE图形界面 4.2隶属函数编辑器 在MATLAB的命令界面输入“mfedit”命令或者在模糊推理系统编辑器的“File” “Edit/Membership Functions”或者双击图14中红色矩形,都可打开隶属函数编辑器。通过该编辑器可以设定和变更输入/输出语言变量的各自的语言值的隶属函数的类型及参数。如下图15所示。 图2隶属函数编辑器界面 4.3模糊规则编辑器 在MATLAB的命令界面中输入“ruleedit”命令或者利用模糊推理系统编辑

器的“File” “Edit/Rules”或双击图2里红色框旁的黑色的矩形框,都可以打开模糊规则编辑器。通过该编辑器可以添加、修改和删除必要的模糊规则,其空白界面如下图3所示。 图3模糊规则编辑器界面 4.4模糊规则观察器 在MATLAB的命令界面输入“ruleview”命令,或者在前面介绍的三种编辑器中的任一个中选择相应的“View/Rules”,均可打开模糊规则观察器。在模糊规则观察器中,以图形形式描述了模糊推理系统的推理过程,如下图4所示。 图4模糊规则浏览器界面 4.5模糊推理输入输出变量特性观察器 在MATLAB的命令窗口中输入“surfview”命令,或者在各个编辑器窗口选择相应菜单“View/Surface”,都可打开模糊推理输入输出曲面浏览器。该窗口用三维图形展示出输入与输出变量的曲面特性,如下图5所示。

MATLAB常用工具箱

MATLAB有三十多个工具箱大致可分为两类:功能型工具箱和领域型工具箱. 功能型工具箱主要用来扩充MATLAB的符号计算功能、图形建模仿真功能、文字处理功能以及与硬件实时交互功能,能用于多种学科。而领域型工具箱是专业性很强的。如控制系统工具箱(Control System Toolbox)、信号处理工具箱(Signal Processing Toolbox)、财政金融工具箱(Financial Toolbox)等。 下面,将MATLAB工具箱内所包含的主要内容做简要介绍: 1)通讯工具箱(Communication Toolbox)。 令提供100多个函数和150多个SIMULINK模块用于通讯系统的仿真和分析 ——信号编码 ——调制解调 ——滤波器和均衡器设计 ——通道模型 ——同步 可由结构图直接生成可应用的C语言源代码。 2)控制系统工具箱(Control System Toolbox)。 鲁连续系统设计和离散系统设计 * 状态空间和传递函数 * 模型转换 * 频域响应:Bode图、Nyquist图、Nichols图 * 时域响应:冲击响应、阶跃响应、斜波响应等 * 根轨迹、极点配置、LQG 3)财政金融工具箱(FinancialTooLbox)。 * 成本、利润分析,市场灵敏度分析 * 业务量分析及优化 * 偏差分析 * 资金流量估算 * 财务报表 4)频率域系统辨识工具箱(Frequency Domain System ldentification Toolbox * 辨识具有未知延迟的连续和离散系统 * 计算幅值/相位、零点/极点的置信区间 * 设计周期激励信号、最小峰值、最优能量诺等 5)模糊逻辑工具箱(Fuzzy Logic Toolbox)。 * 友好的交互设计界面 * 自适应神经—模糊学习、聚类以及Sugeno推理 * 支持SIMULINK动态仿真 * 可生成C语言源代码用于实时应用

如何为matlab添加工具包-(自动保存的)

为Matlab添加工具包 我电脑上matlab的路径所在。 D:\Program Files\MATLAB\R2012a\toolbox\mbc\mbcview\@cgtools\@inversionpane 首先说说添加到matlab搜索路径好处:1 对 n——你只需要存储一个副本,就可以在其他地方使用。具体来说,假设你在数据盘D上新建了两个目录abc和def,这两个工程(每个目录下的所有程序相应地称为一个工程)都需要调用同一个(些)函数(简称工具箱),这时候,如果你没有把该工具箱添加到matlab的搜索路径下,则需要分别把工具箱中所有用到的文件都复制到目录abc和def下才能正确运行。这显然浪费空间,所以,matlab提供了一个搜索路径(默认在matlab安装目录下的toolbox中),只要把工具箱对应的整个文件夹复制到搜索路径对应的目录下,并且通知matlab一声(把该路径正确添加到搜索路径中),就可以在abc和def中使用这个工具箱了(即无论你的工程文件在哪个目录(有效的目录)下都可以访问这个工具箱中的函数)。下面就以matlab安装目录下的toolbox目录作为默认的添加路径进行详细说明。 1. 如何添加工具箱? 以下是添加工具箱的方法:(论坛很多人转载过,这里就不作区分了,下面的举例也一样) 如果是Matlab安装光盘上的工具箱,重新执行安装程序,选中即可。如果是单独下载的工具箱,则需要把新的工具箱(以下假设工具箱名字为svm)解压到toolbox目录下,然后用addpath或者pathtool把该工具箱的路径添加到matlab的搜索路径中,最后用which newtoolbox_command.m来检验是否可以访问。如果能够显示新设置的路径,则表明该工具箱可以使用了。具体请看工具箱自己代的README文件。 1.1 举例: 要添加的工具箱为svm,则解压后,里边有一个目录svm,假设matlab安装在D:/MATLAB6p5,将svm目录拷贝至D:/MATLAB6p5/toolbox,然后运行matlab,在命令窗口输入addpath D:/MATLAB6p5/toolbox/svm回车,来添加路径。然后在svm目录下,任意找一个m文件,以svcinfo.m为例,在命令窗口中输入which svcinfo.m。如果显示出该文件路径,如D:/MATLAB6p5/toolbox/svm/svcinfo.m,则安装成功,当然也可以在命令窗口输入path来查看。 上面的说明和例子基本上介绍了在matlab中如何添加工具箱,下面是其他补充: 1.2 添加方式总结: 事实上,有两种添加工具箱到matlab搜索路径的方法:其一是用代码,其二是用界面。其实无论用哪种方法,都是修改pathdef.m这个文件,阁下如果是高手,可以直接打开该文件修改,呵呵,对此这里不作讨论。 1.2.1 代码方式: 1.2.1.1 适用于添加下载的工具箱(别人的): 在命令窗口输入addpath D:/MATLAB6p5/toolbox/svm 或者addpath(‘D:/MATLAB6p5/toolbox/svm’);

matlab工具箱安装方法

Matlab工具箱安装中涉及到了Matlab的搜索路径、工作目录、当前路径、用户路径等好多术语。感兴趣的网友,可以直接查看Matlab的帮助系统,在那里你可以得到最直接的答复。 添加工具箱的方法很多,所有方法都是为了达到同一个目的,将工具箱的所在路径添加到Matlab的搜索路径下就可以了 下面介绍一种最简单的操作吧,下面以安装mathmodl(数学建模工具箱)为例进行说明 a、将你所需要安装的工具箱解压到$MatlabRoot\toolbox中(其实任意路径都是可以的,但是为了方便管理,我们一般都安装在这里),$MatlabRoot是你的Matlab安装路径,你可以在Matlab中输入matlabroot命令获取 (1)在Matlab输入如下内容(当然你可以直接使用资源管理器进入toolbox目录) 1. >> matlabroot 2. 3. ans = 4. 5. D:\Program Files\MATLAB\R2008a 6. 7. >> winopen(ans) 复制代码 (2)此时会自动跳到Matlab的安装目录下,双击打开目录下的toolbox文件夹 (3)将mathmodl工具箱复制到toolbox中 b.将刚才mathmodl的路径添加到Matlab搜索路径下(可以使用Matlab命令行,也可以用Matlab菜单操作,为了简便我们这里使用第二种) (1)在Matlab中如下操作,File——>Set Path...——>点击Add with subfolders... (2)在浏览文件中,选择刚才的安装路径$MatlabRoot/toolbox/mathmodl后,点击确定 (3)此时返回到Set Path对话框,点击左下角的保存按钮(记住一定要保存),此时工具箱彻底安装完毕,点击Close关闭对话框 c.测试下新安装工具箱是可以使用,在Matlab中输入如下内容 1. >>help mathmodl%输入工具箱名称,此时一般会返回该工具箱的说明,也就是mathmodl路径下content.m中的内容 2. %在命令行中输入如下,此时会返回mathmodl路径下所有的文件 3. >>what mathmodl 4. %再到mathmodl中随便找一个不与Matlab中重名的函数,比如DYNPROG.M,在命令行中输入 5. >>which DYNPROG.M 6. 7. D:\My Documents\MATLAB\DYNPROG.M 复制代码 d.工具箱更新缓存,否则每次Matlab启动的时候会给出警告 (1)File——>Preferences——>General——>选中enable toolbox path cache——>点击updata toolbox path cache (2)完成上面的就可以关闭Preferences对话框了 (3)此时一个工具箱彻底安装完毕 (4)如果以后启动Matlab的时候警告说toolbox path cache失效,那么重复第一步操作就万事OK了

相关主题
文本预览
相关文档 最新文档