1.聚类分析-层次分类法
本实验采用层次分类法对目标矩阵进行层次分类。
一. 流程图
二.代码部分
第 1 步, 将所给的矩阵转化为点的形式:
程序代码:
function M=get(A)
[get_h,get_l]=size(A);
for i=1:get_h
M{i,1}=[A(i,1),A(i,2),A(i,3)];
end
end
第 2 步:计算个点之间距离表达为矩阵形式:
程序代码:
function M=dist(A)
[n,l]=size(A);
M=zeros(n);
for i=1:n
for j=i:n
M(j,i)=norm(A{i}-A{j});
end
end
第 3 步:将各点间距离信息表达在一个 28*3 的矩阵中:
程序代码:
function M=dis(A)
[dis_h,dis_l]=size(A);
k=dis_h*(dis_h-1)/2;
M=zeros(k,3);
m=1;
for i=1:dis_h
for j=1:dis_l
if (A(i,j)~=0)
M(m,:)=[A(i,j),i,j];
m=m+1;
end
end
end
第 4 步:使用冒泡法将上一步求得的矩阵按距离由小到大从上到下排列;
程序代码:
function M=dist_min(A)
[dist_min_hang,dist_min_lie]=size(A);
Q=[0,0,0];
for i=1:dist_min_hang
for j=2:dist_min_hang
if A(j,1)<A(j-1,1)
Q=A(j-1,:);
评论0
最新资源