0

我有以下问题 - 我需要在 Mathematica 中集成这样的功能(我无法发布图像,所以我以乳胶形式编写它):


G(r)= \int_{0}^{\infty} dq f(q)*q*sin(qr)/r

获得依赖于 r 的函数 G(r)。不过我不知道 f(q) 的解析形式,而是我有一组 f(q) 和 q 的值。所以我想进行某种数值积分,但之后接收的不是一个值,而是 G(r) 的曲线。

4

1 回答 1

1

如果你知道函数的解析形式,f[q]你可以这样做:

Integrate[f[q] q Sin[q r]/r, {q, 0, Infinity}]

但是如果只知道你的值f[q]可以进行数值积分:

G[r_]:= NIntegrate[ f[q] q Sin[q r]/r, {q, 0, Infinity}]

假设例如

f[q_] := Exp[-q]
Integrate[f[q] q Sin[q r]/r, {q, 0, Infinity}]

产量

ConditionalExpression[2/(1 + r^2)^2, Abs[Im[r]] < 1]   

您可以先验地做出假设,例如:

Assuming[r > 0, Integrate[f[q] q Sin[q r]/r, {q, 0, Infinity}]]

产量

2/(1 + r^2)^2

假设r > 0你隐含地假设r是真实的,所以Im[r] == 0. 有了这个函数G[r],我们可以绘制适当的曲线,定义f[q]如上:

Plot[ G[r], {r, 0, 10}]

在此处输入图像描述

于 2012-05-15T23:05:56.673 回答