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

1 visualización (últimos 30 días)
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

Respuesta aceptada

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

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Linear and Nonlinear Regression en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by