Determining Constants of Best Fit Curve

1 visualización (últimos 30 días)
Ian
Ian el 6 de Nov. de 2015
Comentada: Ian el 6 de Nov. de 2015
I have a dataset (x,y) that I would like to fit a curve to. The curve must be of the form:
y = a + b*c^d*x^e
where a,b,c,d,e are constants and constants a and c are known.
Is there a way to numerically determine these constants in matlab?

Respuesta aceptada

Steven Lord
Steven Lord el 6 de Nov. de 2015
No. You can't decouple b and d: consider that (b)*c^(d) and (b*c)*c^(d-1) are the exact same value. So let's say you determine for your particular data set that b*c^d is 8 and you know c is 2. We could have (assuming b and d were restricted to take on only nonnegative integer values.)
  • b = 1 and d = 3
  • b = 2 and d = 2
  • b = 4 and d = 1
  • b = 8 and d = 0
All of those result in a value for b*c^d of 8. Which solution is the "correct" solution? Without other information, they all are.
If you want to try to determine e and b*c^d search the documentation for "curve fitting" and you'll find descriptions of many different tools that you can use for this application.
  1 comentario
Ian
Ian el 6 de Nov. de 2015
I see!
If I fix one of the constants, say b, such that a,b, and c are now known, will I be able to get a unique solution?
I tried doing this using the curve fitting tool app in matlab and it appears to be working.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Get Started with Curve Fitting Toolbox en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by