Преобразование Фурье
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.