【问题标题】:Saving Multiple Arrays to Text File in Matlab在 Matlab 中将多个数组保存到文本文件
【发布时间】:2013-11-20 19:16:59
【问题描述】:

我需要将多个数组保存到一个文件名与变量名相同的文本文件中。我使用以下行创建了一个包含所有所需变量的向量。

all_var={};
vars=whos;
for(i=1:size(vars,1))
    if(~isempty(regexp(vars(i).name,'A[0-9]','match')))
        all_var{end+1}=vars(i).name;
end
end

我现在正在努力寻找一种将所有这些变量保存到文件的方法。任何帮助将不胜感激。

谢谢

【问题讨论】:

  • 您想将所有数组保存到一个文本文件中吗?

标签: matlab save


【解决方案1】:

我不确定我是否理解正确。您想将每个变量保存在不同的文件中吗?假设您想将所有变量保存在同一个文件中,例如将向量的第一个值作为文件名,您可以尝试以下操作:

filename = sprintf('vector_starting_with%d.mat', vars(1).name);
save(filename)

如果您想为向量中的每个元素分隔文件,您可以尝试:

all_var={};
vars=whos;
for(i=1:size(vars,1))
    if(~isempty(regexp(vars(i).name,'A[0-9]','match')))
        all_var{end+1}=vars(i).name;
        varsave=sprintf('vector_%d.mat', vars(i).name)
        save(varsave);
end
end

抱歉,它可能有一些错误,我现在没有 MATLAB。不过,请尝试查看this documentation

编辑如果您尝试这样做,请告诉我:

all_var={};
vars=whos;
for(i=1:size(vars,1))
    if(~isempty(regexp(vars(i).name,'A[0-9]','match')))
        all_var{end+1}=vars(i).name;
        filename = sprintf('%d.txt', vars(i).name);
        file = fopen(filename,'w');
        fprintf(file,vars(i).name);
        fclose(file);
end
end

【讨论】:

  • 感谢您的回复。但是,我认为我没有很清楚地说明我的问题。我要做的是将所有以“A”开头的变量保存到单独的文本文件中。文本文件的名称需要与变量名称相同。谢谢
猜你喜欢
  • 2014-02-18
  • 1970-01-01
  • 1970-01-01
  • 2014-11-25
  • 1970-01-01
  • 1970-01-01
  • 2014-01-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多