<< distfun_betainv Beta distfun_betarnd >>

Distfun >> Distfun > Beta > distfun_betapdf

distfun_betapdf

Beta PDF

Calling Sequence

y = distfun_betapdf ( x , a , b )

Parameters

x :

a matrix of doubles, the outcome. Should be in the [0,1] interval.

a :

a matrix of doubles, the first shape parameter, a>=0.

b :

a matrix of doubles, the second shape parameter, b>=0.

y :

a matrix of doubles, the density

Description

Computes the Beta probability distribution function.

Any scalar input argument is expanded to a matrix of doubles of the same size as the other input arguments.

Let us denote by B the Beta function. The function definition is:

if x is in [0,1].

Examples

// Check with a and b to be expanded
computed = distfun_betapdf ( 0.1:0.2:0.9 , 2 , 3 )
expected = [0.9720,1.7640,1.5000,0.7560,0.1080]
// Check with expanded arguments
x = 0.1:0.2:0.9;
a = [2 3 4 5 6];
b = [5 4 3 2 1];
computed = distfun_betapdf ( x , a, b )
expected = [1.9683,1.8522,1.8750,2.1609,3.54294]
// Check at the bounds
computed = distfun_betapdf ( [-1 0 1 2], 1 , 2 )
expected = [0 0 0 0]

// Plot the function
a = [0.5 5 1 2 2];
b = [0.5 1 3 2 5];
cols = [1 2 3 4 5];
nf = size(cols,"*");
lgd = [];
scf();
for k = 1 : nf
x = linspace(0.01,0.99,1000);
y = distfun_betapdf ( x , a(k) , b(k) );
plot(x,y)
str = msprintf("a=%s, b=%s",..
string(a(k)),string(b(k)));
lgd($+1) = str;
end
h = gcf();
for k = 1 : nf
hk = h.children.children.children(nf - k + 1);
hk.foreground = cols(k);
end
xtitle("Beta PDF","x","y");
legend(lgd);
h.children.data_bounds=[0,0;1,3];

Authors


Report an issue
<< distfun_betainv Beta distfun_betarnd >>