Solving for a variable in equation
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Maddie Sanders
am 23 Jan. 2020
Kommentiert: Star Strider
am 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 Kommentare
Akzeptierte Antwort
Star Strider
am 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 Kommentare
Star Strider
am 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’.
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!