Trying to script the General Beta 2 CDF in MATLAB

I'm having trouble scripting a function in MATLAB. The function is the General Beta of the Second Kind Cumulative Distribution Function:

$\displaystyle \frac{\left(\frac{(x/b)^a}{1+(x/b)^a}\right)^p}{pB(p,q)} \; _1\texttrm{F_2}\begin{bmatrix}p,1-q; & \frac{(x/b)^a}{1+(x/b)^a} \\ p+1 & \end{bmatrix}$

It involves the beta function and hypergeometric series as subroutines in the code. p,a,b,q are parameters. x is the independent variable (a 12x1 column vector in my case). The MATLAB script I've written:

term=(((x/b).^a)/(1+(x/b).^a));

F=hypergeom([p,1-q],p+1,term);

CDFGB2= (term.^p/(p*beta(p,q)))*F

The output I get is a 12x12 matrix when I should just get a 12x1 column vector.

If anyone has some insight I'd appreciate it.

Thanks

Re: Trying to script the General Beta 2 CDF in MATLAB

Quote:

Originally Posted by

**rainer** I'm having trouble scripting a function in MATLAB. The function is the General Beta of the Second Kind Cumulative Distribution Function:

$\displaystyle \frac{\left(\frac{(x/b)^a}{1+(x/b)^a}\right)^p}{pB(p,q)} \; _1\texttrm{F_2}\begin{bmatrix}p,1-q; & \frac{(x/b)^a}{1+(x/b)^a} \\ p+1 & \end{bmatrix}$

It involves the beta function and hypergeometric series as subroutines in the code. p,a,b,q are parameters. x is the independent variable (a 12x1 column vector in my case). The MATLAB script I've written:

term=(((x/b).^a)/(1+(x/b).^a));

F=hypergeom([p,1-q],p+1,term);

CDFGB2= (term.^p/(p*beta(p,q)))*F

The output I get is a 12x12 matrix when I should just get a 12x1 column vector.

If anyone has some insight I'd appreciate it.

Thanks

Code:

`term=(((x/b).^a)./(1+(x/b).^a));`

F=hypergeom([p,1-q],p+1,term);

CDFGB2= (term.^p/(p*beta(p,q))).*F

CB

Re: Trying to script the General Beta 2 CDF in MATLAB

I like your style CB. You're like the Zorro of math.