2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Свертку двумерных функций в Wolfram Mathematica
Сообщение02.05.2022, 22:03 


12/02/19
7
Всем здравствуйте!

Пытаюсь свернуть в Математике две довольно сложные для вычисления двумерные функции:

Код:
g[y_, d_, a_] :=  InverseFourierTransform[1/(d*Sqrt[2*Pi])*Exp[-(x - a)^2/(2*d^2)], x,   y]
IFT[z_, t_, d_, a_] :=  Sum[FourierTransform[(g[y, d, a]*t)^m/(m!), y, z], {m, 1, 3}]
IFT[z, t, d, a]

Smax = 110;
K  = 100;
sigma = 0.4;
r  = 0.1;
CDFN[x_] := 1/Sqrt (2*Pi)*Integrate[Exp[-(y^2)/2], {y, -Infinity, x}]
CDFN[x];
d1 = (Log[Exp[z]/K] + (r + sigma^2/2) t)/(sigma*Sqrt[t]);
d2 = d1 - sigma*Sqrt[t];
CC[z_, t_] := Exp[z]*CDFN[d1] - K*Exp[-r*t]*CDFN[d2]
CC[z, t];


DiscreteConvolve[IFT[z, t, 0.2, 0.5], CC[z, t], {z, t}, {x, y}]


Математика считает, но очень уж долго.
Вообще желательно в
Код:
IFT[z_, t_, d_, a_] :=  Sum[FourierTransform[(g[y, d, a]*t)^m/(m!), y, z], {m, 1, 3}]

просчитать все до 7, а не до 3.

Может, пожалуйста, кто-то попробовать у себя запустить программу с суммой до 7 в отмеченной выше части? Ну или хотя бы до трех...

Или может быть кто-то сможет мне помочь с тем, как посчитать свертку по-другому? Я уже и так взяла дискретную в надежде на хоть какой-то ответ. Очень нужно построить затем график в Plot3D.

 Профиль  
                  
 
 Re: Свертку двумерных функций в Wolfram Mathematica
Сообщение03.05.2022, 16:20 


18/05/15
731
tobybot в сообщении #1553786 писал(а):
Очень нужно

Если что, я Математикой не пользуюсь, но судя по слову Fourier в вашем коде, вы наверняка воспользовались известным тождеством $F[f\ast g] = F[f]F[g]$. И всё равно не работает? Странно. Oт вида ф-ии не должно вроде зависеть.

 Профиль  
                  
 
 Re: Свертку двумерных функций в Wolfram Mathematica
Сообщение03.05.2022, 19:07 


12/02/19
7
Исправила ошибки в:

Код:
CDFN[x_] := 1/Sqrt[2*Pi]*Integrate[Exp[-(y^2)/2], {y, -Infinity, x}]
d1[S_, t_] = (Log[S/K] + (r + sigma^2/2) t)/(sigma*Sqrt[t]);
d2 [S_, t_] = d1 [S, t] - sigma*Sqrt[t];
CC[S_, t_] := S*CDFN[d1[S, t]] - K*Exp[-r*t]*CDFN[d2[S, t]];

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

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



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

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


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

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