我正在尝试编写一个matlab
找到模糊集支持的函数。
首先,要知道什么support(x)
意思,它是:一个包含隶属度> 0元素的清晰集合
一个隶属函数的例子在这里。
例如,如果我在 matlab 中运行以下命令(请注意, trapmf 是模糊逻辑工具箱的一部分,以防它不与您一起运行)
>> x=1:5
x =
1 2 3 4 5
>> y=trapmf(x,[1 3 4 5]);
>> y
y =
0 0.5000 1.0000 1.0000 0
因此,support(x)
这里将是:2,3,4
,因为这些是具有非零成员值的元素。
有了这个想法,我尝试将其作为 matlab 函数(.m 文件)执行,如下所示:
function support(x)
y = trapmf(x,[1 3 4 5]);
for i=1:length(y)
if(y(i) == 0)
x(i)
end
end
但是,当我运行它时,我得到以下信息:
>> support(x)
ans =
1
ans =
5
这是为什么?我应该在代码中修复什么?
谢谢。