Solving for a variable in equation
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Maddie Sanders
il 23 Gen 2020
Commentato: Star Strider
il 23 Gen 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 Commenti
Risposta accettata
Star Strider
il 23 Gen 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 Commenti
Star Strider
il 23 Gen 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’.
Più risposte (0)
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!