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

📄 fuzzy partion.m

📁 基于数量积方法求解矩阵的模糊相似关系、模糊等价关系。
💻 M
字号:
%BY YY  模糊聚类算法 2008.3.4 
%采用数量积求相似矩阵  
%输入样本矩阵 
X=input('please input X:'); 
[N,M]=size(X); 
%N是样本数 M是特征数 
%N个样本M个指标的平均值矩阵和标准差矩阵 
P=zeros(M,1); 
for j=1:M 
    for i=1:N 
        P(j)=P(j)+X(i,j); 
    end 
    P(j)=P(j)/N; 
end 
P1=zeros(M,1); 
for j=1:M 
    for i=1:N 
        P1(j)=P1(j)+(X(i,j)-P(j))*(X(i,j)-P(j)); 
    end 
    P1(j)=P1(j)/N; 
    P1(j)=sqrt(P1(j)); 
end 
%标准化将数据归一化 
for i=1:N 
    for j=1:M 
        X1(i,j)=(X(i,j)-P(j))/P1(j); 
    end 
end 
for j=1:M 
   A(j)=min(X1(:,j));%最小 
   B(j)=max(X1(:,j));%最大 
end  
for i=1:N 
    for j=1:M 
        X2(i,j)=(X1(i,j)-A(j))/(B(j)-A(j)); 
    end  
end  
X2 
%以上都是数据标准化 
%下面建立模糊相似矩阵 
R1=zeros(N,N); 
for i=1:N 
    for k=1:N 
        if i==k ; 
        else  
             
           for j=1:M 
            R1(i,k)= R1(i,k)+X2(i,j)*X2(k,j); 
           end 
        end 
    end 
end 
m=max(R1); 
m=max(m); 
R=zeros(N,N); 
for i=1:N 
    for j=1:N 
        if i==j 
            R(i,j)=1; 
        else 
            R(i,j)=R1(i,j)/m; 
        end 
    end 
end 
R 
%建立模糊等价关系矩阵 
flag=0; 
C=R; 
T=zeros(N,N); 
while flag==0 
    for i=1:N 
        for j=1:N 
            for k=1:N 
            T(i,j)=max(min(C(i,k),C(k,j)),T(i,j));%计算传递闭包 不能少T(i,j)这项 否则T(i,i)将不再为1 取大取小合运算 
            end 
        end 
    end 
    if T==C 
        flag=1; 
    else 
        C=T; 
    end 
end 
T %输出传递闭包 
%取不同的置信水平q,q需要设定 
q=0.25; 
for i=1:N 
    for j=1:N 
        if T(i,j)>=q 
            T1(i,j)=1; 
        else 
            T1(i,j)=0; 
        end 
    end 
end 
T1 %T1为一个P截矩阵 如有对应的列向量相等,则是同一类 
%输出结果 
F=zeros(N,N); 
k=1; 
for i=1:N 
    e=1; 
    F(k,e)=i; 
    for j=1:N 
        if i==j; 
        else 
            if isequal(T1(i,:),T1(j,:)) 
               e=e+1; 
               F(k,e)=j; 
            end 
        end 
    end 
    k=k+1; 
end 
F 

⌨️ 快捷键说明

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