0

私は30以上の変数のリストを循環させ、各変数の各列の最大値と最小値を計算しようとしています。これを新しい配列に保存してから、Excel にエクスポートします。

私の考えは、who 関数を使用して、存在するすべての変数の名前を持つ配列を作成することでした。次に、作成された配列のサイズを計算した後、for ループを使用してそれぞれを循環します。これは正常に機能しますが、文字列を使用して配列を参照しようとすると機能しません。

誰かが簡単な解決策を思い付くことができることを願って、私が書いたコードを追加します:)。

variable_list = who
cell2 = input('What cell size do you want to look at? ');
STARTcell = input('What was the start cell size? ');
[num_variables, temp] = size(variable_list);
for va = 1:num_variables
     variable = variable_list{va}    
     [max_value, max_index] = max(variable{cell2/STARTcell})
     [min_value, min_index] = min(variable{cell2/STARTcell})
     format_values{va} = vertcat(max_values, max_index, min_value, min_index);
end

私が見ている変数は配列であるため、cell2/STARTcell を使用してそれらを参照しています。

4

1 に答える 1

0

eval()文字列に対応する変数の値を取得できるようにするには、関数を使用する必要があります。例えば:

a = 1;
b = 2;
variable_list = who;
c = eval(variable_list{2});

cコードでは、次の行を次のように変更する必要があります。

variable = variable_list{va}

に:

variable = eval(variable_list{va});

その結果variable、文字列で示される変数の値が得られますvariable_list{va}variableがタイプの場合はcell問題ありません。そうでない場合は、次の 2 行のコードも修正する必要があるかもしれませんcell

于 2013-05-20T02:27:20.500 に答える