How to solve exponential equation to find unknown constants
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponse acceptée
J. Alex Lee
le 8 Août 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 commentaires
Plus de réponses (1)
J. Alex Lee
le 8 Août 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 commentaires
Voir également
Catégories
En savoir plus sur Interpolation dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!