matlab中dendrogram的具体用法
时间: 2023-10-05 11:09:06 浏览: 476
Matlab-使用Matlab实现的聚类算法-Clustering.zip
dendrogram是MATLAB中用于绘制树形图的函数,主要用于聚类分析和分类分析中的结果可视化。它可以将数据点按照聚类结果从上到下排列,并用线段将它们连接起来,形成一棵树状结构,方便用户对聚类结果进行直观的观察和分析。
下面是dendrogram函数的具体用法:
1. 语法
dendrogram(Z)
2. 参数说明
参数Z是一个n-1行3列的矩阵,其中Z(i,1)和Z(i,2)表示第i个节点的两个子节点,Z(i,3)表示它们之间的距离。n表示数据点的个数,也就是叶子节点的数量。
3. 返回值说明
dendrogram函数会将树形图绘制在当前图形窗口中,并返回一个长度为n的向量,其中第i个元素表示第i个叶子节点在绘制过程中的位置。
4. 示例代码
以下是一个简单的聚类分析的示例代码,它将20个随机生成的数据点按照距离进行聚类,并使用dendrogram函数绘制树形图:
```matlab
% 生成随机数据
X = rand(20,2);
% 调用linkage函数进行聚类
Z = linkage(X, 'ward');
% 绘制树形图并获取叶子节点位置
leafOrder = dendrogram(Z);
% 将叶子节点位置作为x坐标,数据点的第一个特征作为y坐标进行散点图绘制
scatter(leafOrder, X(:,1));
```
上述代码会生成一个包含树形图和散点图的图形窗口,其中树形图展示了聚类结果,散点图展示了数据点在x轴上的位置和第一个特征的值。
阅读全文