Calculating PDF from CDF

15 vues (au cours des 30 derniers jours)
Peter
Peter le 10 Juil 2014
Modifié(e) : José-Luis le 11 Juil 2014
I calculated CDF manually, because I want to be able to see the progression. So I calculated multiple CDF's over a range, and have all the CDF's in a vector. I want to calculate PDF from CDF by subtracting the previous CDF from the current CDF, and again have all the calculated PDF's in vector form. How would I go about writing this? Thank you.
mu = 1.5;
sigma = .11*mu
delta = [0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 0.11 0.12 0.13 0.14 0.15 0.16 0.17 0.18 0.19 0.2 0.21 0.22 0.23 0.24 0.25 0.26 0.27 0.28 0.29 0.3 0.31 0.32 0.33 0.34 0.35 0.36 0.37 0.38 0.39 0.4 0.41 0.42 0.43 0.44 0.45 0.46 0.47 0.48 0.49 0.5 0.51 0.52 0.53 0.54 0.55 0.56 0.57 0.58 0.59 0.6 0.61 0.62 0.63 0.64 0.65 0.66 0.67 0.68 0.69 0.7 0.71 0.72 0.73 0.74 0.75 0.76 0.77 0.78 0.79 0.8 0.81 0.82 0.83 0.84 0.85 0.86 0.87 0.88 0.89 0.9 0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99 1 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.2 1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28 1.29 1.3 1.31 1.32 1.33 1.34 1.35 1.36 1.37 1.38 1.39 1.4 1.41 1.42 1.43 1.44 1.45 1.46 1.47 1.48 1.49 1.5 1.51 1.52 1.53 1.54 1.55 1.56 1.57 1.58 1.59 1.6 1.61 1.62 1.63 1.64 1.65 1.66 1.67 1.68 1.69 1.7 1.71 1.72 1.73 1.74 1.75 1.76 1.77 1.78 1.79 1.8 1.81 1.82 1.83 1.84 1.85 1.86 1.87 1.88 1.89 1.9 1.91 1.92 1.93 1.94 1.95 1.96 1.97 1.98 1.99 2 ]
cdf = .5*[1+erf((delta-mu)/(sqrt(2*sigma^2)))]
//pdf...?

Réponse acceptée

José-Luis
José-Luis le 10 Juil 2014
Modifié(e) : José-Luis le 11 Juil 2014
It doesn't matter that you have discrete values, you still need to take the derivative.
mu = 1.5;
sigma = .11*mu
delta = [0.01:0.01:2];
CDF = .5*[1+erf((delta-mu)/(sqrt(2*sigma^2)))]
PDF = diff(CDF) ./ diff(delta);
new_delta = delta(1:end-1) + diff(delta)./2;
plotyy(delta,CDF,new_delta,PDF);
  2 commentaires
Peter
Peter le 11 Juil 2014
Why did you calculate a new delta?
José-Luis
José-Luis le 11 Juil 2014
Because if x and y have n values, you can only estimate the derivative at n-1 points. I took the midpoint of the x values.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Numerical Integration and Differential Equations dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by