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

Temperature Change in Matlab

  1. Aug 10, 2009 #1
    I'm very confused on about solving the following question using Matlab:

    A drink cools according to the difference equation:

    Tn=Tn-1-0.02(Tn-1-Ta)

    Where Tn is the temprature after n minutes. When you pour the drink it's 80 degrees. After you have poured it you leave it for 15 minutes in the kitchen where the air temprature is 20 degree, then you take it outside where the temprature is 12 degrees. Calculate the temprature of the drink afte it has been outside for 15 minutes.

    This is my script:

    Code (Text):
    k=0.02;
    T_a=12;
    S(1)=80;
    S_a=20
    for n=1:15
    S(n+1)=S(n)-k(S(n)-S_a);
    T(1)=S(16);
    T(n+1)=T(n)-k(T(n)-T_a);
    end
    T(16)
    I'm not quite sure what I've done wrong here but I keep getting errors like:

    Any guidance is greatly appreciated.
     
  2. jcsd
  3. Aug 10, 2009 #2

    berkeman

    User Avatar

    Staff: Mentor

    I'm no expert at MATLAB, but it looks like there are two problems. First, it doesn't seem to be parsing k(S(n)-S_q) as a multiplication of k * whatever. Looks like it thinks it's an array access?

    And I don't see how you have two separate loops of 15 minutes each -- seems like you need to to the first 15 minutes, and then do another 15 minutes with the different delta-Temperature...
     
  4. Aug 11, 2009 #3
    Ok, I added the multiplication sign to my code:

    Code (Text):
    k=0.02;
    T_a=12;
    S(1)=80;
    S_a=20
    for n=1:15
    S(n+1)=S(n)-k*(S(n)-S_a);
    T(1)=S(16);
    T(n+1)=T(n)-k*(T(n)-T_a);
    end
    T(16)
    And my code is still not working.:frown:

    I think I need to have two separate loops for each 15 minutes because in the first 15 minutes the drink is placed in a room with a temperature of 20° and in the second 15 minutes it's placed outside where the temperature is 12°...
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook