1

こんにちは
、いくつかのヒストグラムを描画する MATLAB プログラムがあります。ヒストが再スケーリングされるたびに (軸)。すべてのヒストを同じスケールで表示したい。
これはプログラムです:

clc  
close all  
PopSize=10^3;  
SampleSize=1:100:PopSize;  
NumberOfSamples=10^2;  
Pop=randn(PopSize);  
figure(NumberOfSamples+1);  
hist(Pop);  
sample=[];
for j=1:100:PopSize  
for i=1:1:NumberOfSamples  
    Pop=SHUFFLE(Pop);  
    sample(i)=mean(Pop(1:j));  
end  
figure(i+j);  
hist(sample);  
end
4

3 に答える 3

1

すべてのhist呼び出しで同じカウント間隔(「ビン」または「バケット」)を使用する場合は、次を使用します。

hist(Y,x)

xビンの中心のベクトルはどこにありますか。histc中心の代わりにビンのエッジを指定する場合にも使用できます。

于 2010-12-15T08:36:51.803 に答える
1

次のコード変更を検討してください。

%# ...
h = [];
for j=1:100:PopSize
    %# ...
    h(end+1) = gca;                        %# get handle to histogram axis
end

mx = max( cellfun(@max,get(h,'YLim')) );   %# get the max count of all histograms
set(h, 'YLim',[0 mx])                      %# set the y-limit of all axes
于 2010-12-15T09:44:47.317 に答える
0

AXISコマンドを使用して、軸の範囲を取得および設定できます。たとえば、最初のプロットの後に を実行しaxvals = axis();、後続の各プロットの後にaxis(axvals);すべてのプロットを最初のプロットと同じ制限に設定することができます。

于 2010-12-14T22:56:25.860 に答える