필터 지우기
필터 지우기

Fitting a curve to a histogram

조회 수: 73 (최근 30일)
ka chun yick
ka chun yick 2020년 2월 13일
댓글: chi qiu 2020년 9월 30일
Hi,
This is my current script. I would like to fit a curve to a histogram as shown in the picture below: What lines should i add to the existing script?
yA = randn(1000,1)*7+15;
yB = randn(1000,1)*3+7;
yC = randn(1000,1)*4+30;
% specify number of bins and edges of those bins; this example evenly spaces bins
NumBins = 25;
BinEdges = linspace(0,50,25);
% use histcounts and specify your bins
cntA = histcounts(yA,'BinEdges',BinEdges);
cntB = histcounts(yB,'BinEdges',BinEdges);
cntC = histcounts(yC,'BinEdges',BinEdges);
% plot
figure(1); cla; hold on;
% convert bin edges into bin centers
b = BinEdges(1:end-1)+diff(BinEdges)/2
% use bar
bar(b,[cntA',cntB',cntC'],'stacked')
  댓글 수: 1
chi qiu
chi qiu 2020년 9월 30일
Hey, did you find a way??

댓글을 달려면 로그인하십시오.

답변 (2개)

KALYAN ACHARJYA
KALYAN ACHARJYA 2020년 2월 13일

ka chun yick
ka chun yick 2020년 2월 14일
편집: ka chun yick 2020년 2월 14일
Hi,
I added these two lines, but the plot seems not correct..... I tried
% specify number of bins and edges of those bins; this example evenly spaces bins
NumBins = 100;
BinEdges = linspace(0,35,70);
% use histcounts and specify your bins
cntA = histcounts(yA,'BinEdges',BinEdges);
cntB = histcounts(yB,'BinEdges',BinEdges);
cntC = histcounts(yC,'BinEdges',BinEdges);
% plot
figure(1); cla; hold on;
data=[yA;yB;yC]
histfit(data)
% convert bin edges into bin centers
b = BinEdges(1:end-1)+diff(BinEdges)/2
% use bar
bar(b,[cntA',cntB',cntC'],'stacked')
% Labels
xlabel('Length of single walled carbon nanotubes (mm)')
ylabel('Count of CNT(log scale)')
set(gca,'YScale','log')
legend({'30(mins)', '120(mins)', '240(mins)'})
title('Count of CNT against length of SWCNTs in -0.67 degree(log scale)')

카테고리

Help CenterFile Exchange에서 Surface and Mesh Plots에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by