MATLAB: Fitting 2 variable function to (x-1) form

curve fitting

I have this fit currently which works great:
fitobject = fit([r,eta/eta_c],H,ft,'problem',knownVals)
However, because of the nature of the data, it would make more sense if r was actually in the form of .
When I change the code to this:
fitobject = fit([(r-1),eta/eta_c],H,ft,'problem',knownVals)
My fit is completey messed up, and it looks nothing like the data.
My question is, am I employing the fit correctly?
The form should look like: Cij * (r-1)^i *(eta/eta_c)^j.
I wonder if I missed something in the fitting procedure?

Best Answer

My fit is completey messed up, and it looks nothing like the data.
It shouldn't look like the r and eta data, because that's not the data you fed to the fit, but it should look a lot like r-1 and eta/eta_c.
If I were you, I would just re-define all the r and eta data and forget about it instead of repeatedly having to remember to transform them everywhere they are used in the code. So, I would have
r=r-1;
eta=eta/eta_c;
fitobject = fit([r,eta],H,ft,'problem',knownVals);
plot(fitobject,[r,eta],z)
Related Question