annotate four.m @ 835:008496ca38f3 feature/burgers1d

Compute the residual in between each runge-kutta stage. Note: It is not clear whether the correct residual is used when computing the stages. Must investigate further.
author Vidar Stiernström <vidar.stiernstrom@it.uu.se>
date Thu, 13 Sep 2018 18:14:54 +0200
parents f6ada1719420
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
598
f6ada1719420 Add functions for calculating fourier transforms
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
1 % four returns the fourier transform u_hat of the function u and the frequencies w
f6ada1719420 Add functions for calculating fourier transforms
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
2 function [w, u_hat] = four(x, u)
f6ada1719420 Add functions for calculating fourier transforms
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
3 u_hat = fft(u);
f6ada1719420 Add functions for calculating fourier transforms
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
4
f6ada1719420 Add functions for calculating fourier transforms
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
5 N = length(x);
f6ada1719420 Add functions for calculating fourier transforms
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
6 L = x(end) - x(1);
f6ada1719420 Add functions for calculating fourier transforms
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
7
f6ada1719420 Add functions for calculating fourier transforms
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
8 k = shift_k(0:N-1);
f6ada1719420 Add functions for calculating fourier transforms
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
9
f6ada1719420 Add functions for calculating fourier transforms
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
10 u_hat = fftshift(u_hat);
f6ada1719420 Add functions for calculating fourier transforms
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
11
f6ada1719420 Add functions for calculating fourier transforms
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
12 dw = 2*pi/L;
f6ada1719420 Add functions for calculating fourier transforms
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
13 w = dw*k;
f6ada1719420 Add functions for calculating fourier transforms
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
14 end
f6ada1719420 Add functions for calculating fourier transforms
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
15
f6ada1719420 Add functions for calculating fourier transforms
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
16 function k_shifted = shift_k(k)
f6ada1719420 Add functions for calculating fourier transforms
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
17 N = length(k);
f6ada1719420 Add functions for calculating fourier transforms
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
18 k_shifted = [-floor(N/2):-1, 0, 1:ceil(N/2)-1];
f6ada1719420 Add functions for calculating fourier transforms
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
19 end