0

R を使用してモンテカルロ積分を関数に適用する必要があります。方程式をプロットすることはできますが、その上にランダムな点をプロットする方法がわかりません。

それを行う方法についての洞察をいただければ幸いです。

私がプロットに使用している関数はx、希望の範囲とy方程式を持つ基本的な plot() 関数です。

ありがとうございました。

4

3 に答える 3

7

曲線をプロットする最も良い方法は、次のcurve関数を使用することです。

f = function(x) x^2 + 1   
curve(f(x), -2,2, ylim=c(0, 5))

points次に、関数を介してプロットにポイントを追加できます。

points(runif(100, -2, 2), runif(100, 0, 6))

比較を使用してモンテカルロ推定を計算します。

N = 100000
sum(f(runif(N, -2, 2)) > runif(N, 0, 6))/N * (4*6)

ここに画像の説明を入力

于 2012-11-15T15:59:39.327 に答える
1

私があなたを正しく理解していることを考えると、これが私のバージョンのソリューションです。

基本コード:

    x<-seq(-4,4,0.1)
    y<-2*x^2-3*x
    plot(x,y)
    points(x, rnorm(length(x), 20, 10), col="red")

これにより、赤で色付けされたランダム ポイントが既存の関数に追加されます。

ビジュアル

于 2012-11-15T15:52:22.790 に答える
1

でランダムポイントを生成できます

xx <- runif(100,min=0,max=1)
yy <- runif(100,min=0,max=1)

それらを既存のプロットに追加します

points(xx,yy)

?pointsヘルプ ページについては、 を参照してください。

于 2012-11-15T15:46:18.203 に答える