Всем здравствуйте!
Пытаюсь свернуть в Математике две довольно сложные для вычисления двумерные функции:
Код:
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.