質問: MATLAB初心者です。先輩方のご教授願います。 エクセルから取り込んだデータ1行20列or20行1列のデータを数値ごとに数えていきたいと思っています。
回答: それはとても面倒なプログラムです。 eval関数を使えば文字列をスクリプトとして実行できますので、forループで都度テキストを生成してevalで実行を繰り返せばお望みのプログラムが完成します。 しかし、その変数にアクセスするためには、その変数がいくつ生成されたのかを管理しておく必要があり、何番目にアクセスするかをコントロールする必要が出てきます。 正直、面倒なプログラムになるのでオススメはできません。 せめてひとつの変数の行列に格納するべきでしょう。 そもそも判定する値が一定量で変化しているのでヒストグラム(hist関数)で代用できませんでしょうか? 例えば... a = [1:0.1:5 6:10 11:2:20 21:5:30]; というデータがあった時に、hist(a, 5:10:35); と実行すれば、ビンの中心を [5 15 25 35] とした範囲でヒストグラム図を描くことができます。 これは結果として、0~10, 10~20, 20~30 ... の範囲の数を数えたことになります。 結果を取り出したい場合は、nelements = hist(a, 5:10:35); で取り出すことができます。