Mercurial > repos > public > sbplib
annotate four.m @ 1301:8978521b0f06 default
Fix incorrect package name.
author | Vidar Stiernström <vidar.stiernstrom@it.uu.se> |
---|---|
date | Wed, 08 Jul 2020 19:11:04 +0200 |
parents | f6ada1719420 |
children |
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 |