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 に答える