Matlab中linkage函数讲解
Matlab中linkage函数说明一、参考资料1.1 matlab中的linkage和cluster函数1.2 官方linkage手册二、通俗讲解2.1 代码data = [1 2;1 3;2 1;3 1;10 11;11 12;12 11];datalink = linkage(data,'average','euclidean');dendrogram(datalink,0);figure;
·
Matlab中linkage函数说明
一、参考资料
1.1 matlab中的linkage和cluster函数
1.2 官方linkage手册
二、通俗讲解
2.1 代码
data = [1 2;1 3;2 1;3 1;10 11;11 12;12 11];
datalink = linkage(data,'average','euclidean');
dendrogram(datalink,0);
figure;
scatter(data(:,1),data(:,2),100,'b','.'); %绘制无标记散点图
2.2 生成结果
data =
1 2
1 3
2 1
3 1
10 11
11 12
12 11
>> datalink
datalink =
3.0000 4.0000 1.0000
1.0000 2.0000 1.0000
6.0000 7.0000 1.4142
5.0000 10.0000 1.7071
8.0000 9.0000 2.1787
11.0000 12.0000 13.3835
三、linkage说明
3.1 使用方式
Z = linkage(X)
Z = linkage(X,method)
Z = linkage(X,method,metric)
Z = linkage(X,method,metric,‘savememory’,value)
Z = linkage(X,method,pdist_inputs)
Z = linkage(y)
Z = linkage(y,method)
3.2返回值Z分析
拿上述代码分析:
data为7x2矩阵,生成的datalink为6x3的矩阵;datalink的第1列和第2列表示为二叉树的叶节点,第3列表示第1列和第2列表示点的距离;由于data中只有7个数据,所以最下面一层的编号为1~7,第二层的编号为8,9,10。最上层的编号为11,12。正好和datalink的数据保持一致。
现在假设data为m行n列的矩阵(m * n),datalink为m-1行3列的矩阵。由二叉树的性质可知,m个点需要2(m-1)个根节点表示,即需要m-1行2列表示。
更多推荐
所有评论(0)