我将数组的内容保存到不同的文件中,如下所示:
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.
我哪里错了?
答案 0 :(得分: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')