for文の中で計算結果を変数に格納、ヒストグラムを描く
22 ビュー (過去 30 日間)
古いコメントを表示
for文の中で、計算した結果を変数に格納してそれぞれをまとめたヒストグラムを描きたいです。
for文の中で、ファイル1とファイル2を比較して計算し、その結果をsとしています。また次にファイル2とファイル3を比較して計算するのですが、その際に、前の結果に今回の計算結果が足されてしまいます。例えば3回for文を回す際には3個のsを出してそのsをヒストグラムに描きたいです。日本語がたらずうまく説明できませんが教えていただきたいです。
0 件のコメント
回答 (1 件)
Akira Agata
2023 年 10 月 20 日
変数 s を配列として、for 文を回すごとに結果を保存してゆくのが良いかと思います。
たとえば 2 つのファイルの比較を100回実施する場合、以下のようなコードになるかと思います。
% 要素数100の配列を作成
s = zeros(100, 1);
% 2 つのファイルの比較を100回実施して結果を配列に保存
for kk = 1:100
s(kk) = (2つのファイルの比較処理)
end
% 結果をヒストグラム表示
figure
histogram(s)
2 件のコメント
Akira Agata
2023 年 10 月 25 日
コメントありがとうございます。
ご要望の表示形式について確認させてください。「計算結果がx=1,1,1,1,1,2,2,2,2,2だったとして、本当はx軸を1、2、3などとして、y軸を結果の値(一個目なら1、10個目なら2)というふうに表示したい」とありますが、ヒストグラム(histogram)ではなく散布図(scatter)のイメージでしょうか?
たとえば計算結果が s = [1,1,1,1,1,2,2,2,2,2] (混乱を避けるため変数名を s としました)だったとして、「x軸が配列の要素番号、y軸が結果の値」を表す散布図を作ると以下のようになります。
s = [1,1,1,1,1,2,2,2,2,2];
x = 1:10;
figure
scatter(x, s, "filled") % 分かりやすいようにマーカーを塗りつぶして表示
参考
カテゴリ
Help Center および File Exchange で Histograms についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!