水位控制在一辆坦克
这个模型展示了如何实现一个模糊推理系统(FIS)的仿真软件®模型。金宝app
金宝app仿真软件模型
该模型控制的水平在一个水箱使用模糊推理系统使用一个模糊逻辑控制器实现。打开sltank
模型。
open_system (“sltank”)
对于这个系统,你控制的水流入水箱使用阀。流出的速率取决于输出管的直径,这是常数,压力罐,随水位。因此,该系统具有非线性特征。
模糊推理系统
定义了模糊系统在FIS的对象,坦克
在MATLAB®工作区。有关如何指定FIS的更多信息在一个模糊逻辑控制器,明白了模糊逻辑控制器。
两个模糊系统的输入是水位误差,水平
,水位的变化率,率
。每个输入有三个隶属度函数。
图plotmf(坦克,“输入”1)图plotmf(坦克,“输入”,2)
模糊系统的输出的速率控制阀门打开或关闭,阀
,有五个隶属度函数。
plotmf(坦克,“输出”,1)
由于流出管的直径,水箱在这个系统清空更慢比填满。为了弥补这种不平衡,close_slow
和open_slow
阀隶属度函数是不对称的。PID控制器不支持这样的不对称。金宝app
模糊系统有五个规则。前三个规则调整阀只基于水位误差。
如果水位是好的,那么不调整阀。
如果水位很低,然后迅速打开阀门。
如果水位高,快速关闭阀。
其他两个规则基于的变化率调整阀附近的水位,当水位定位点。
如果水位是好的和增加,然后缓慢关闭阀。
如果水位是好的和下降,然后缓慢打开阀门。
tank.Rules
ans = 1 x5 fisrule数组属性:描述前期顺向体重连接细节:描述______________________________________________________ 1”水平= =好= >阀= no_change (1)”2 "level==low => valve=open_fast (1)" 3 "level==high => valve=close_fast (1)" 4 "level==okay & rate==positive => valve=close_slow (1)" 5 "level==okay & rate==negative => valve=open_slow (1)"
在这个模型中,您还可以使用PID控制器控制水位。切换到PID控制器,将const块设置为一个值大于或等于零。
模拟
模型模拟控制器与周期性的选点水位的变化。运行仿真。
sim卡(“sltank”,100)open_system (“sltank /比较”)
水位跟踪定位点。你可以调整控制器的性能通过修改规则坦克
金融中间人。例如,如果您删除最后两个规则,类似于微分控制作用,控制器执行不佳,有大量在水位振荡。