以.dat格式顺序保存结果

时间:2014-10-12 11:24:13

标签: matlab

我尝试通过顺序增加名称以.dat格式保存结果。但最终格式/文件名错误。

1st loop result    
 cm_clusters_2=[ 0.0293650000000000 0.0562520000000000]

2nd loop result
 cm_clusters_2=[ 0.0293650000000000 0.0562520000000000; 0.0293650000000000 0.0562520000000000]

3rt loop result
 cm_clusters_2=[ 0.0293650000000000 0.0562520000000000; 0.0293650000000000 0.0562520000000000;      
                0.0293650000000000 0.0562520000000000]
 .
 .
 .
10th loop result
 cm_clusters_2= [0.0293650000000000 0.0562520000000000; 0.0293650000000000 0.0562520000000000;      
                0.0293650000000000 0.0562520000000000; 0.0293650000000000 0.0562520000000000;  
                0.0293650000000000 0.0562520000000000; 0.0293650000000000 0.0562520000000000;
                0.0293650000000000 0.0562520000000000; 0.0293650000000000 0.0562520000000000;  
                0.0293650000000000 0.0562520000000000; 0.0293650000000000 0.0562520000000000]

序列编号格式:

 if(kk<10)
     file_number = ['0000' int2str(kk)];
 elseif(kk>=10 && kk<100)
    file_number = ['000' int2str(kk)];
 elseif(kk>=100 && kk<1000)
    file_number = ['00' int2str(kk)];
 elseif(kk>=1000 && kk<10000)
    file_number = ['0' int2str(kk)];
 end

我已经通过更改保存文件名来尝试这三种格式,但是在第一种格式的文件中保存名为“particles_file_name”和其他或不能正常工作

 if kk~=1

    particles_file_name = ['cm_clusters_2_' file_number.dat];

    save particles_file_name  cm_clusters_2 -ASCII ;

 end  

第二种格式

 if kk~=1

    particles_file_name = ['cm_clusters_2_' file_number];

    save particles_file_name.dat  cm_clusters_2 -ASCII ;

 end  

第3种格式

 if kk~=1

    save ( ['cm_clusters_2_' file_number.dat] cm_clusters_2 -ASCII ;

 end  

任何可以以.dat格式保存我的数据文件的命令行以及顺序方式增加保存文件名。

根据我过去的问题,我不会更新欲望序列文件名,这就是为什么我用我的数据写这个问题所有我的resuts都以相同的名字保存(“particles_file_name”)  这不适合我的结果。  Sequence save of .dat files in matlab

1 个答案:

答案 0 :(得分:1)

使用formatting strings

尝试sprintf
particles_file_name = sprintf('cm_clusters_2_%05d.dat', kk );
save( particles_file_name, '-ASCII', 'cm_clusters_2' );

格式字符串'%05d'将为您提供一个int,如果kk少于5位,则用零填充至少5位数。

您可能还想考虑将int2str替换为允许您格式化字符串的num2str

file_number = num2str( kk, '%05d' );

Againg,使用相同的格式字符串。