⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fuzzy.m

📁 熟悉三角形模糊数、中心及隶属函数表达式的概念。了解特征映射算法及统计中的 统计量的概念。利用聚类迭代算法建立 个三角形形式的隶属函数
💻 M
字号:
clear;
A=[11.2,9.3,0.12,0.08;10.6,10.5,0.16,0.24;12.4,9.0,0.12,0.20;33.4,4.4,0.02,0.00;40.6,7.3,0.07,0.10;73.8,11.5,0.14,0.05;94.7,13.2,0.48,0.06;36.3,11.0,0.18,0.30;24.1,8.2,0.10,0.12;15.3,6.2,0.08,0.10];
Coi=[10,0.5,0.01,0.05];%水质标准向量
%构造F关系矩阵X
[m,n]=size(A);l=size(Coi);
for i=1:m
    for j=1:l
        if 0<=A(i,j)&A(i,j)<=Coi(j)
            X(i,j)=1;
        else
            X(i,j)=Coi(j)/A(i,j);
         end
    end
end
%以下是求F关系X的相似矩阵R
%采用的是最大最小值法
[m,n]=size(X);
for i=1:m
    for j=1:m
        smin=0;smax=0;
        for k=1:n
            if X(i,k)<=X(j,k)
                mininum=X(i,k);maxinum=X(j,k);
            else 
                mininum=X(j,k);maxinum=X(i,k);
            end
            smin=smin+mininum;
            smax=smax+maxinum;
        end
       R(i,j)=smin/(smax);
    end
end
fprintf('十类水体单元的相似矩阵为');
R
%以下是求R的传递闭包Rt
Rt=R;
[m,n]=size(Rt);
while(1)
    for i=1:m
        for j=1:n
            for k=1:m
                r(k)=min(Rt(i,k),Rt(k,j));
            end
            C(i,j)=max(r);
        end
    end
    if C==Rt
        break;
    end
    Rt=C;    
end
fprintf('相似矩阵的传递闭包为');
Rt
%下面求截向量
[m,n]=size(Rt);
k=1;
x(1)=Rt(1,1);
for i=1:m
    for j=1:n        
        temp=Rt(i,j);       
        for l=1:k
            if temp==x(l)                
                break;
            end            
        end
        if temp~=x(l)
            k=k+1;
            x(k)=temp;
        end
    end
end

%对截向量x按从小到大的顺序进行排列,采用冒泡排序法
[l,c]=size(x);
for i=1:c
    for j=2:c
        if x(j)<x(j-1)
            temp=x(j);x(j)=x(j-1);x(j-1)=temp;
        end
    end    
end
fprintf('截向量为');
x
%然后聚类
for k=1:c
    TEMP=Rt;    
    fprintf('x=%d时的截矩阵为:\n',x(k))
    for i=1:m
        for j=1:n
            if TEMP(i,j)>=x(k)
                TEMP(i,j)=1;
            else TEMP(i,j)=0;
            end
        end
    end
    TEMP
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -