我有以下问题 - 我需要在 Mathematica 中集成这样的功能(我无法发布图像,所以我以乳胶形式编写它):
G(r)= \int_{0}^{\infty} dq f(q)*q*sin(qr)/r
获得依赖于 r 的函数 G(r)。不过我不知道 f(q) 的解析形式,而是我有一组 f(q) 和 q 的值。所以我想进行某种数值积分,但之后接收的不是一个值,而是 G(r) 的曲线。
我有以下问题 - 我需要在 Mathematica 中集成这样的功能(我无法发布图像,所以我以乳胶形式编写它):
G(r)= \int_{0}^{\infty} dq f(q)*q*sin(qr)/r
获得依赖于 r 的函数 G(r)。不过我不知道 f(q) 的解析形式,而是我有一组 f(q) 和 q 的值。所以我想进行某种数值积分,但之后接收的不是一个值,而是 G(r) 的曲线。
如果你知道函数的解析形式,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}]