Преобразование Фурье
fourier( возвращает Преобразование Фурье f)f. По умолчанию функция symvar определяет независимую переменную и w - переменная преобразования.
Вычислите преобразование Фурье общих входов. По умолчанию преобразование происходит в терминах w.
| Функция | Вход и выход |
|---|---|
Прямоугольный импульс |
syms a b t f = rectangularPulse(a,b,t); f_FT = fourier(f) f_FT = - (sin(a*w) + cos(a*w)*1i)/w + (sin(b*w) + cos(b*w)*1i)/w |
Единичный импульс (дельта Дирака) |
f = dirac(t); f_FT = fourier(f) f_FT = 1 |
Абсолютное значение |
f = a*abs(t); f_FT = fourier(f) f_FT = -(2*a)/w^2 |
Шаг (Heaviside) |
f = heaviside(t); f_FT = fourier(f) f_FT = pi*dirac(w) - 1i/w |
Постоянный |
f = a; f_FT = fourier(a) f_FT = pi*dirac(1, w)*2i |
| Косинус |
f = a*cos(b*t); f_FT = fourier(f) f_FT = pi*a*(dirac(b + w) + dirac(b - w)) |
| Синус |
f = a*sin(b*t); f_FT = fourier(f) f_FT = pi*a*(dirac(b + w) - dirac(b - w))*1i |
| Знак |
f = sign(t); f_FT = fourier(f) f_FT = -2i/w |
Треугольник |
syms c f = triangularPulse(a,b,c,t); f_FT = fourier(f) f_FT = -(a*exp(-b*w*1i) - b*exp(-a*w*1i) - a*exp(-c*w*1i) + ... c*exp(-a*w*1i) + b*exp(-c*w*1i) - c*exp(-b*w*1i))/ ... (w^2*(a - b)*(b - c)) |
Правосторонняя экспоненциальная | Также вычислите преобразование с условием f = exp(-t*abs(a))*heaviside(t); f_FT = fourier(f) assume(a > 0) f_FT_condition = fourier(f) assume(a,'clear') f_FT = 1/(abs(a) + w*1i) - (sign(abs(a))/2 - 1/2)*fourier(exp(-t*abs(a)),t,w) f_FT_condition = 1/(a + w*1i) |
Двусторонняя экспоненциальная | Предположим assume(a > 0) f = exp(-a*t^2); f_FT = fourier(f) assume(a,'clear') f_FT = (pi^(1/2)*exp(-w^2/(4*a)))/a^(1/2) |
Гауссовский | Предположим assume([b c],'real') f = a*exp(-(t-b)^2/(2*c^2)); f_FT = fourier(f) f_FT_simplify = simplify(f_FT) assume([b c],'clear') f_FT =
(a*pi^(1/2)*exp(- (c^2*(w + (b*1i)/c^2)^2)/2 - b^2/(2*c^2)))/ ...
(1/(2*c^2))^(1/2)
f_FT_simplify =
2^(1/2)*a*pi^(1/2)*exp(-(w*(w*c^2 + b*2i))/2)*abs(c) |
Бессель первого рода с | Упростите результат. syms x f = besselj(1,x); f_FT = fourier(f); f_FT = simplify(f_FT) f_FT = (2*w*(heaviside(w - 1)*1i - heaviside(w + 1)*1i))/(1 - w^2)^(1/2) |
Вычислите преобразование Фурье exp(-t^2-x^2). По умолчанию, symvar определяет независимую переменную и w - переменная преобразования. Вот, symvar выбирает x.
syms t x f = exp(-t^2-x^2); fourier(f)
ans = pi^(1/2)*exp(- t^2 - w^2/4)
Задайте переменную преобразования следующим y. Если вы задаете только одну переменную, эта переменная является переменной преобразования. symvar все еще определяет независимую переменную.
syms y fourier(f,y)
ans = pi^(1/2)*exp(- t^2 - y^2/4)
Задайте и независимую переменную, и переменные преобразования как t и y во втором и третьем аргументах, соответственно.
fourier(f,t,y)
ans = pi^(1/2)*exp(- x^2 - y^2/4)
Вычислите следующие преобразования Фурье. Результаты с точки зрения функций Dirac и Heaviside.
syms t w fourier(t^3, t, w)
ans = -pi*dirac(3, w)*2i
syms t0 fourier(heaviside(t - t0),t,w)
ans = exp(-t0*w*1i)*(pi*dirac(w) - 1i/w)
Задайте параметры преобразования Фурье.
Вычислите преобразование Фурье f использование значений по умолчанию параметров Фурье c = 1, s = -1. Для получения дополнительной информации см. «Преобразование Фурье».
syms t w f = t*exp(-t^2); fourier(f,t,w)
ans = -(w*pi^(1/2)*exp(-w^2/4)*1i)/2
Измените параметры Фурье на c = 1, s = 1 при помощи sympref, и снова вычислите преобразование. Результат меняется.
sympref('FourierParameters',[1 1]);
fourier(f,t,w)ans = (w*pi^(1/2)*exp(-w^2/4)*1i)/2
Измените параметры Фурье на c = 1/(2*pi), s = 1. Результат меняется.
sympref('FourierParameters', [1/(2*sym(pi)), 1]);
fourier(f,t,w)ans = (w*exp(-w^2/4)*1i)/(4*pi^(1/2))
Настройки, заданные sympref сохраниться через ваш текущий и будущий MATLAB® сеансов. Восстановите значения по умолчанию c и s путем установки FourierParameters на 'default'.
sympref('FourierParameters','default');Найдите преобразование Фурье матрицы M. Задайте независимые переменные и переменные преобразования для каждой матричной записи с помощью матриц одного и того же размера. Когда аргументы нескаляры, fourier действует на них поэлементно.
syms a b c d w x y z M = [exp(x) 1; sin(y) i*z]; vars = [w x; y z]; transVars = [a b; c d]; fourier(M,vars,transVars)
ans = [ 2*pi*exp(x)*dirac(a), 2*pi*dirac(b)] [ -pi*(dirac(c - 1) - dirac(c + 1))*1i, -2*pi*dirac(1, d)]
Если fourier вызывается как с скалярными, так и с нескалярными аргументами, затем расширяет скаляры так, чтобы они совпадали с нескалярными при помощи скалярного расширения. Нескалярные аргументы должны иметь одинаковый размер.
fourier(x,vars,transVars)
ans = [ 2*pi*x*dirac(a), pi*dirac(1, b)*2i] [ 2*pi*x*dirac(c), 2*pi*x*dirac(d)]
Если fourier не может преобразовать вход, тогда он возвращает недооцененный вызов.
syms f(t) w F = fourier(f,t,w)
F = fourier(f(t), t, w)
Верните исходное выражение при помощи ifourier.
ifourier(F,w,t)
ans = f(t)
Если любой аргумент является массивом, то fourier действует поэлементно на всех элементах массива.
Если первый аргумент содержит символьную функцию, то второй аргумент должен быть скаляром.
Чтобы вычислить обратное преобразование Фурье, используйте ifourier.
fourier не преобразуется piecewise. Вместо этого попробуйте переписать piecewise при помощи функций heaviside, rectangularPulse, или triangularPulse.
[1] Oberhettinger F., «Таблицы преобразований Фурье и преобразования Фурье распределений». Спрингер, 1990.