i want to compute a cdf for t distribution
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
elham kreem
le 1 Mar 2018
Commenté : Star Strider
le 1 Mar 2018
i want to compute a cdf for t distribution from a to b , i wrote this code but it didn't run
for i=1:50
fa(i)=cdf('t', 'mu' =-2, 'sigma'= 4 , 'nu'= 6 , astar(i))
fb(i)=cdf('t', 'mu' =-2, 'sigma'= 4 , 'nu'= 6, bstar(i))
end
astar and bstar are points of the integral
sorry for a weak my language
0 commentaires
Réponse acceptée
Star Strider
le 1 Mar 2018
You are not calling cdf correctly. Also the functions are vectorised, so you do not need the loops.
Try this:
fa = cdf('T', nu, astar);
fb = cdf('T', nu, bstar);
It is probably best to use the tcdf (link) function instead, since cdf appears to be deprecated in a future release of MATLAB.
2 commentaires
Star Strider
le 1 Mar 2018
My pleasure.
In the t-distribution, ‘nu’ is calculated as described in Compute Student's t cdf (link). You use the mean (‘mu’), standard deviation (‘sigma’) and number of observations (‘n’) to calculate it. There is only one parameter.
If you use my code, you get the correct result:
astar = linspace(1E-5, 2, 5);
nu = 6;
fa = cdf('T', nu, astar)
I again urge you to use the tcdf function (that I linked to in my Answer), instead of cdf.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Startup and Shutdown 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!