loadコマンドを使用してすべての変数が.matファイルから読み込まれるmatlabワークスペースがあります。さて、私はこれらのオブジェクトのすべてを繰り返し、それらの操作を実行したいと思います。matlabワークスペース内のすべてのオブジェクトを反復する方法
明示的に名前を付けずにオブジェクトにアクセスすることはありますか?ワークスペース(1)の例?あなたはwho
を使用して文字列としてすべての変数のリストを取得することができます
loadコマンドを使用してすべての変数が.matファイルから読み込まれるmatlabワークスペースがあります。さて、私はこれらのオブジェクトのすべてを繰り返し、それらの操作を実行したいと思います。matlabワークスペース内のすべてのオブジェクトを反復する方法
明示的に名前を付けずにオブジェクトにアクセスすることはありますか?ワークスペース(1)の例?あなたはwho
を使用して文字列としてすべての変数のリストを取得することができます
:
myvars = who;
あなたは(who
は、変数名のみを与える)、変数の内容で何かをしたい場合は、その後、あなたが何かを行うことができますこのように:
for i=1:length(myvars)
myfunction(eval(myvars(i)))
end
私は、あなたが興味を持っているすべてを単一の.MATファイルからロードされている変数であればしかし、あなたは負荷の構造体割り当てフォームを使用したほうが良いかもしれ、@サイモンの答えに同意します
S = load('myfile.mat')
は今、代わりにワークスペースに 'X'、 'Y'、 'Z' を取得し、あなたはS.x
、S.y
とS.z
を持っています。
:
for f = fieldnames(S)'
disp(['Field named: ' f{1} ]);
disp('Has value ')
disp(S.(f{1}));
end