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]是可變的。 –