在Matlab中将多个数组保存为文本文件

在Matlab中将多个数组保存为文本文件,matlab,save,Matlab,Save,我需要将多个数组保存到一个文件名与变量名相同的文本文件中。我已经用下面的几行创建了所有变量的向量 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 我现在正在努力找到一种方法来保存所有这些变量到文件中。任何帮助都将不胜感激 谢谢我不确定我是否理解正确。是否

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

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
我现在正在努力找到一种方法来保存所有这些变量到文件中。任何帮助都将不胜感激


谢谢

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

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。尽管如此,还是试着过去

编辑如果您尝试此操作,请告诉我:

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”开头的变量保存到单独的文本文件中。文本文件的名称必须与变量名相同。谢谢