MATLAB设计模糊控制器并用simulink仿真

本人菜鸟,初学模糊控制器,为了方便以后查阅写此博文,欢迎初学者借鉴,高手指点!

环境:MATLAB R2012a

目录

一、设计模糊控制器

1.1 创建项目文件夹

1.2 打开MATLAB

 1.3 设计模糊控制器

二、设置控制系统

三、simulink仿真


一、设计模糊控制器

1.1 创建项目文件夹

在此路径如图

1.2 打开MATLAB

打开MATLAB R2012a切换当前目录为上一步路径,如图

 

 1.3 设计模糊控制器

打开模糊控制器设计对话框

  • 85
    点赞
  • 561
    收藏
    觉得还不错? 一键收藏
  • 44
    评论
以下是用命令行搭建模糊逻辑控制器的步骤: 1. 定义输入变量和输出变量。例如,我们可以定义一个输入变量“温度”,取值范围为0到100,和一个输出变量“加热时间”,取值范围也为0到100。 ```matlab temp = 0:100; % 定义温度输入变量 heat_time = 0:100; % 定义加热时间输出变量 ``` 2. 定义模糊集合和隶属函数。例如,我们可以定义三个模糊集合来表示“温度”输入变量,分别是“低温度”、“中温度”和“高温度”,并为每个模糊集合定义一个隶属函数。这里我们使用三角形隶属函数来定义这些集合。 ```matlab low_temp = trimf(temp, [0 0 50]); % 定义低温度模糊集合 med_temp = trimf(temp, [0 50 100]); % 定义中温度模糊集合 high_temp = trimf(temp, [50 100 100]); % 定义高温度模糊集合 ``` 3. 定义模糊规则。例如,我们可以定义一些简单的规则来描述“温度”输入变量和“加热时间”输出变量之间的关系。这里我们使用“低温度”和“中温度”对应的规则,表明当温度较低时应该加热更长时间,而当温度较高时应该加热更短时间。 ```matlab rule1 = [1 1 40]; % 如果温度为“低温度”,则加热时间为“长时间” rule2 = [2 1 60]; % 如果温度为“中温度”,则加热时间为“中等时间” ``` 4. 基于定义的模糊集合、隶属函数和规则,构建模糊逻辑控制器。例如,我们可以使用“fuzzy”函数来构建一个简单的模糊逻辑控制器。 ```matlab fis = fuzzy(2); % 创建一个两个输入变量的模糊系统 fis.input(1).name = '温度'; % 设置第一个输入变量的名称为“温度” fis.input(1).range = [0 100]; % 设置第一个输入变量的取值范围 fis.input(1).mf(1).name = '低温度'; % 设置第一个输入变量的第一个模糊集合的名称为“低温度” fis.input(1).mf(1).type = 'trimf'; % 设置第一个输入变量的第一个模糊集合的隶属函数类型为三角形隶属函数 fis.input(1).mf(1).params = [0 0 50]; % 设置第一个输入变量的第一个模糊集合的隶属函数参数 fis.input(1).mf(2).name = '中温度'; % 设置第一个输入变量的第二个模糊集合的名称为“中温度” fis.input(1).mf(2).type = 'trimf'; % 设置第一个输入变量的第二个模糊集合的隶属函数类型为三角形隶属函数 fis.input(1).mf(2).params = [0 50 100]; % 设置第一个输入变量的第二个模糊集合的隶属函数参数 fis.rule(1).antecedent = [1]; % 设置第一条规则的前提为“温度”输入变量的第一个模糊集合 fis.rule(1).consequent = [1]; % 设置第一条规则的结论为“加热时间”输出变量的第一个模糊集合 fis.rule(1).weight = 1; % 设置第一条规则的权重为1 fis.rule(2).antecedent = [2]; % 设置第二条规则的前提为“温度”输入变量的第二个模糊集合 fis.rule(2).consequent = [2]; % 设置第二条规则的结论为“加热时间”输出变量的第二个模糊集合 fis.rule(2).weight = 1; % 设置第二条规则的权重为1 ``` 5. 使用模糊逻辑控制器进行推理。例如,我们可以使用“evalfis”函数来计算输入变量“温度”为40时输出变量“加热时间”的模糊值。 ```matlab input_temp = 40; % 定义输入变量“温度”的取值 output_heat_time = evalfis(input_temp, fis); % 计算输出变量“加热时间”的模糊值 ``` 这就是用命令行搭建模糊逻辑控制器的基本步骤。当然,实际应用中可能需要更复杂的模糊集合、隶属函数和规则,以及更高级的模糊推理算法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 44
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值