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

📄 stepkm2.m

📁 一个关于数据聚类和模式识别的程序,在生物化学,化学中因该都可以用到.希望对大家有用,谢谢支持
💻 M
字号:
function [center_index, obj_fcn, U] = stepkm(center_index, distmat)
%STEPKM One step in k-means clustering.
%	[CENTER, ERR] = STEPKM(CENTER, DATA)
%	performs one iteration of k-means clustering, where
%
%	DATA: matrix of data to be clustered. (Each row is a data point.)
%	CENTER: center of clusters. (Each row is a center.)
%	ERR: objective function for parititon U.

center_n = length(center_index);
data_n = size(distmat, 1);

% ====== Find the U (partition matrix)
[a,b] = min(distmat(center_index, :));
index = b+center_n*(0:data_n-1);
U = zeros(center_n, data_n);
U(index) = ones(size(index));

% ====== Find the new centers
for i = 1:center_n,
	data_index = find(U(i,:)==1);
	[junk, min_index] = min(sum(distmat(data_index, data_index)));
	center_index(i) = data_index(min_index); 
end

% ====== Find the new objective function
obj_fcn = sum(sum((distmat(center_index, :).^2).*U));	% objective function

⌨️ 快捷键说明

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