# Inverse Cumulative distribution function

55 views (last 30 days)
Bashar AlHalaq on 30 Mar 2021
Commented: Jeff Miller on 6 Apr 2021
Hi,
if i have the following CDF :
F(X)=1/1+b(1+b-(1+b+qx/b))(1+x/b)^-q
How can I find x=inverse(F(x))
with my best reguards

Jeff Miller on 31 Mar 2021
Suppose you have a function called thisCDF which computes the CDF for your distribution. Then define
function x = inverseF(p)
inverseFerr = @(x) thisCDF(x) - p;
x = fzero(inverseFerr,0.5); % replace 0.5 with a starting guess for x
end
Now
x = inverseF(0.5) % compute the median, etc
Jeff Miller on 6 Apr 2021
I don't know what you are trying to compute so I can't say for sure whether your code is correct, but a few things make me suspect it is not correct:
• The CDF should reach 1 and not stabilize at 0.7. Maybe your CDF function is not correct (e.g., why does it start with 1/1+... which is the same as 1+....?). What distribution are you actually trying to work with?
• Your inverseF function does not call fzero so it is not getting x values with the cdf of u. Instead, it is computing the CDF of u.

Riley on 30 Mar 2021
You can use function ksdensity.