2

我将数组的内容保存到不同的文件中,如下所示:

for i=1:10
name = [myfilename num2str(i)] 
savevar = myvariable(i)
filename = mat2str([name '.dat'])
save(filename, savevar, '-ascii','-double','-append')
end

我一直在摆弄这个并不断收到以下错误:

??? Error using ==> save
Argument must contain a string.

我哪里错了?

4

1 回答 1

6

命令的参数save必须是字符串。具体来说,第二个参数必须是包含变量名称的字符串。

您的问题是savevar变量的实际值,而不是它的名称。

我并没有真正了解您要保存的变量类型。如果它是一个矩阵,最好将它作为一个整体保存到一个文件中,如下所示:

save(filename, 'myvariable', '-ascii', '-double', '-append')

如果您有许多变量,并且您希望每个变量在不同的文件中(这更接近您的示例),我建议您创建一个变量名称的单元格数组:

varname = {'A', 'B', 'C', ...}  % # Assuming A, B, C, etc. are actual variables

然后在save循环内的命令中使用它:

save(filename, varname{i}, '-ascii', '-double', '-append')
于 2012-12-13T11:35:06.600 回答