Star is simply wrong here. In general it is perfectly possible to estimate those parameters. It IS possible however that you may have difficulty. Not all problems are trivial to solve.
Image analyst is also correct that a simple solution is to use a linear least squares, as applied to a transformation of the problem. I would suggest that you cannot use polyfit though, since polyfit can only handle a single variable problem. Thus,
log(y) = log(a) + b*log(x) + c*log(1-x)
a is unknown, so log(a) is just as much of an unknown. So the model can be written as
log(y) = d + b*log(x) + c*log(1-x)
where
In the above model, log(x) and log(1-x) must be viewed as different variables, although they are not uncorrelated variables. So call
Then the model becomes even more simply recognizable as
With variables u and v, this model is simply seen as a linear regression model, with two independent variables. We can estimate the parameters (assuming a column vector x) as
dbc = [ones(size(x)),log(x),log(1-x)]\log(y);
a = exp(dbc(1));
b = dbc(2);
c = dbc(3);
You could also have used my polyfitn (found on the file exchange) to perform the estimation.
Given those estimates of a,b,c, we could now use them as starting values for a tool like the curve fitting toolbox.
Best Answer