0

我在 MATLAB 中使用 k-means。这是我的代码:

k=input('Enter a number: ');
  [g c] = kmeans(cobat,k,'dist','SqEuclidean');
  y = [cobat g]

  [s,h]=silhouette(cobat,g,'SqEuclidean') %Show the silhouette graphic

  %Show the plot3D graphic
  Colors=hsv(k);
  PlotClusters(cobat,g,c,Colors)

当我运行它时,它可以工作,但为什么[s,h]=silhouette(cobat,g,'SqEuclidean')不能显示?

当我删除这一行时:

  Colors=hsv(k);
  PlotClusters(cobat,g,c,Colors)

...可以显示轮廓图。

我应该怎么做才能显示所有图表?

你的帮助对我很重要,谢谢。

4

1 回答 1

2

我不知道你做了什么PlotClusters,但它可能很好地写入由 生成的同一个数字silhouette,可能会覆盖旧情节。

尝试figure在调用 之前使用命令调出一个新图形PlotClusters,如下所示:

figure
Colors = hsv(k)
PlotClusters(cobat,g,c,Colors)
于 2013-05-09T17:04:06.003 回答