Calculating PDF from CDF

44 Ansichten (letzte 30 Tage)
Peter
Peter am 10 Jul. 2014
Bearbeitet: José-Luis am 11 Jul. 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...?

Akzeptierte Antwort

José-Luis
José-Luis am 10 Jul. 2014
Bearbeitet: José-Luis am 11 Jul. 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 Kommentare
Peter
Peter am 11 Jul. 2014
Why did you calculate a new delta?
José-Luis
José-Luis am 11 Jul. 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by