MATLAB-----模糊ISODATA

在这里插入图片描述

clc;
clear;
data = xlsread('Nfsensor.csv','Nfsensor');    %读入样本数据

Nc = 4;    % 初始聚类中心数目
m = 2;    % 控制聚类结果模糊程度
L = 0;    % 迭代次数
Lmax = 1000;    % 最大迭代次数
Nc_all = ones(Lmax,2);    % 各次迭代的分类数
Udmax = 10;    %最后一次的隶属度与前一次的隶属度的差值的初始值
e = 0.00005;    % 收敛参数
a = 0.33;    % 合并阈值系数
b = 1;    % 模糊化方差参数(通常取1)
r = 0.1;    % 分解阈值参数(算法使用者掌握的参数,控制G(K)的上升速度)
f = 0.68;    % 隶属度阈值(一般取值0-0.5之间)
Avms = 0.83;    % 平均隶属度阈值(一般应大于0.50.55-0.6之间取值比较适宜)
k_divide = 0.9;    %分裂1数(取0-1之间)
w = 0.2;    % 删除条件参数

Nc_start = Nc;
%调用Fuzzy ISODATA函数
[X, Z, U, Nc, L, Dcc, Dccm, Mind,  S, Smean, Fstd, T, C, k_delete, Dpc] = FussyISODATA_function(data, Nc, m, L, Lmax, Nc_all, Udmax, e, a, b, r, f, Avms, k_divide, w)

[Np, Nq] = size(data);    % Np 样本数目; Nq 样本维数

%将聚类结果在三维图中显示
figure;
hold on;
for i=1:Np
    for j = 1:Nc
        if Nc>8
            disp('聚类中心数目大于8个');
        else          
            switch X(i,1).category
                case 1
                    plot3(X(i,1).feature(1,1),X(i,1).feature(1,2),X(i,1).feature(1,3),'b*');    %1类样本,蓝色*
                    grid on;box;
                    plot3(Z(j,1).feature(1,1),Z(j,1).feature(1,2),Z(j,1).feature(1,3),'ko');    %1类聚类中心,黑色o
                    grid on;
                case 2
                    plot3(X(i,1).feature(1,1),X(i,1).feature(1,2),X(i,1).feature(1,3),'gd');    %2类样本,绿色菱形
                    grid on;
                    plot3(Z(j,1).feature(1,1),Z(j,1).feature(1,2),Z(j,1).feature(1,3),'ko');    %2类聚类中心,黑色o
                    grid on;
                case 3
                    plot3(X(i,1).feature(1,1),X(i,1).feature(1,2),X(i,1).feature(1,3),'rs');    %3类样本,红色方块
                    grid on;
                    plot3(Z(j,1).feature(1,1),Z(j,1).feature(1,2),Z(j,1).feature(1,3),'ko');    %3类聚类中心,黑色o
                    grid on;
                case 4
                    plot3(X(i,1).feature(1,1),X(i,1).feature(1,2),X(i,1).feature(1,3),'c+');    %4类样本,青色+
                    grid on;
                    plot3(Z(j,1).feature(1,1),Z(j,1).feature(1,2),Z(j,1).feature(1,3),'ko');    %4类聚类中心,黑色o
                    grid on;
                case 5
                    plot3(X(i,1).feature(1,1),X(i,1).feature(1,2),X(i,1).feature(1,3),'mx');    %5类样本,品红色x
                    grid on;
                    plot3(Z(j,1).feature(1,1),Z(j,1).feature(1,2),Z(j,1).feature(1,3),'ko');    %5类聚类中心,黑色o
                    grid on;
                case 6
                    plot3(X(i,1).feature(1,1),X(i,1).feature(1,2),X(i,1).feature(1,3),'yh');    %6类样本,黄色六角星
                    grid on;
                    plot3(Z(j,1).feature(1,1),Z(j,1).feature(1,2),Z(j,1).feature(1,3),'ko');    %6类聚类中心,黑色o
                    grid on;
                case 7
                    plot3(X(i,1).feature(1,1),X(i,1).feature(1,2),X(i,1).feature(1,3),'k.');    %7类样本,黑色.
                    grid on;
                    plot3(Z(j,1).feature(1,1),Z(j,1).feature(1,2),Z(j,1).feature(1,3),'ko');    %7类聚类中心,黑色o
                    grid on;
                case 8
                    plot3(X(i,1).feature(1,1),X(i,1).featu
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值