heat equation not working
Mostra commenti meno recenti
This is a solution for my homework, but the code gives us an error on the next line
I appreciate your help in that that
T(i,j+1)=T(i.j)+((dt)/(dx.^2))*(T(i+1,j)-2*T(i,j)+T(i-1,j));
clc;
clear all;
for i=1:15
x(i)=i;
x1(i)=(i-1)/15;
for j=1:10
T(i,j)=0;
end
end
T(x,1)=sin(pi*x1);
dx=0.1;
dt=0.04;
for j=1:10
for i=2:15
T(i,j+1)=T(i.j)+((dt)/(dx.^2))*(T(i+1,j)-2*T(i,j)+T(i-1,j));
end
end
for i=1:15
T0(i)=T(i,1);
T1(i)=T(i,2);
T2(i)=T(i,3);
T3(i)=T(i,4);
T4(i)=T(i,5);
T5(i)=T(i,6);
end
title("Heat");
ylabel("y");
xlabel("x");
legend("HEAT EQ");
Risposte (1)
Voss
il 12 Dic 2021
The error is because you have a typo in that line:
T(i.j)
should be:
T(i,j)
Once you correct that, you will get a new error on the same line. This error is due to trying to refer to T(i+1,j) when i is 15, i.e., T(16,j) but T has size 15 in dimension 1. To fix that, I guess the i loop should go from 2 to 14 rather than 2 to 15:
for i=2:14
Categorie
Scopri di più su PDE Solvers in Centro assistenza e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!