Solving for a variable in equation

1 次查看(过去 30 天)
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)

采纳的回答

Star Strider
Star Strider 2020-1-23
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 个评论
Star Strider
Star Strider 2020-1-23
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’.
Star Strider
Star Strider 2020-1-23
If my Answer helped you solve your problem, please Accept it!

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Solver Outputs and Iterative Display 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by