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 + -
显示快捷键?