三角模糊数相离度法比较大小Matlab程序及例题
定义2.7设A是实数域R上的正规模糊集,且0,1,A均为一闭区间,即
=,Aab
则称A为一个模糊实数,简称为模糊数。
若A是一个模糊数且(0,1],A有界,则称A为有界模糊数。
若A是一个模糊数且Supp A有界,则称A为有限模糊数。
若A是一个模糊数且Supp A所含都是正实数,则称A为正模糊数。
若A是一个模糊数且SuppA所含都是负实数,则称A为负模糊数。
定义2.8[41]模糊数A称为左右型模糊数,若其隶属函数Afx满足:
(1)Afx是从实数域R到闭区间 [0,]A上的连续函数,其中01;
(2)0Afx,(,]xa;
(3)Afx在,ab上严格递增;
(4)AAfx,,xbc,其中A是常数且01A;
(5)Afx在,cd上严格递减;
(6)0Afx,[,)xd;
其中a,b,c,d为实数,并假定A是凸的且有界,a,d,我们把
A
称为模糊数A的高度。
注意:这个模糊数定义不满足定义2.7。
当1A,此时A是满足定义2.7的模糊数,当01A时,模糊数A非正
规,这时左右型模糊数的隶属函数表示如下:
,, ,0, LAAARAfxaxbbxcfxfxcxd
其他
其中函数:,0,LAAfxab,:,0,RAAfxcd。
由于:,0,LAAfxab是严格单调递增连续函数,
:,0,RAAfxcd
是严格单调递减连续函数,从而必定存在反函数,不妨设其反函数为
:0,,LAAgxab
和:0,,RAAgxcd,则反函数LAgx,RAgx也是严
格单调连续函数。
特别的,当左右型模糊数A是梯形模糊数时,其隶属函数Afx为:
,, ,0,AAAAxaaxbbabxcfxdxcxddc
其他
简记为,,,;AAabcd。
当bc时,左右型模糊数A是三角模糊数,其隶属函数为:
,, ,0, AAAAxaaxbbaxbfxdxbxddc
其他
简记为,,;AAabd。
左右型模糊数的排序方法有很多种,近年运用广泛的有相离度法,质心法,
质心和相离度相结合的方法,可能度法。下面介绍这四种比较常用的模糊数排序
方法。
相离度法
定义2.9[31] 设,,,;iiiiiiAAabcd,1,2,...in是一组左右型模糊数,记
min12min,,...,n
xaaa
(2-1)
max12max,,...,n
xaaa
(2-2)
则分别称为这组模糊数的左理想轴和右理想轴。
定义2.10[39] 设,,,;iiiiiiAAabcd,1,2,...in是一组左右型模糊数,左、右相离
度为:min0=AiiiLLAASgyxdy (2-3)
max0=AiiiRRAA
Sxgydy
(2-4)
定义2.11[29] 设,,,;iiiiiiAAabcd,1,2,...in是一组左右型模糊数,1I是从iA到
R
的映射,则定义
11iiLRiAA
IASS
(2-5)
其中[0,1]称为偏好系数。
在相离度法中,左相离度的几何意义是模糊数,,,;iiiiiiAAabcd的隶属函数
i
i
L
A
fx
与左理想轴minx形成的面积,同理,右相离度的几何意义为模糊数
,,,;iiiiiiAAabcd
的隶属函数iiRAfx与左理想轴maxx所形成的面积,见图2-1。
图2-1 模糊数iA的左、右相离度
定义2.12对于一组模糊数,,,;iiiiiiAAabcd,1,2,...,iNn,对,ijN,
(1) 若11ijIAIA,则称iA小于jA,记作ijAA;
(2) 若11ijIAIA,则称iA等于jA,记作ijAA;
(3) 若11ijIAIA,则称iA大于jA,记作ijAA。
function [ p ] =xld(a,u)
%UNTITLED Summary of this function goes here
% Detailed explanation goes here
[n,m]=size(a);
xmin=min(a(:,1));
xmax=max(a(:,1));
p=zeros(2,n);
p(1,:)=1:n;
for i=1:n
syms x t;
f1=(a(i,1)+x*(a(i,2)-a(i,1))./a(i,4))-xmin;
fx1=int(f1,'x','0','t');
fx1 = eval(['@(t)' vectorize(fx1) ';']);
c1=fx1(a(i,4));
f2=xmax-(a(i,3)-x*(a(i,3)-a(i,2))./a(i,4));
fx2=int(f2,'x','0','t');
fx2 = eval(['@(t)' vectorize(fx2) ';']);
c2=fx2(a(i,4));
p(2,i)=u*c1-(1-u)*c2;
end
for i=1:n-1;
for j=i+1:n;
if p(2,i)>p(2,j)
temp=p(:,i);
p(:,i)=p(:,j);
p(:,j)=temp;
end
end
end
例题:三角模糊数排序
>> a=[1 4 8 2;5 8 12 5;3 5 7 4;1 3 4 3;3 4 5 2;3 5 6 5;3 6 9 4]
a =
1 4 8 2
5 8 12 5
3 5 7 4
1 3 4 3
3 4 5 2
3 5 6 5
3 6 9 4
>> xld(a,0.4)
ans =
4.0000 5.0000 1.0000 3.0000 6.0000 7.0000 2.0000
-1.5000 1.4000 2.4000 7.2000 7.5000 11.6000 26.0000
即C4