为了账号安全,请及时绑定邮箱和手机立即绑定

matlab 利用其层次聚类,想把聚类后的每个类的行号输出到txt文件中

matlab 利用其层次聚类,想把聚类后的每个类的行号输出到txt文件中

PHP
慕的地10843 2018-08-01 06:10:49
输入文件是一个1000X500的0/1矩阵,利用层次聚类后,聚成5类,想要把每个类的行号依次存入一个txt文件中或者不同的5个txt文件。下面是尝试存入一个txt文件中,但是我实现的方法不知道哪里错了,没有成功。希望前辈帮帮忙,Thanks♪(・ω・)ノ[code]clear allclose allclcG = 1;%文件个数N = 5;%聚类数for k = 1:Gfilename1 = strcat(['p' num2str(k) '.txt']);in = importdata(filename1);D = pdist2(in,in);%求行与行之间欧式距离C = linkage(D,'average');%开始聚类HC = cluster(C, N); %划分聚类为N类out = strcat(['nhc' num2str(k) '.txt']);fid = fopen(out,'a'); for i = 1:N %把聚类后的每一类的行坐标存入txt中HCi = find(HC == i);HCI = HCi';fprintf(fid,'d% ',HCI);fprintf(fid,'\n');endfclose(fid);end[/code] 结果输出了5个d,txt文件像下面一样:ddddd
查看完整描述

1 回答

?
偶然的你

TA贡献1841条经验 获得超3个赞

我找了半天哪里不对劲,最后发现

fprintf(fid,'d% ',HCI);

这个里面是 %d 啊,少年。你写成了 d%(手动加粗)


查看完整回答
反对 回复 2018-08-23
  • 1 回答
  • 0 关注
  • 750 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信