How can I get function expression for Cumulative distribution function
6 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Miley Lee
il 29 Lug 2019
Commentato: Star Strider
il 30 Lug 2019
I have a cumulative distribution function(cdf). I have attached the figure. How can I fit the curve and get the function

expression for it?
0 Commenti
Risposta accettata
Star Strider
il 29 Lug 2019
Likely the easiest way to estimate the parameters is with the Statistics and Machine Learning Toolbox fitdist function:
x = randn(1, 25)*2 + 5; % Create Data (Mean = 5, St Dev = 2)
b = fitdist(x(:), 'normal')
producing:
b =
NormalDistribution
Normal distribution
mu = 5.30768 [4.42359, 6.19177]
sigma = 2.1418 [1.67238, 2.97957]
Choose the appropriate distribution function for your data.
6 Commenti
Star Strider
il 29 Lug 2019
I provided you with a link to the erf function. It is the error function.
I provided you with the correct code for the plot. Use it!
Più risposte (1)
Miley Lee
il 30 Lug 2019
1 Commento
Star Strider
il 30 Lug 2019
Specifically:
x = randn(1, 25)*2 + 5; % Create Data
x = sort(x);
[mu,sigma] = normfit(x);
d=cdf('norm',x,mu,sigma);
figure
plot(x,d)
I did not initially provide the ‘x’ vector, since you have your own. I created it to test my code, and include it here for completeness. (The sort function sorts ascending by default, so there is no need to specify it.)
An alternative using the erf function is:
x = randn(1, 25)*2 + 5; % Create Data
x = sort(x);
[mu,sigma] = normfit(x);
p = @(x,mu,sigma) (1 + erf((x-mu)/(sigma*sqrt(2))))/2; % Equivalent to ‘normcdf’
figure
plot(x,p(x,mu,sigma))
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

