Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Solve this ODE (newton's law of cooling)

  1. Jan 18, 2012 #1
    1. The problem statement, all variables and given/known data

    dT/dt = -k(T - T_m)

    T is the temperature of the body,

    T_m is the temperature of the surroundings,

    -k is some contant

    and t is ofcourse time

    2. Relevant equations

    no idea

    3. The attempt at a solution

    I tried solving this using first order linear ODE integrating factor method:

    so in standard form it can be written as-

    T' + kT = T_m

    let p(t) = k
    then u(t) = exp(∫ k dt)

    u(t) = exp(kt) we can forget about the constant.

    so multiplying ODE throughout by u(x) :

    exp(kt)*(T' + kT) = exp(kt)*(T_m)

    integrate both sides

    exp(kt)*T = [exp(kt)*(T_m)]/k

    divide both sides by u(t)

    T = (T_m)/k

    my book says this is wrong, why?
  2. jcsd
  3. Jan 18, 2012 #2


    User Avatar
    Homework Helper

    A few issues:

    Going from here: dT/dt = -k(T - T_m)

    to here: T' + kT = T_m

    you missed out a factor of k on the RHS.

    Your equation should be T' + kT = kT_m.

    Your Integrating Factor is OK (although this can be simply solved by separation of variables). But when you do the integration, you didn't put in bounds, which is a very important step when solving a physical problem.

    Both sides are being integrated from t = 0 to t (the latter just represents a general time 't').

    The temperature should be represented by T_0 initially, and T(t) at time t.

    Evaluate both sides as definite integrals with the correct bounds and expressions for T, and you should get this result:

    [itex]T(t) = T_m + e^{-kt}(T_0 - T_m)[/itex]

    from which you can easily deduce the physical behaviour of the cooling body and see that it matches up to intuition, starting at T_0 and ending at infinite time at T_m.

    As I mentioned, you don't need IF to solve this, you can just use separation of variables; it's less prone to error. Try it.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook