2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Обратное преобразование Фурье в Matlab
Сообщение05.11.2019, 20:11 


05/11/19
2
Всем привет! Мне нужно построить график функции от обратного преобразования Фурье. Matlab я вижу впервые, поэтому простите, если совсем бред пишу. Я погуглила и пыталась что-то написать (прикрепила скриншот и код ниже навела). Но код не работает при а равно и меньше 1. Но и при а больше 1 мне график тоже что-то не очень нравится. Что я сделала не так?

Помоги пожалуйста, а то я уже не знаю что мне делать…

(а=3/2 на скриншоте графика).

Изображение

Изображение

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)')

 Профиль  
                  
 
 Re: Обратное преобразование Фурье в Matlab
Сообщение06.11.2019, 01:27 


10/03/16
4444
Aeroport
incognito220797

ifft2 это обратное двумерное преобразование Фурье, z должно являться матрицей, а у вас это вектор

 Профиль  
                  
 
 Re: Обратное преобразование Фурье в Matlab
Сообщение06.11.2019, 20:00 


05/11/19
2
ozheredov в сообщении #1424274 писал(а):
incognito220797

ifft2 это обратное двумерное преобразование Фурье, z должно являться матрицей, а у вас это вектор


Если использовать ifft, то ничего не меняется.

 Профиль  
                  
 
 Re: Обратное преобразование Фурье в Matlab
Сообщение07.11.2019, 00:24 
Заслуженный участник
Аватара пользователя


01/09/13
4656
incognito220797 в сообщении #1424404 писал(а):
Если использовать ifft, то ничего не меняется.

А что такое преобразование Фурье Вы знаете? И чем прямое отличается от обратного? А одномерное от двумерного?
И что обозначают все эти "буквы", которые Вы используете, как видно, в разных местах с разным смыслом?

 Профиль  
                  
 
 Re: Обратное преобразование Фурье в Matlab
Сообщение11.11.2019, 22:14 
Экс-модератор
Аватара пользователя


23/12/05
12064
incognito220797 в сообщении #1424231 писал(а):
x=0:0.001:1;
t=0:0.001:1;
a=input('Введіть а');
z = exp(-t.*(sqrt(a+x.^2))./(log(sqrt(a+x.^2))));

Полагаю, что, как минимум, одна из проблем тут. Вы, видимо, ожидаете, что при такой записи получите некую поверхность $z(x,t)$? А вот фигушки. Из-за того, что векторы $x$ и $t$ у вас одинаковой длины, вам удалось что-то вычислить, и ошибку не выдало, но это, думаю, не то, что вы ожидаете. Для правильного задания $[x,t]$ вам понадобится функция meshgrid(). Отображение результата, соответственно, тоже не plot3() и, видимо, не в лоб.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group