function diffract( nSlits) %----------------------------------------------------------------------- % diffract: Test superposition of nSlits waves for minima. %----------------------------------------------------------------------- if nargin < 1 nSlits = 2; end; f = 1; tEnd = 5; t = 0:.01:tEnd; for phi = 0:.1:2*pi signal = sin( 2*pi*f*t); plot( t, signal, 'b'); title("\phi = " + num2str(phi/pi) + "\pi"); axis( [0 tEnd -1 1]); hold( 'on'); for n = 1:nSlits-1 signal = signal + sin( 2*pi*f*t - n*phi); plot( t, sin( 2*pi*f*t - n*phi), 'b'); axis( [0 tEnd -1 1]); end; plot( t, signal/nSlits, 'r'); axis( [0 tEnd -1 1]); pause(.5); hold( 'off'); end; end