【问题标题】:Writing to a textfile in Matlab在 Matlab 中写入文本文件
【发布时间】:2012-02-24 13:59:48
【问题描述】:

我想在 Matlab 中将一些数据写入文本文件,但我遇到了问题。我希望文件看起来像这样

'AnatomicImage:13'
'AnatomicImageNumber:13'
'ColorMapMaximum:20'
'ColorMapMinimum:0'
'SpectroscopySliceNumber:3'    

但它会像这样写入文本文件

AnatomicImage:13,AnatomicImageNumber:13,ColorMapMaximum:20,ColorMapMinimum:0,SpectroscopySliceNumber:3

我已经包含了我的代码 pat,其中的代码是从 Stackoverflow 上的另一篇文章中借来的。

AnatomicImage = 'AnatomicImage: ';
AnatomicImage = strcat(AnatomicImage, num2str(imNum));
AnatomicImageNumber = 'AnatomicImageNumber: '
AnatomicImageNumber = strcat(AnatomicImageNumber, num2str(imNum));
ColorMapMaximum = 'ColorMapMaximum: ';
ColorMapMaximum = strcat(ColorMapMaximum, num2str(max));
ColorMapMinimum = 'ColorMapMinimum: ';
ColorMapMinimum = strcat(ColorMapMinimum, num2str(min));
SpectroscopySliceNumber = 'SpectroscopySliceNumber: ';
SpectroscopySliceNumber = strcat(SpectroscopySliceNumber, num2str(sliceNum));

fid=fopen('data.txt','wt');

data = {AnatomicImage;AnatomicImageNumber;ColorMapMaximum; ColorMapMinimum; SpectroscopySliceNumber}

txtFun = @(str)sprintf('%s,',str)
xchar = cellfun(txtFun, data, 'UniformOutput', false)
xchar = strcat(xchar{:})
xchar = strcat(xchar(1:end-1),'\n')

fprintf(fid,xchar)

fclose(fid);

【问题讨论】:

    标签: file matlab text file-io


    【解决方案1】:

    将相关部分更改为:

    txtFun = @(str)sprintf('%s,\n',str)
    xchar = cellfun(txtFun, data, 'UniformOutput', false)
    
    
    fid=fopen('data.txt','wt');
    for i=1:numel(xchar)
        fprintf(fid,'%s',xchar{i})
    end
    fclose(fid);
    

    另外,考虑使用安全文件-io - 请参阅我的回答 here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-04
      • 2015-02-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多