0
我正在尝试编写一个matlab
函数,该函数支持模糊集。支持(x)功能
首先,要知道什么support(x)
手段,它是:清晰的集合中包含具有隶属度元素> 0
一个隶属函数的一个例子是here。
例如,如果我在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
这是为什么?我应该在代码中修复什么?
谢谢。
您可能需要指定第二个输入参数,以便[1 3 4 5]是可变的。 –