Temperature Change in Matlab


by roam
Tags: matlab, temperature
roam
roam is offline
#1
Aug10-09, 05:00 PM
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.
Phys.Org News Partner Science news on Phys.org
Lemurs match scent of a friend to sound of her voice
Repeated self-healing now possible in composite materials
'Heartbleed' fix may slow Web performance
berkeman
berkeman is offline
#2
Aug10-09, 05:12 PM
Mentor
berkeman's Avatar
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...
roam
roam is offline
#3
Aug11-09, 01:48 PM
P: 884
Quote Quote by berkeman View Post
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...


Register to reply

Related Discussions
Kelvin Temperature - Celsius Temperature Change General Physics 12
Change in Temperature Advanced Physics Homework 9
Chemistry: Finding a temperature change using a temperature/gram ratio Biology, Chemistry & Other Homework 3
Temperature Change Introductory Physics Homework 9