Beta PDF
y = distfun_betapdf ( x , a , b )
a matrix of doubles, the outcome. Should be in the [0,1] interval.
a matrix of doubles, the first shape parameter, a>=0.
a matrix of doubles, the second shape parameter, b>=0.
a matrix of doubles, the density
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].
// 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]; | ![]() | ![]() |