# Temperature Change in Matlab

by roam
Tags: matlab, temperature
P: 884
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:

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:

 S_a = 20 ??? Attempted to access k(60); index out of bounds because numel(k)=1. Error in ==> temp at 6 S(n+1)=S(n)-k(S(n)-S_a);
Any guidance is greatly appreciated.
 Mentor P: 39,575 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...
P: 884
 Quote by berkeman 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...
Ok, I added the multiplication sign to my code:

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.

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°...

 Related Discussions General Physics 12 Advanced Physics Homework 9 Biology, Chemistry & Other Homework 3 Introductory Physics Homework 9