#include int main(int argc, char *argv[]) { int j, jbar = 50; double dx=1.0, dt=0.1, sig=1.0, endtime=10.0, time=0.0, TL=400.0, TR=0.0; double T[jbar + 2], Tnew[jbar + 2]; for (j = 0; j <= jbar+1; j++) { T[j] = 0.00; } while ( time <= endtime ) { T[0] = 2.0*TL - T[1]; T[jbar+1] = 2.0*TR - T[jbar]; for (j = 1; j <= jbar; j++) { Tnew[j] = T[j] + sig*dt*(T[j+1]+T[j-1]-2.0*T[j])/dx/dx; } for (j = 1; j <= jbar; j++) { T[j] = Tnew[j]; } time += dt; } for (j = 1; j <= jbar; j++) { printf("x %11.6lf T %11.6lf\n", ((double)(j-1)+0.5)*dx, T[j]); } }