How to find the optimum intercept by fixing the gradient as a fit to experimental data?

I have a set of experimental data that share the relationship: y = A.x^n
I plot my data log y vs log x. The gradient is n and intercept is log(A) which I can obtain from the polyfit function.
I now want to fix the value of n and find the most optimum value of A by some kind of least squares algorithm with respect to the experimental data.
What is the best way to do this?
Thank you

 Accepted Answer

Use polyfit to fit a polynomial of degree 0 against log(y) - n*log(x) and take exp() of the result.
This gives you optimal A for given n.
Solution is
A = exp( mean( log(y) - n*log(x) ) )

2 Comments

Yes! That makes a lot of sense based on analytical solution.
thank you
Or
A = sum(x.^n.*y)/sum(x.^(2*n))
for the original equation.

Sign in to comment.

More Answers (0)

Categories

Asked:

on 15 Jan 2019

Edited:

on 16 Jan 2019

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!