clear; % This code illustrates possible blurring and deblurring in 1D. % It is motivated by heat diffusion in 1D. % Blurring is modeled by diffusion of heat in positive time steps. % Deblurring is done by diffusion of "heat" in negative time steps. u = zeros(101,1); newu = u; u(30:50) = 10; u(70:73) = 15; dt = .00001; dx = 1/100; subplot(1,2,1) % Forward in "time" or "blurring" plot(u) axis([0 101 0 16]); pause for k = 1:10 for i = 2:100 newu(i) = u(i) + (dt/(dx*dx))*(u(i-1) -2*u(i) + u(i+1)); end plot(newu); axis([0 101 0 16]); k pause; u = newu; end subplot(1,2,2) % Backward in "time" or "deblurring" plot(u) for k = 1:10 for i = 2:100 newu(i) = u(i) - (dt/(dx*dx))*(u(i-1) -2*u(i) + u(i+1)); end plot(newu); axis([0 101 0 16]); k pause; u = newu; end