1-d heat transfer equation
1 view (last 30 days)
Show older comments
chang hoon oh
on 12 Jun 2020
Answered: Walter Roberson
on 12 Jun 2020
now i am wirte the heat equation code. it tisn't work ,,
L=10cm, dx=1cm n=10 T(11,200)
the initial condition is T(*,1)= 293K
the boundary condition is T(1,*)=373k , T(11,*)=T(10,*)
and this is my code
clear
clc
L=10;
n=11;
dx=L/n;
dt=0.005;
t=1;
nt=200;
alpha=0.001;
beta=alpha*dt*(1/(dx)^2);
T0=293;
T1=373;
for j=1:nt
for i=2:n-1
T1(i)=((1-2*beta)*T0(i)+beta*T0(i-1)+beta*T0(i+1));
end
end
plot(T1)
1 Comment
Accepted Answer
Walter Roberson
on 12 Jun 2020
T0=293;
That is a scalar.
for i=2:n-1
i starts at 2
T1(i)=((1-2*beta)*T0(i)+beta*T0(i-1)+beta*T0(i+1));
You use T0(i) and T0(i+1) . On the first iteration that would be trying to access T0(2) and T0(2+1) . But T0 is a scalar.
for j=1:nt
Your for i loop does not use j at all, and has no feedback -- the calculation of T1(i) has no reliance on T1(i) calculated from an earlier for j value. Therefore in your code, your for j is a waste of time: every j iteration is going to produce the same T1 vector.
0 Comments
More Answers (0)
See Also
Categories
Find more on Thermal Analysis in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!