支持(x)功能

时间:2013-02-04 15:38:01

标签: matlab

我正在尝试编写一个matlab函数来查找模糊集的支持。

首先,要了解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 个答案:

答案 0 :(得分:1)

不确定你的代码在做什么,但是如何使用它:

function s = support(x)
   y = trapmf(x,[1 3 4 5]);
   s = x(y~=0)