# Differences

This shows you the differences between two versions of the page.

 vpde_lecture26 [2020/04/04 22:05]trinh vpde_lecture26 [2020/04/04 22:46] (current)trinh Both sides previous revision Previous revision 2020/04/04 22:46 trinh 2020/04/04 22:05 trinh 2020/04/04 22:04 trinh created 2020/04/04 22:46 trinh 2020/04/04 22:05 trinh 2020/04/04 22:04 trinh created Line 1: Line 1: - ====== Lecture 26: Computation of the wave equation ​I ====== + ====== Lecture 26: Computation of the wave equation ​II ====== <​html>​ <​html>​ Line 5: Line 5: ​ + ===== Theorem 16.3 (Solution of the zero-Dirichlet wave equation) ===== + + At the start of the lecture, we continue deriving the Fourier coefficients for the problem of zero Dirichlet conditions on the wave equation. We show that + + $$+ u(x, t) = \sum_{n=0}^\infty \sin\left(\frac{n\pi x}{L}\right) \left[ A_n \cos\left(\frac{n\pi ct}{L}\right) + B_n \sin\left(\frac{n\pi ct}{L}\right)\right] +$$ + + where + $$+ A_n = \frac{2}{L} \int_0^L u_0(x) \sin\left(\frac{n\pi x}{L}\right) \ \mathrm{d}{x}. +$$ + + and + Again we recognise this as the sine series, so we now need to equate + $$+ B_n = \frac{2}{L} \left(\frac{L}{n\pi c}\right)\int_0^L v_0(x) \sin\left(\frac{n\pi x}{L}\right) \ \mathrm{d}{x}. ​ +$$ + + ===== Example 16.4: Plucked string ===== + + The next thing we did was look at the solution for the plucked string of example 16.4 in the notes. This yields the above Fourier series solution with $B_n = 0$ and + $$+ A_n = \frac{4}{n^2\pi} \sin(n\pi/​2). +$$ + + We showed off the simulations of the problem using the following code. + + <​Code:​Matlab linenums:1 |Plucked string> + % MA20223 Plucked String + clear + close all + + % c = 1 + + x = linspace(0, pi, 100); + t = linspace(0, 2*(2*pi), 80); + Afunc = @(k) 4*(-1)^k/​((2*k+1)^2*pi);​ + un = @(x, t, k) Afunc(k)*sin((2*k+1)*x).*cos((2*k+1)*t);​ + + Nk = 80; + figure(1) + for j = 1:length(t) + tt = t(j); + u = 0; + for k = 0:Nk + u = u + un(x,​tt,​k); ​       ​ + end + plot(x, u); + ylim([-pi/​2,​ pi/2]); + drawnow + if j == 1 + pause; + else + pause(0.1) + end + end +