Преобразование Фурье
fourier(f)fourier(f,transVar)fourier(f,var,transVar)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 |
| Косинус |
syms w0 f = a*cos(w0*t); f_FT = fourier(f) |
f_FT = pi*a*(dirac(t - w) + dirac(t + w)) |
| Синус |
f = a*sin(w0*t); f_FT = fourier(f) |
f_FT = -pi*a*(dirac(t - w) - dirac(t + 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)
Вычислите следующие преобразования Фурье. Результаты с точки зрения функций Дирака и Хивизида.
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] Обереттингер Ф., "Таблицы преобразований Фурье и преобразований Фурье дистрибутивов". Спрингер, 1990.