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

1 vue (au cours des 30 derniers jours)
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

Réponse acceptée

Torsten
Torsten le 15 Jan 2019
Modifié(e) : Torsten le 15 Jan 2019
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 commentaires
HaAgain
HaAgain le 15 Jan 2019
Yes! That makes a lot of sense based on analytical solution.
thank you
Torsten
Torsten le 15 Jan 2019
Modifié(e) : Torsten le 16 Jan 2019
Or
A = sum(x.^n.*y)/sum(x.^(2*n))
for the original equation.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Linear and Nonlinear Regression dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by