Команда ifourier не дает ожидаемых результатов? - PullRequest
0 голосов
/ 14 мая 2019

Я читаю книгу Алекса Паламида, глава 6, Преобразование Фурье, и пытаюсь вычислить обратное преобразование функции, но когда я пишу код, представленный в книге в MATLAB, я не получаю ожидаемого ответа, как написано в книге.

Вот снимок книги, выделен вывод обратной команды Фурье (она содержит heaviside термин):

Snapshot

Когда я пишу тот же код в MATLAB, я получаю:

answer = (exp(-t)*(sign(t) + 1))/2

Мой код выглядит следующим образом:

clc
clear all
syms w t
X=1/(1+j*w);
ifourier(X,t)

1 Ответ

1 голос
/ 14 мая 2019

Ответ правильный, Matlab просто по умолчанию использует функцию знака вместо Хевисайда. Проверьте это, набрав код

check = isequal(heaviside(t),(sign(t) + 1)/2)
check = 1 --->True

Математическое доказательство

enter image description here

...