在 Matlab 中写入文本文件

发布于 2025-01-01 03:32:07 字数 1270 浏览 4 评论 0原文

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

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

,但它正在像这样写入文本文件,

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

我已经包含了我的代码部分,其中的代码部分是从 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);

I want to write out some data to a text file in Matlab but I am having problems. I want the file to look like this

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

but it is getting written to the textfile like this

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

I have included my code pat of which was borrowed from another post on 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);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

聊慰 2025-01-08 03:32:07

将相关部分更改为:

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 - 请参阅我的答案此处

Change the relevant section to:

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);

Also, consider using safe file-io - see my answer here

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文