[EDIT: 20110826 15:26 CDT - merge duplicate - WDR]
Can someone please help me write an equation to fit a log normal distribution curve? I'm really bad at writing "anything" in matlab and ezyfit gives me several errors when I try. Please help if you can and thank you.
[Information from duplicate]
I'm using Matlab v.7.5.x and this version lacks many of the new and easier commands and functions for data fitting. I'm using ezyfit to make up for the lack of data fitting but ezyfit lacks the log-normal distribution fitting, if anyone can help me by posting up the equation of the log-normal fit it would be very helpful and greatly appreciated. Thank you.
No products are associated with this question.
Do you have access to the Statistics Toolbox? If so, please try the lognfit function. For more information (including a simple example):
>> doc lognfit
I don't have the statistics toolbox, this is for Matlab v. 7.5.x and most of the functions are lacking so I use ezyfit to make up for the lack of Matlab controls.
You can find closed-form equations for the PDF and CDF on Wikipedia, and then use one or the other to estimate a curve that "fits" your data as closely as you can. You could then define an error statistic (perhaps sum of the squared deviation) that measures how "close" your estimate fits the data, and then try to minimize the error statistic through trial-and-error.
Obviously, this approach is not ideal, but without the Statistics Toolbox or Curve Fitting Toolbox, I am not sure what else to suggest.
The link to Wikipedia is: Log-Normal Distribution
Please note that base MATLAB provides all of the mathematical functions you will need for both the PDF and the CDF. These include:
For a set of data x, the two maximum likelihood parameters for a log-normal distribution are mean(log(x))and std(log(x)). The resulting density function is: f(x) = 1/sqrt(2 pi) 1/(s x) exp(-(1/2s^2)(loge(x)-m)^2 ). See MatLab lognpdf and logncdf (but these may be in the stats toolbox).