首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mathematica集成

Mathematica集成
EN

Stack Overflow用户
提问于 2013-05-28 02:24:12
回答 1查看 580关注 0票数 1

伙计们!对此我提前表示歉意。

假设我想卷积两个函数(f和g),一个带有breit-wigner的高斯函数:

代码语言:javascript
复制
f[x_] := 1/(Sqrt[2 \[Pi]] \[Sigma])Exp[-(1/2) ((x - \[Mu])/\[Sigma])^2];
g[x_] := 1/\[Pi] (\[Gamma]/((x - \[Mu])^2 + \[Gamma]^2));

一种方法是使用卷积,如下所示:

代码语言:javascript
复制
Convolve[f[x],g[x],x,y];

但这给出了:

代码语言:javascript
复制
(\[Gamma] Convolve[E^(-((x - \[Mu])^2/(2 \[Sigma]^2))),1/(\[Gamma]^2 + (x - \[Mu])^2), x, y])/(Sqrt[2] \[Pi]^(3/2) \[Sigma])

这意味着它不能做卷积。

然后我尝试了积分(卷积的定义):

代码语言:javascript
复制
Integrate[f[x]*g[y - x], {x, 0, y}, Assuptions->{x > 0, y > 0}]

但再一次,它无法集成。我知道有些函数无法解析集成,但在我看来,每当我进入卷积时,我都会发现另一个无法集成的函数。

在Mathematica中,数值积分是做卷积的唯一方法(除了示例中的那些简单函数),还是我做错了什么?

我的目标是用breit-weigner来卷积水晶球。CB类似于:

代码语言:javascript
复制
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中做一个数值积分程序,或者还有更多关于解析积分的内容。

谢谢你,艾利安

EN

回答 1

Stack Overflow用户

发布于 2013-05-28 14:25:10

我稍微简化了你的函数(它可能看起来很小,但在本质上是巨大的)。在这种情况下,我将Mu设置为零。

代码语言:javascript
复制
\[Mu] = 0;

现在我们有:

代码语言:javascript
复制
f[x_] := 1/(Sqrt[2 \[Pi]] \[Sigma]) Exp[-(1/2) ((x)/\[Sigma])^2];
g[x_] := 1/\[Pi] (\[Gamma]/((x)^2 + \[Gamma]^2));

请求Mathematica卷积:

代码语言:javascript
复制
Convolve[f[x], g[x], x, y]
-((I E^(-((y + I \[Gamma])^2/(2 \[Sigma]^2))) (E^((2 I y \[Gamma])/\[Sigma]^2) \[Pi] Erfi[((y - I \[Gamma]) Sqrt[1/\[Sigma]^2])/Sqrt[2]] - \[Pi] Erfi[((y + I \[Gamma]) Sqrt[1/\[Sigma]^2])/Sqrt[2]] - Log[-y - I \[Gamma]] - E^((2 I y \[Gamma])/\[Sigma]^2) Log[y - I \[Gamma]] + E^((2 I y \[Gamma])/\[Sigma]^2) Log[-y + I \[Gamma]] + Log[y + I \[Gamma]]))/(2 Sqrt[2] \[Pi]^(3/2) \[Sigma]))

虽然这并不完全是您所要求的,但它表明,如果您的函数稍微简单一点,Mathematica将能够进行集成。在你的问题中,除非我们知道更多关于Mu的信息,否则我不认为卷积的结果是封闭的。你可能会问math.stackexchange.com的人关于你的积分,看看有没有人想出一个封闭的形式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16778623

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档