Fitting two Parameters to an equation with data
Ältere Kommentare anzeigen
Hello, I've been stumped trying to solve this problem for a while now and was hoping someone here might be able to help. For background info I'm not completely new to MATLAB, I have a good understanding of the fundamentals and I've developed scripts and functions to run things like Newton-Rhapson method etc...
I have a set of data:
x=[0;69.18248;78.63425;83.30743;86.66291;87.06997]; t=[0;1;2;3;4;5];
And I want to fit an equation to this data. I have the equation shown below:
x= 1 - 0.5584*exp(-a*t) - 0.4416*exp(-b*t)
As you can see, I have the x data points for each t value. I do not, however, know the constant parameters a and b. I wish to find a value for them that will best fit this data. I've looked around for a solution and some say it might be possible using fminsearch but I don't understand how to set up the functions required to do so. Any help is much appreciated.
4 Kommentare
Matt J
am 12 Apr. 2013
Your equation can't possibly give a good fit to the data you've shown. Your equation gives values less than 1 for all t, but your given x data are very much greater than 1.
Yao Li
am 12 Apr. 2013
I've tried the curve fitting tool. It seems Matt is right. Your equation cannot fit the data well
R
am 12 Apr. 2013
Akzeptierte Antwort
Weitere Antworten (1)
General model:
f(x) = 1 - 0.5584*exp(-a*x) - 0.4416*exp(-b*x)
Coefficients (with 95% confidence bounds):
a = 16.92 (-2.71e+06, 2.71e+06)
b = 0.3107 (0.2453, 0.3762)
Goodness of fit:
SSE: 0.002167
R-square: 0.9962
Adjusted R-square: 0.9952
RMSE: 0.02328
Kategorien
Mehr zu Linear and Nonlinear Regression finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!