我在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)
...可以显示轮廓图。
我该怎么办才能显示所有图表?
你的帮助对我来说很重要,谢谢你。
答案 0 :(得分:2)
我不知道你的PlotClusters
是做什么的,但它可能很好地写入由silhouette
生成的同一个数字,可能会覆盖旧的情节。
在调用figure
之前尝试使用PlotClusters
命令调出一个新数字,如下所示:
figure
Colors = hsv(k)
PlotClusters(cobat,g,c,Colors)