1
私はこのベストフィット分布でヒストグラムを重ねる方法を教えてください。
histogram(data,'Normalization','pdf')
を使用してデータのヒストグラムをプロットする方法を見つけ出すことができましたが、どのように私はそれの上に重ねベストフィット分布とデータのヒストグラムをプロットしますか?私はまた、単位で軸ラベルを含める必要があります。
私はこのベストフィット分布でヒストグラムを重ねる方法を教えてください。
histogram(data,'Normalization','pdf')
を使用してデータのヒストグラムをプロットする方法を見つけ出すことができましたが、どのように私はそれの上に重ねベストフィット分布とデータのヒストグラムをプロットしますか?私はまた、単位で軸ラベルを含める必要があります。
それはあなたが持っているもの分布にofcourseの依存。ここでは正規分布に適合します。 pdfではなく、あなたのデータのcdfに適合させるのが最善の方法です。適合パラメータは、当然ながら同じです。だから、後でPDFをプロットすることもできます。
data = randn(1,1E3);
fig=figure(1);clf;hold on
H = histogram(data,'Normalization','pdf'); %you have this as well
%pdf and cdf of normal distribution
npdf = @(x,p) 1/(sqrt(2*p(2)^2*pi)) * exp(-(x-p(1)).^2/(2*p(2)^2));
ncdf = @(x,p) 0.5*(1+erf((x-p(1))/(p(2)*sqrt(2))));
%generate and show cdf of the data
data = sort(data);
x = linspace(0,1,1E3);
figure();plot(data,x); %cdf
%fit cdf
ssqe = @(x,y,p) sum((y-ncdf(x,p)).^2); %sum of squared error
p = [1 1]; %starting values
p = fminsearch(@(p) ssqe(data,x,p), p); %fit\
%plot pdf of the fit
figure(fig)
plot(data,npdf(data,p),'--r')
[histfit](https://uk.mathworks.com/help/stats/histfit.html)を試しましたか? – Pol
ツールボックスがあれば動作します。 – Gelliant