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コマンドの引数は文字列でなければなりません。具体的には、2 番目の引数は、変数名を含む文字列である必要があります。

あなたの場合の問題はsavevar、変数の名前ではなく、変数の実際の値であることです。

保存しようとしている変数のタイプがわかりません。マトリックスの場合は、次のように全体を 1 つのファイルに保存することをお勧めします。

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 に答える