I would like to create a for-loop for a vector T1 consisting of 21 elements where all are zero except the first, in order to get T2, which also has 21 elements, (temperature elements).

This with the formula: Ti(t+0.28) = 0.5*(T(i+1)-2*Ti+T(i-1)). My code right now is:T1=zeros(21); T1(1)=22; T2=linspace(0,0.3,21); But I got no clue how to write the for-loop in this case. Greatful for help

4 Comments

What is Ti(t+0.28) in your code? What does it mean in your scenario? Is Ti function of 't'? Also Is T2 a vector as you defined T2=linspace(0,0.3,21);
The i should be underlined, and 0.28 is delta t, which is calculated. Yes exactly, ti is a function of t, and T2 is a vector, from 0 to 0.3 meter, (I'm studying the heat distribution of a 0.3m concrete wall). Thanks for answering!
Dear still your question is not that clear can you please explain what is the relation between T1, T2, t, Ti?
I'm sorry. T1 is the old temperature, storing the temperatures (22,0,...,0) of the 21 points, and T2 stores the new temperatures at the new time, t is the time, and i is the point 1:21. T is a function of t and the position i. So Ti is the temperature at point i.

Sign in to comment.

 Accepted Answer

Dear Gustaf, still I have confusions in understanding the problem. However as I understood I wrote a small code which you can run and then tell me you need this or something else:
T1 = zeros(1,21);
T2 = T1;
T1(1) = 22;
for i = 1:length(T1)
if i == 1
T2(i) = 0.5 * (T1(i + 1) - 2 * T1(i));
else if i < length(T1)
T2(i) = 0.5 * (T1(i+1) - 2 * T1(i) + T1(i-1));
else
T2(i) = 0.5 * (-2 * T1(i) + T1(i-1));
end
end
end
disp(T1)
disp(T2)

More Answers (0)

Categories

Tags

Asked:

on 10 Oct 2013

Commented:

on 11 Oct 2013

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!