Determining Constants of Best Fit Curve

2 次查看(过去 30 天)
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?

采纳的回答

Steven Lord
Steven Lord 2015-11-6
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 个评论
Ian
Ian 2015-11-6
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.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Get Started with Curve Fitting Toolbox 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by