How to solve exponential equation to find unknown constants
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I am trying to find the values of the constants a, b and c from the exponential equation. The data points of x and t needs to be exported from an excel file(given) . I have tried solving it using lsqcurvefit but I am facing problem in finding the initial values of the parameters to solve the problem.
The equation is
Here, x and t are variables. The value of y is constant and equal to 6.
0 Kommentare
Akzeptierte Antwort
J. Alex Lee
am 8 Aug. 2021
data = readtable("Book1.xlsx");
Alternatively, based on my reparameterization above you can as a first pass say everything after looks like saturation, take the average, and declare
mask = data.t < 4;
F = mean(data.x(~mask))
Now you can linearize the problem and say
To visualize
z = log(F-data.x);
plot(data.t,z,'.')
hold on
As expected, the plot is pretty linear for , so you can do a linear fit and visualize
lf = polyfit(data.t(mask),z(mask),1)
plot(data.t,polyval(lf,data.t),'-')
Then convert the linear fit parameters back to
H = -lf(1)
G = exp(lf(2))
And then you're back to the algebra to get back to . This procedure, which now only relies on observing the saturation behavior, results in
figure
plot(data.t,data.x,'.')
hold on
plot(data.t,F - G*exp(-H*data.t),'-')
3 Kommentare
Weitere Antworten (1)
J. Alex Lee
am 8 Aug. 2021
Do you have an intuition of what the graph of looks like? Hint: it looks like your plot, scaled and shifted roughly only in the y direction, so roughly whatever appears in front of t in the exponential is roughly unity. Next step, simplify your parameterization a bit so you can intuitively scale and shift...say
That makes it even easier to see the link between your data. At , and at , so the scale factor and shift factor is .
Now it's an algebra problem to get from to .
0 Kommentare
Siehe auch
Kategorien
Mehr zu Systems of Nonlinear Equations 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!