Solving for a variable in equation
1 view (last 30 days)
Show older comments
Maddie Sanders
on 23 Jan 2020
Commented: Star Strider
on 23 Jan 2020
I want to solve for t in the equation: Tf=Ts+(T0-Ts)*exp(-k*t), but I can't figure out how to solve for t. I can only solve for Tf. Here is my script. What do I need to add/change to solve for t?
T0=120;
Ts=38;
k=0.45;
Tf=65;
Tf=Ts+(T0-Ts)*exp(-k*t)
0 Comments
Accepted Answer
Star Strider
on 23 Jan 2020
Use a root-finding function (I chose fzero here), then take the known variable values, create an anonymous function from the expression for ‘Tf’ and solve:
T0=120;
Ts=38;
k=0.45;
Tf=65;
% Tf=Ts+(T0-Ts)*exp(-k*t);
[tval,fval] = fzero(@(t) Ts+(T0-Ts)*exp(-k*t)-Tf, 1)
producing:
tval =
2.4686
3 Comments
Star Strider
on 23 Jan 2020
My pleasure!
The ‘tval’ output is the value of ‘t’ where the expression equals ‘Tf’, and the ‘fval’ output is the value of the function at that point, indicating that it found a ‘t’ value that resulted in the anonymous function being very close to zero (within the tolerance fzero uses). Every nonlinear parameter estimation function requires an initial estimate for the parameter (or parameters) it is estimating, and I chose 1 here. The initial parameter estimates can be important in some problems, however not in this one, where widely differing iinitial estimates all produce the same result for ‘tval’.
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!