gpt4 book ai didi

matlab - 模糊推理的遗传算法优化MF

转载 作者:行者123 更新时间:2023-12-03 17:23:18 27 4
gpt4 key购买 nike

我正在使用 GA 在我的模糊系统中优化隶属函数的参数。
我创建了一个健身功能:

function y = gafuzzy(x)
global FISsys
global allData
global realResult

FISsys = readfis('aCAess.fis');
allData = importdata('ab.mat');
realResult = importdata('ad.mat');

FISsys.input(1,1).mf(1,1).params = [x(1) x(2) x(3)];
FISsys.input(1,1).mf(1,2).params = [x(4) x(5) x(6)];

FISsys.input(1,2).mf(1,1).params = [x(7) x(8) x(9)];
FISsys.input(1,2).mf(1,2).params = [x(10) x(11) x(12)];

FISsys.output.mf(1,1).params = [x(13) x(14) x(15)];
FISsys.output.mf(1,2).params = [x(16) x(17) x(18)];

c = evalfis(allData,FISsys);
e=sum(abs(c-realResult));
y = e;

end

线性不等式的 A[15*18] 矩阵是:
A = [1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;
0,1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;
0,0,0,1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0;
0,0,0,0,1,-1,0,0,0,0,0,0,0,0,0,0,0,0;
0,0,0,0,0,0,1,-1,0,0,0,0,0,0,0,0,0,0;
0,0,0,0,0,0,0,1,-1,0,0,0,0,0,0,0,0,0;
0,0,0,0,0,0,0,0,0,1,-1,0,0,0,0,0,0,0;
0,0,0,0,0,0,0,0,0,0,1,-1,0,0,0,0,0,0;
0,0,0,0,0,0,0,0,0,0,0,0,1,-1,0,0,0,0;
0,0,0,0,0,0,0,0,0,0,0,0,0,1,-1,0,0,0;
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,-1,0;
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,-1;
0,1,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0;
0,0,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,0,0;
0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,-1,0]

和 b[15*1] 向量是:
b = [0;0;0;0;0;0;0;0;0;0;0;0;0;0;0]

但是当我运行 GA ,我得到这个错误:
fisTriangleMf() 中的非法参数 --> a > b

为什么?

最佳答案

通常,在三角形 MF 中,第一个数字,这里 a(显示左顶点)应该小于第二个数字,这里 b(顶部顶点)。所以你可以有一个像 [-1 0 1] 的三角形 MF,但它不能像 [0 -1 1]。

在您的代码中,我假设有时您不满足其中一个地方的不等式:

[x(1) < x(2) < x(3)];
[x(4) < x(5) < x(6)];
[x(7) < x(8) < x(9)];
[x(10) < x(11) < x(12)];
....

如果程序随机化这些值,您可以通过检查和替换轻松地将它们绑定(bind)到代码中,例如:
if x(1) >= x(2)
tmp = x(1);
x(1) = x(2);
x(2) = tmp;
end

关于matlab - 模糊推理的遗传算法优化MF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20950006/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com