Fitting a hyperbolic curve to a set of data using Qi, Di, and b

21 views (last 30 days)
Hi,
First, I do not have the optimizaiton toolbox, the only toolbox I have is that stats box.
I have a vector with 1000 numbers in it which are on a general decline. The actual position of the number in the vector is a date and all the dates are evenly spaced. For example with vector [10 9 7 5 3], 10 is oil production in month 1, 9 is oil production in month 2, 7 is oil production in month 3... The three variables I need to adjust are qi (initial oil production and it will be >= the qi in the data), b (ranging from .001 to 1.5) and Di (nominal decline which can range from 1 to 200%). I know I could do this using a tripple for loop and vary Qi, b, and Di and use whatever combination yields the smallest r-squared total but I'm sure that's not the best way of doing it. Any help is appreciated.
Thanks, -Andrew

Answers (1)

Alan Weiss
Alan Weiss on 4 Mar 2014
You might want to try fitnlm to fit a nonlinear model. You could also try the base MATLAB method of curve fittting via optimization. I am not sure if either of these allow you to include bounds on your variables, but at least it is a place to start.
Alan Weiss
MATLAB mathematical toolbox documentation

Community Treasure Hunt

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

Start Hunting!