Всем привет! Мне нужно построить график функции от обратного преобразования Фурье. Matlab я вижу впервые, поэтому простите, если совсем бред пишу. Я погуглила и пыталась что-то написать (прикрепила скриншот и код ниже навела). Но код не работает при а равно и меньше 1. Но и при а больше 1 мне график тоже что-то не очень нравится. Что я сделала не так?
Помоги пожалуйста, а то я уже не знаю что мне делать…
clear all;
close all;
x=0:0.001:1;
t=0:0.001:1;
a=input('Введіть а');
z = exp(-t.*(sqrt(a+x.^2))./(log(sqrt(a+x.^2))));
y=ifft2(z);
plot3(t,x,y); grid
set(gca,'FontName','Arial Cyr','FontSize',16),
title('Графік ФРЗК при γ=1');
xlabel('t');
ylabel('x');
zlabel('G(t,x)')
Обратное преобразование Фурье
Модератор: Admin
-
- Пользователь
- Сообщения: 1
- Зарегистрирован: Вт ноя 05, 2019 7:25 pm
Re: Обратное преобразование Фурье
1. Смущает применение двумерного обратного ДПФ к одномерному сигналу. Что вообще вы пытаетесь сделать?
2. Так как исходная функция не обладает никакой симметрией, результат обратного ДПФ будет комплексным, так что вывести его на график без дополнительных преобразований не получится (вы же читали предупреждение от функции plot3?)
3. Ну и само по себе использование plot3 выглядит сомнительно. Может быть, вам на самом деле поверхность была нужна?
2. Так как исходная функция не обладает никакой симметрией, результат обратного ДПФ будет комплексным, так что вывести его на график без дополнительных преобразований не получится (вы же читали предупреждение от функции plot3?)
3. Ну и само по себе использование plot3 выглядит сомнительно. Может быть, вам на самом деле поверхность была нужна?
С уважением
Александр Сергиенко
Александр Сергиенко