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

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.

댓글을 달려면 로그인하십시오.

 채택된 답변

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)

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

태그

질문:

2013년 10월 10일

댓글:

2013년 10월 11일

Community Treasure Hunt

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

Start Hunting!

Translated by