伙计们!对此提前表示歉意。
假设我想对两个函数(f 和 g)进行卷积,一个带有 breit-wigner 的高斯函数:
f[x_] := 1/(Sqrt[2 \[Pi]] \[Sigma])Exp[-(1/2) ((x - \[Mu])/\[Sigma])^2];
g[x_] := 1/\[Pi] (\[Gamma]/((x - \[Mu])^2 + \[Gamma]^2));
一种方法是使用 Convolve,如:
Convolve[f[x],g[x],x,y];
但这给出了:
(\[Gamma] Convolve[E^(-((x - \[Mu])^2/(2 \[Sigma]^2))),1/(\[Gamma]^2 + (x - \[Mu])^2), x, y])/(Sqrt[2] \[Pi]^(3/2) \[Sigma])
,这意味着它无法进行卷积。
然后我尝试了积分(卷积的定义):
Integrate[f[x]*g[y - x], {x, 0, y}, Assuptions->{x > 0, y > 0}]
但同样,它无法集成。我知道有些函数无法解析积分,但在我看来,每当我进入卷积时,我都会发现另一个无法积分的函数。
数值积分是在 Mathematica 中进行卷积的唯一方法(除了示例中的那些简单函数),还是我做错了什么?
我的目标是将水晶球与 breit-weigner 进行卷积。CB类似于:
Piecewise[{{norm*Exp[-(1/2) ((x - \[Mu])/\[Sigma])^2], (
x - \[Mu])/\[Sigma] > -\[Alpha]},
{norm*(n/Abs[\[Alpha]])^n*
Exp[-(1/2) \[Alpha]^2]*((n/Abs[\[Alpha]] - Abs[\[Alpha]]) - (
x - \[Mu])/\[Sigma])^-n, (x - \[Mu])/\[Sigma] <= -\[Alpha]}}]
我已经在 C++ 中完成了这项工作,但我想我在 Mathematica 中尝试过它并用它来拟合一些数据。所以请告诉我是否必须在 Mathematica 中进行数值积分例程,或者分析积分还有更多内容。
谢谢你,阿德里安