私は現在、次のようなMATLAB関数を持っています。
function outfile=multi_read(modelfrom,modelto,type)
models=[modelfrom:1:modelto];
num_models=length(models);
model_path='../MODELS/GRADIENT/'
for id=1:num_models
fn=[model_path num2str(models(id)) '/']; %Location of file to be read
outfile=model_read(fn,type); %model_read is a separate function
end
end
この関数の考え方はmodel_read
、一連のファイルに対して別の関数を実行し、これらのファイルを(ディスクではなく)ワークスペースに出力することです。model_readからの出力は構造体であることに注意してください!次のように入力するのと同じように、関数が連続した名前を使用してファイルをワークスペースに保存するようにします。
file1=multi_read(1,1,x)
file2=multi_read(2,2,x)
file3=multi_read(3,3,x)
etc.
これにより、がワークスペースに表示されますがfile1
、代わりにコマンドを1回だけ呼び出すと、次のようになります。file2
file3
multi_read(1,3,x)
これにより、同じワークスペース出力が得られます。
基本的に私の質問は、関数を何度も呼び出さなくても、複数の名前の変数を出力する関数を取得するにはどうすればよいかということです。