This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
vpde_lecture22 [2020/03/26 13:29] trinh |
vpde_lecture22 [2020/03/26 13:31] trinh [The 1D heat equation with zero Dirichlet conditions] |
||
---|---|---|---|
Line 45: | Line 45: | ||
where $b_n$ will be the Fourier sine coefficients of the odd $2\pi$ extension of $f(x)$ on $[0, \pi]$. | where $b_n$ will be the Fourier sine coefficients of the odd $2\pi$ extension of $f(x)$ on $[0, \pi]$. | ||
- | < | + | See the video for details |
- | % Written | + | |
- | clear % Clear all variables | + | |
- | close all % Close all windows | + | |
- | + | ||
- | N = 20; % How many Fourier modes to include? | + | |
- | + | ||
- | % Define an in-line function that takes in three inputs: | + | |
- | % Input 1: n value [scalar] | + | |
- | % Input 2: x value [vector] | + | |
- | % Input 3: t value [scalar] | + | |
- | R = @(n, t, x) -2/ | + | |
- | + | ||
- | % Create a mesh of points between two limits | + | |
- | x0 = pi; | + | |
- | x = linspace(0, x0, 1000); | + | |
- | + | ||
- | % Create a mesh of points in time | + | |
- | t = linspace(0, 5, 200); | + | |
- | + | ||
- | figure(1); | + | |
- | plot([0, pi], [1, 1], ' | + | |
- | ylim([-0.2, | + | |
- | xlim([0, x0]); % Set the x limits | + | |
- | xlabel('x'); ylabel(' | + | |
- | hold on | + | |
- | for j = 1: | + | |
- | tj = t(j); | + | |
- | + | ||
- | u = 0; | + | |
- | for n = 1:N | + | |
- | u = u + R(n, tj, x); | + | |
- | end | + | |
- | + | ||
- | % Plotting commands | + | |
- | if j == 1 | + | |
- | p = plot(x, u, ' | + | |
- | else | + | |
- | set(p, ' | + | |
- | end | + | |
- | drawnow | + | |
- | title(['t = ', num2str(tj)]); | + | |
- | pause(0.1); | + | |
- | + | ||
- | if j == 1 | + | |
- | pause | + | |
- | end | + | |
- | end | + | |
- | </ | + |