0

こんにちは、相補誤差関数を使用した関数/式があります。x のさまざまな値の解を見つけたいです。相補誤差関数は次のように記述できます。

erfc(x)=1-erf(x)

私が持っている表現は

erfc(\frac{x-Ut}{\sqrt{4Dt}})

私は式を Latex 構文で書きました。なんと、わかるでしょう。上式の U と D は定数です。ここで、次のコードを使用して x の値を割り当てます。

x <- seq(from=0,by=0.5,length=500)

ここで、関数で上記の式を定義して、x のさまざまな値の値を取得したいと考えています。

私が望むものの簡単な例は、次の例で示されています。

x <- seq(from=0,by=0.5,length=500) 
y <- function(x){
  x^2+2*x+1
}
z = y(x) 
plot(x,z)

上記の例と私が欲しいもので異なるのは、関数の定義です。関数でエラー関数を使用して式を使用するにはどうすればよいですか? エラー関数を処理する特別なパッケージはありますか?

助けてくれてありがとう。

4

2 に答える 2

4

誤差関数は、正規分布の CDF に関して定義できるため、基数 R によって処理されます。次の例を参照してください。

http://stat.ethz.ch/R-manual/R-patched/library/stats/html/Normal.html

次の関数を定義するだけです。

f <- function(x) 2-2*pnorm(sqrt(2)*(x-Ut)/sqrt(4*Dt))

以来erf(y) = 2*pnorm(sqrt(2)*y)-1

そして、それを使用してプロットします

z = y(x) 
plot(x,z)

または、代わりに、

plot(f, from=0, to=250)
于 2013-03-31T00:29:03.177 に答える
2

ここで指摘されているように、のドキュメントにpnorm()は次のように記載されています。

## if you want the so-called 'error function'
erf <- function(x) 2 * pnorm(x * sqrt(2)) - 1
## (see Abramowitz and Stegun 29.2.29)
## and the so-called 'complementary error function'
erfc <- function(x) 2 * pnorm(x * sqrt(2), lower = FALSE)

erf()したがって、これらの定義を関数内で使用できますerfc()

于 2013-03-31T00:31:00.970 に答える