matlab *.m files to solve the heat equation.
If these programs strike you as slightly slow, they are. They would
run more quickly if they were coded up in C or fortran. As matlab
programs, would run more quickly if they were compiled using the
matlab compiler and then run within matlab.
This solves the heat equation with Forward Euler time-stepping, and
finite-differences in space. The domain is [0,2pi] and the boundary
conditions are periodic. heat1.m
This solves the heat equation with Backward Euler time-stepping, and
finite-differences in space. The domain is [0,2pi] and the boundary
conditions are periodic. heat3.m
This solves the heat equation with Crank-Nicolson time-stepping, and
finite-differences in space. The domain is [0,2pi] and the boundary
conditions are periodic. heat_cn.m .
It also needs the subroutine periodic_tridiag.m .
This solves the heat equation with Forward Euler time-stepping, and
finite-differences in space. The domain is [0,L] and the boundary
conditions are neuman. heat_eul_neu.m
This is a buggy version of the code that solves the heat equation with
Forward Euler time-stepping, and finite-differences in space. The
domain is [0,L] and the boundary conditions are neuman. buggy_heat_eul_neu.m
This solves the heat equation with Forward Euler time-stepping, and
finite-differences in space. The domain is [0,L] and the boundary
conditions are neuman, but are implemented in a lower-order manner.
subopt_bcs_heat_eul_neu.m