mycluster.m

来自「用matlab实现聚类算法」· M 代码 · 共 36 行

M
36
字号
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 聚类分析主函数
function [result,m_pattern]=mycluster(filename,patternNum,d)
    clc
     global m_pattern;
    m_pattern=pattern(filename,patternNum,d);
    m_center=struct('feature','','patternNum','','index','');
   
    gwin=figure('Menubar','none','Name','聚类分析','NumberTitle','off','position',[0,0,450,250]);
    %定义一级菜单:未知聚类法
    hfile=uimenu(gwin,'Label','未知类别聚类分析');
    s='m_pattern=C_ZuiLinJin(m_pattern,patternNum)'
    % 定义一级菜单下的二级菜单项:最临近距离法
    hfile1=uimenu(hfile,'Label','最临近距离法','callBack','eval(s)');
    % 定义一级菜单下的二级菜单项:最大最小距离法
    hfile2=uimenu(hfile,'Label','最大最小距离法','callBack','m_pattern=C_ZuiDaZuiJuLi(m_pattern,patternNum)')
    % 定义一级菜单:层次聚类法
    cfile=uimenu(gwin,'Label','层次聚类法');
    % 定义一级菜单下的二级菜单:最短距离法
    cfile1=uimenu(cfile,'Label','最短距离法','callBack','[m_pattern]=C_ZuiDuanJuLi(m_pattern,patternNum)')
     % 定义一级菜单下的二级菜单:最长距离法
    cfile1=uimenu(cfile,'Label','最长距离法','callBack','[m_pattern]=C_ZuiChangJuLi(m_pattern,patternNum)')
     % 定义一级菜单下的二级菜单:中间距离法
    cfile1=uimenu(cfile,'Label','中间距离法','callBack','[m_pattern]=C_ZhongJianJuLi(m_pattern,patternNum)')
     % 定义一级菜单下的二级菜单:重心法
    cfile1=uimenu(cfile,'Label','重心法','callBack','[m_pattern]=C_ZhongXin(m_pattern,patternNum)')
     % 定义一级菜单下的二级菜单:类平均距离法
    cfile1=uimenu(cfile,'Label','类平均距离法','callBack','[m_pattern]=C_LeiPingJunLi(m_pattern,patternNum)')
    
    
    
    for i=1:patternNum
       result(i)=m_pattern(i).category;
    end
    msgbox(num2str(result), '聚类结果');
 

⌨️ 快捷键说明

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