-1

私はこのような配列を持っています:

vars = {'X1','X2'};

この配列のすべての要素には、次のような特別な範囲があります。

X1 = [0.5,11.0];
X2 = [0.15,8.55];

ループ内で各要素の値 (つまり、X1 値は [0.5,11.0]) に到達したいのですが、助けてもらえますか?

ベスト、エルナス

4

3 に答える 3

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
于 2013-04-16T20:35:51.050 に答える
0

さて、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 配列に格納したり、構造体のフィールドとして格納したりできます。

于 2013-04-16T19:34:02.927 に答える