MATLAB: Index issue with using a global variables that are vectors in a function

functionMATLAB

I have written a function in which two global variables, both vectors with 2 entries, are used:
function TH=THETA(y, z);
global qv;
global dv;
TH=qv(y) + z*((qv(y))^2)/(1 - (dv(y))*z);
When I call the function, such as with THETA(1, 0.5) or THETA(2, 0.5) , I get the following error:
"Index exceeds matrix dimensions."
I am puzzled by this as the index in question, the first argument of THETA, is 1 or 2, and the vectors in the function both have two entries. What might be the problem?

Best Answer

Why are you using global? you can simply write
function TH=THETA(y, z,qv,dv);
TH=qv(y) + z*((qv(y))^2)/(1 - (dv(y))*z);