Solving heat transfer equation using finite difference method
显示 更早的评论
Please, I am trying to solve for the temperature distribution in a box but I am having issues with my code error: "Index exceeds matrix dimension". This is my code
M=15.5;
L= 1.22;
dx= 0.122;
T(1)=35;
Tc = 25;
N= L/dx;
St= 50400;
dt= 1800;
rho= 720;
t= St/dt;
T(:,1)=T(1);
K= 0.0676+(0.00054*M);
c= 0.334 +(0.00977*M);
q= 2*10^7;
h= (q*(dx)^2)/K;
for j=1:t
for i=1:N
T(i,j+1)=F(K,dt,dx,rho)*(T(i+1,j)+T(i-1,j)+h)+(1- (2*F(K,dt,dx,rho)))*T(i,j);
回答(1 个)
Benjamin Großmann
2018-4-23
0 个投票
You start with i=1 and one of your indices is T(i-1), so this is addressing the 0-element of T. In Matlab we start with index 1. This could be one problem but it is not possible to debug your code as it is since there are "end"s missing and the function or Matrix "F" is not given.
类别
在 帮助中心 和 File Exchange 中查找有关 Mathematics 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!