在Matlab中保存数据集数组中的输出文件for循环

时间:2016-08-29 16:27:37

标签: arrays matlab

A有许多带有数据的txt文件,名称如trhg2110_02,trhg2110_03。我正在运行一个包含" for"循环来管理这些文件,我希望每次输出都保存在具有相同或相似名称的txt文件中。每个循环的输出是"ut_ROTI"(见下文),这是一个包含两列和多行的数据集数组数据的。你能告诉我怎么做吗?谢谢 - 杜阿尔特。

myFolder = uigetdir('C:\','Selecione Diretório');
filePattern = fullfile(myFolder, '*.txt');
txtfiles   = dir(filePattern);
for k = 1:length(txtfiles)
  baseFileName = txtfiles(k).name;
  fullFileName = fullfile(myFolder, baseFileName);
  fprintf('Now reading %s\n', fullFileName);
  textFilename = sprintf('fullFileName', k);
  fid          = fopen(baseFileName, 'rt');

数据处理......

ut_ROTI=dataset({ cellstr(datestr(datenum([hora_minuto,zeros(size(hora_minuto,1),1)]),15)),'UT'}, {ROTI 'ROTI'});

我已经尝试过使用许多命令,但它没有工作:

outfile=['thrg2110_PRN01' int2str(k) '.txt'];
save(outfile,'ut_ROTI','-ascii');

错误消息为:警告:尝试将不支持的数据类型写入ASCII文件。变量' ut_ROTI'没有写入档案。

谢谢!

1 个答案:

答案 0 :(得分:0)

看看这个http://www.mathworks.com/help/stats/dataset-arrays.html

由于数据集数组是唯一的数据类型,因此无法通过“保存”直接将其转换为ascii。功能。

在使用' save'之前,您需要进行转换。功能。你可以转换' ut_ROTI'使用' dataset2struct"然后使用' -struct'具有保存功能的选项。或者在使用' save'。

之前将其转换为数字矩阵或单元格矩阵