私はこのような配列を持っています:
vars = {'X1','X2'};
この配列のすべての要素には、次のような特別な範囲があります。
X1 = [0.5,11.0];
X2 = [0.15,8.55];
ループ内で各要素の値 (つまり、X1 値は [0.5,11.0]) に到達したいのですが、助けてもらえますか?
ベスト、エルナス
私はこのような配列を持っています:
vars = {'X1','X2'};
この配列のすべての要素には、次のような特別な範囲があります。
X1 = [0.5,11.0];
X2 = [0.15,8.55];
ループ内で各要素の値 (つまり、X1 値は [0.5,11.0]) に到達したいのですが、助けてもらえますか?
ベスト、エルナス
あなたも試すことができます:
vars = {'X1','X2'};
X1 = [0.5,11.0];
X2 = [0.15,8.55];
vals = containers.Map(vars,{X1,X2});
vals('X1')
vals('X2')
ここでアムロの答えから得たもの。これは出力です:
ans =
0.5000 11.0000
ans =
0.1500 8.5500
さて、1 つのオプションはeval
、値を取得するために使用することです。
X1 = [1,2];
X2 = [3,4];
vars = {'X1','X2'};
for ii = 1:length(values)
vals{ii} = eval(vars{ii});
end
vals
つまり、変数に値を格納しますvals = {[1,2], [3,4]}
。
ただし、使用eval
は一般的に非常に悪い考えです。やりたいことによっては、おそらくもっと良い方法があります。たとえば、関心のある変数を cell 配列に格納したり、構造体のフィールドとして格納したりできます。