histogram2​で得た頻度分布図から​度数値に係数掛けをし​て二次元マップとして​流用したい

조회 수: 4(최근 30일)
和也
和也 2022년 7월 29일
답변: Shunichi Kusano 2022년 8월 1일
histogram2を利用すると2変量の度数分布図が得られます。
この度数1あたりの変化量、例えば 0.1sec/1度数を度数に掛けると度数分布図から経過時間を得られると思います。
どのようにすればよいでしょうか?
詳しい方よろしくお願いします。

답변(1개)

Shunichi Kusano
Shunichi Kusano 2022년 8월 1일
h = histogram2(...)で出てきたハンドルhの中に度数データがあるので、これを上書きして…とおもったら書込み専用でだめでした。
x = randn(10000,1); % ダミーデータX
y = randn(10000,1); % ダミーデータY
h = histogram2(x,y)
h =
Histogram2 with properties: Data: [10000×2 double] Values: [27×28 double] NumBins: [27 28] XBinEdges: [-4.5000 -4.2000 -3.9000 -3.6000 -3.3000 -3.0000 -2.7000 -2.4000 -2.1000 -1.8000 -1.5000 -1.2000 -0.9000 -0.6000 -0.3000 0 0.3000 0.6000 0.9000 1.2000 1.5000 1.8000 2.1000 2.4000 2.7000 3 3.3000 3.6000] YBinEdges: [-4.2000 -3.9000 -3.6000 -3.3000 -3.0000 -2.7000 -2.4000 -2.1000 -1.8000 -1.5000 -1.2000 -0.9000 -0.6000 -0.3000 0 0.3000 0.6000 0.9000 1.2000 1.5000 1.8000 2.1000 2.4000 2.7000 3 3.3000 3.6000 3.9000 4.2000] BinWidth: [0.3000 0.3000] Normalization: 'count' FaceColor: 'auto' EdgeColor: [0.1500 0.1500 0.1500] Show all properties
c = 0.01; % 変換のための係数
h.Values = h.Values * c; % h.Valuesに上書きができず、エラーとなる。
Unable to set the 'Values' property of class ''Histogram2'' because it is read-only.
ここはhistogram2にちょうどいい構文があるので、これを使って描画するデータそのもの(hから流用)を入れてあげます。
% 上のh.Values = h.Values * c; を下のコマンドに置き換える
h2 = histogram2('XBinEdges',h.XBinEdges,'YBinEdges',h.YBinEdges,'BinCounts',h.BinCounts*c) % *cで変換した度数を入力できます

태그

제품


릴리스

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!