matlab里u=trimf(),MATLAB仿真

(1) 参数自整定模糊 PID 控制系统结构

参数自整定模糊PID控制器的系统结构主要由参数可调PID和模糊控制系统两部分构成,其结构如图4.3所示【41】【42】。

PID控制器实现对系统的控制,模糊推理系统以误差e和误差变化率ec作为输入,采用模糊推理方法对PID参数Kp、Ki、Kd进行在线整定,以满足不同的误差e和误差变化率ec对控制器参数的不同要求,而使被控对象具有良好的动态、静态性能。

(2) PID 控制器参数整定原则

参数模糊自整定PID控制器就是找出在不同时刻PID三个参数与e和ec之间的模糊关系,在运行中通过不断检测e和ec,根据模糊控制原理来对三个参数进行实时修改,以满足不同e和ec对控制参数的不同要求,而使被控对象有良好的动、静态性能。由前人的经验,可归纳出参数Kp、Ki、Kd的自整定原则【43】。

系统模糊PID命令实现:

在Matlab 7.0下下列程序可直接进行使用:

>> clear all

>> a=newfis('fuzzypid');

% 设定输入e 的范围、隶属度函数;

>> a=addvar(a,'input','e',[-3 3]);

>> a=addmf(a,'input',1,'NB','zmf',[-3 -1]);

>> a=addmf(a,'input',1,'NM','trimf',[-3 -2 0]);

>> a=addmf(a,'input',1,'NS','trimf',[-3 -1 1]);

>> a=addmf(a,'input',1,'Z','trimf',[-2 0 2]);

>> a=addmf(a,'input',1,'PS','trimf',[-1 1 3]);

>> a=addmf(a,'input',1,'PM','trimf',[0 2 3]);

>> a=addmf(a,'input',1,'PB','smf',[1 3]);

%设定输入ec 的范围、隶属度函数;

>> a=addvar(a,'input','ec',[-3 3]);

>> a=addmf(a,'input',2,'NB','zmf',[-3 -1]);

>> a=addmf(a,'input',2,'NM','trimf',[-3 -2 0]);

>> a=addmf(a,'input',2,'NS','trimf',[-3 -1 1]);

>> a=addmf(a,'input',2,'Z','trimf',[-2 0 2]);

>> a=addmf(a,'input',2,'PS','trimf',[-1 1 3]);

>> a=addmf(a,'input',2,'PM','trimf',[0 2 3]);

>> a=addmf(a,'input',2,'PB','smf',[1 3]);

% 设定输出kp的范围、隶属度函数;

>> a=addvar(a,'output','kp',[-0.3 0.3]);

>> a=addmf(a,'output',1,'NB','zmf',[-0.3 -0.1]);

>> a=addmf(a,'output',1,'NM','trimf',[-0.3 -0.2 0]);

>> a=addmf(a,'output',1,'NS','trimf',[-0.3 -0.1 0.1]);

>> a=addmf(a,'output',1,'Z','trimf',[-0.2 0 0.2]);

>> a=addmf(a,'output',1,'PS','trimf',[-0.1 0.1 0.3]);

>> a=addmf(a,'output',1,'PM','trimf',[0 0.2 0.3]);

>> a=addmf(a,'output',1,'PB','smf',[0.1 0.3]);

% 设定输出ki的范围、隶属度函数;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值