我有一个矩阵,比如A =
11084 2009 572 277 1095 685 636 365 545 697 518 490 747 1648; 11084 2010 1000 533 340 212 635 254 399 759 110 248 490 214; 11084 2011 587 410 481 146 99 499 547 118 706 20 174 526; 12813 2009 216 486 1443 207 730 369 518 625 816 767 382 1352; 12813 2010 673 544 517 204 704 504 219 1033 633 168 473 272; 12813 2011 348 238 458 107 90 394 1014 196 1109 34 365 250;
第1列表示站ID,我想将输出保存在站ID名称的单独目录中;例如,在这种情况下,将创建一个名为11084.txt的文本文件,其中包含foll。数据:
2009 572;2009 277;2009 1095;2009 685;2009 636;2009 365;2009 545;2009 697;2009 518;2009 490;2009 747;2009 1648;2010 1000;2010 533;2010 340;2010 212;2010 635;2010 254;2010 399;2010 759;2010 110;2010 248;2010 490;2010 214;2011 587;2011 410;2011 481;2011 146;2011 99;2011 499;2011 547;2011 118;2011 706;2011 20;2011 174;2011 526;
类似地,接下来将包含
的12813.txt2009 216;2009 486;2009 1443;2009 207;2009 730;2009 369;2009 18;2009 625;2009 816;2009 767;2009 382;2009 1352;2010 673;2010 44;2010 517;2010 204;2010 704;2010 504;2010 219;2010 1033;2010 633;2010 168;2010 473;2010 272;2011 348;2011 238;2011 458;2011 107;2011 90;2011 394;2011 1014;2011 196;2011 1109;2011 34;2011 365; 2011 250;
请告诉我怎么做。谢谢,
答案 0 :(得分:1)
直接的解决方案就是:
d = unique(A(:,1));
for i = 1:length(d)
fid = fopen([num2str(d(i)) '.txt'],'w');
aux = find(A(:,1)==d(i))';
for j = aux
for k = 3:size(A,2)
fprintf(fid,'%d %d;', A(j,2), A(j,k));
end
end
fclose(fid);
end