MAKE A MEME View Large Image Wave equation 1D fixed endpoints.gif Illustration of solution of one-dimensional wave equation a gaussian wave on a string fixed at both ends The wave reflects from each end with a 180° phase shift self-made with en Matlab 01 27 24 August ...
View Original:Wave equation 1D fixed endpoints.gif (274x121)
Download: Original    Medium    Small Thumb
Courtesy of:commons.wikimedia.org More Like This
Keywords: Wave equation 1D fixed endpoints.gif Illustration of solution of one-dimensional wave equation a gaussian wave on a string fixed at both ends The wave reflects from each end with a 180° phase shift self-made with en Matlab 01 27 24 August 2007 UTC Oleg Alexandrov Created with MATLAB MATLAB source code <source lang matlab > A wave travelling on a string with fixed endpoints function main KSmrq's colors red 0 867 0 06 0 14; blue 0 129 205/256; green 0 200 70/256; yellow 254 194 0/256; white 0 99 1 1 1; length of the string and the grid L 5; N 151; X linspace 0 L N ; h X 2 -X 1 ; space grid size c 0 5; speed of the wave tau 0 25 h/c; time grid size K 5; steepness of the bump S 0; shift the wave f inline 'exp -K x-S 2 ' 'x' 'S' 'K' ; a gaussian as an initial wave df inline '-2 K x-S exp -K x-S 2 ' 'x' 'S' 'K' ; derivative of f wave at time 0 and tau U0 0 f X S K ; U1 U0 - 2 tau c df X S K ; U 0 U0; current U Big 10000; Ut zeros Big N ; Ut 1 U0; Ut 2 U1; hack to capture the first period of the wave min_k 2 N; k_old min_k; turn_on 0; for j 3 Big last_j j; fixed end points U 1 0; U N 0; finite difference discretization in time for i 2 N-1 U i c tau/h 2 U1 i+1 -2 U1 i +U1 i-1 + 2 U1 i - U0 i ; end Ut j U; update info for the next iteration U0 U1; U1 U; hack to capture the first period of the wave k find abs U max abs U ; k k 1 ; if k > N/2 turn_on 1; end min_k min min_k k_old ; if k > min_k min_k k_old turn_on 1 break; end k_old k; end truncate to the first period last_j last_j - 1; Ut Ut 1 last_j ; shift the wave by a certain amount shift floor last_j/4 ; Vt Ut; Ut last_j-shift+1 last_j Vt 1 shift ; Ut 1 last_j-shift Vt shift+1 last_j ; num_frames 100; spacing floor last_j/num_frames plot the wave for j 1 last_j-spacing+1 U Ut j ; if rem j spacing 1 figure 1 ; clf; hold on; axis equal; axis off; lw 3; linewidth plot X U 'color' red 'linewidth' lw ; plot the ends of the string small_rad 0 06; ball 0 0 small_rad red ; ball L 0 small_rad red ; size of the window ys 1 1; axis -small_rad L+small_rad -ys ys ; small markers to keep the bounding box fixed when saving to eps plot -small_rad ys ' ' 'color' white ; plot L+small_rad -ys ' ' 'color' white ; frame_no floor j/spacing +1; frame sprintf 'Frame d eps' 1000+frame_no ; disp frame saveas gcf frame 'psc2' ; end end function ball x y radius color draw a ball of given uniform color Theta 0 0 1 2 pi; X radius cos Theta +x; Y radius sin Theta +y; H fill X Y color ; set H 'EdgeColor' color ; The gif image was creating with the command convert -antialias -loop 10000 -delay 15 -compress LZW Frame10 Movie gif </source> Waves on ropes and strings Files by User Oleg Alexandrov from en wikipedia Animations of vibrations and waves Pulse physics Animated GIF Animations of curves Images with Matlab source code
Terms of Use   Search of the Day