calcenter.m

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

M
24
字号
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 函数名称  CalCenter()
% 参数  m_center_i 聚类中心结构
%       m_pattern  样品集
%       patternNum  样品个数
% 返回值  m_center_i  聚类中心结构
% 函数功能  计算聚类中心m_center_i的特征值(本类所有样品的均值)及该类的样品个数
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [m_center_i]=CalCenter(m_center_i,m_pattern,patternNum)
[m,n]=size(m_pattern(1).feature);
temp=zeros(m,n);   %临时存储中心的特征值
a=0;              % 记录该类元素的个数
for i=1:patternNum
    if(m_pattern(i).category==m_center_i.index) %累加中心所有样品
        a=a+1;
        temp=temp+m_pattern(i).feature;
    end
end
m_center_i.patternNum=a;
if(a~=0)
    m_center_i.feature=temp/a;
else
    m_center_i.feature=temp;
end

⌨️ 快捷键说明

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