我有一个以下问题 - 我需要在Mathematica中集成这样的功能(我无法发布图像,因此我以乳胶形式编写它):
G(r)= \ int_ {0} ^ {\ infty} dq f(q)* q * sin(qr)/ r
获得可靠的函数G(r)r。 然而,我不知道f(q)的分析形式,而是我有f(q)和q的值集。所以我想做一些数值积分,但之后不接收值,而是G(r)的曲线。
答案 0 :(得分: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}]