Determining Constants of Best Fit Curve

1 Ansicht (letzte 30 Tage)
Ian
Ian am 6 Nov. 2015
Kommentiert: Ian am 6 Nov. 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?

Akzeptierte Antwort

Steven Lord
Steven Lord am 6 Nov. 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 Kommentar
Ian
Ian am 6 Nov. 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Get Started with Curve Fitting Toolbox finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by