How to fit histogram data with normfit using signed X-axis ?
2 次查看(过去 30 天)
显示 更早的评论
Hi,
I'm puzzled with normfit.
I have intensity of velocity data on a given X-direction, converted as a 1-D vector Vx. It has a size of S= 256 X 256 elements (65536) elements. They are signed values, of the order of 10^-2.
No problem with dfittool. I get sensible values for mean and standard deviation. But i need to automate the process, for batch processing. No GUI. Thus, thought i used normfit to fit a PDF. 1) Is this the right way to go ? Is normfit designed to fit a PDF with signed bins values ?
I thought i'd output the histogram data and built the PDF from there : So i did :
[nVx,Vxbins]=hist(Vx,nbins)
Then to obtain pdf i did :
pdf = nVx ./ (S*diff(Vxbins(1:2)))
A posteriori, i checked that actually sum(nVx) = S = 65336 (makes sense to me)
From there, not sure i should normalize to the max... does normfit require that ? My max value in the pdf is about 15.
From there, i do
[mu , sigma, blah...] = normfit(pdf)
Result is crap, i get something completely different from dfittool.
What am i missing ? Is normfit not designed for this situation ? If not, what is the right way to go ?
Thanks
0 个评论
采纳的回答
Sarah Wait Zaranek
2013-1-16
Probably the easiest way to handle this, if you like what the distribution fitting tool is doing, is to autogenerate code from the tool itself. You can do that via File -> Generate Code. That will allow you to do batch processing.
更多回答(2 个)
owr
2013-1-16
You should be calling normfit on the raw data vector itself, not your pdf approx:
[mu , sigma, blah...] = normfit(Vx)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!