MATLAB 实现简单的模糊控制器
这段 MATLAB 代码实现了一个简单的模糊控制器。代码首先定义了输入变量 u 的范围(-2 到 2),以及一些模糊控制器的参数:omega、bir 和 bil。然后,使用一个 for 循环对每个输入变量 u 进行判断,并根据判断结果计算输出变量 Uf。
具体而言,代码逻辑如下:
-
对于每个输入变量
u,首先判断它是否大于等于bir。如果是,则根据omega和bir计算输出变量Uf:Uf(i) = omega * u(i) - omega * bir。 -
如果
u不大于等于bir,则判断它是否在-bil和bir之间。如果是,则输出变量Uf为 0:Uf(i) = 0。 -
如果
u不在-bil和bir之间,则根据omega和bil计算输出变量Uf:Uf(i) = omega * u(i) + omega * bil。
最后,使用 plot 函数将输入变量 u 和输出变量 Uf 进行绘图,以展示模糊控制器的输出结果。
clc;
close all;
u = -2:0.01:2;
[N, M] = size(u);
omega = 1.5;
bir = 0.3;
bil = 0.1;
for i = 1:M
if u(i) >= bir
Uf(i) = omega * u(i) - omega * bir;
elseif -bil <= u(i) && u(i) <= bir
Uf(i) = 0;
elseif u(i) <= -bil
Uf(i) = omega * u(i) + omega * bil;
end
end
plot(u, Uf)
通过这段代码,我们可以理解模糊控制器的基本原理,并通过改变参数的值来调整控制器的行为。
原文地址: https://www.cveoy.top/t/topic/pjbb 著作权归作者所有。请勿转载和采集!