📄 dis2alpha.m
字号:
function [alpha]=dis2alpha(univ, msf,qlevel)% [alpha]=dis2alpha(univ, msf,qlevel)%% Discrete set to alpha-cut transformation of one fuzzy set.% The discrete set, i.e univ and msf are assumed to be given% as row vectors.% univ : the universe of discourse% msf : membership function of the fuzzy set% qlevel : number of alpha levels in which the membership grade% is divided.% alpha : 3xqlevel matrix with qlevel sets in each column.% The first row contains the left boundary and the second% row contains the corresponding right-hand values of the% level. The third row contains the value alpha of the level.% The first column corresponds to the level alpha=1.%% FSTB - Fuzzy Systems Toolbox for MATLAB% Copyright (c) 1993-1996 by Olaf Wolkenhauer% Control Systems Centre at UMIST% Manchester M60 1QD, UK%% O.Wolkenhauer 7 Feb 1996% Last change 9 Feb 1996% Test, if discrete set is normal, if not normalise:dec=find(msf==1);if isempty(dec), msf=modi_set(msf,'nor');end;for i=1:qlevel, % start with alpha=1. ulevel=1-(i-1)*(1/qlevel); % upper level of a section llevel=1-(i/qlevel); % Ensure via interpolation that appropriate values are excisting: ordv=[]; for k=1:length(msf), % search from left to right if (msf(k) > llevel) & (msf(k) <= ulevel), msfalpha=interp1([msf(k) msf(1)],[univ(k) univ(1)],level); ordv=[ordv,msfalpha]; end; end; alpha(1,i)=ordv(1); alpha(2,i)=ordv(length(ordv)); alpha(3,i)=level;end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -