Преобразование Фурье
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)
Вычислите следующие преобразования Фурье. Результаты в терминах функций Дирака и Хивизида.
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.